Docker安装MySQL并使用Navicat连接
MySQL简单介绍:
MySQL 是一个开放源码的关系数据库管理系统,开发者为瑞典 MySQL AB 公司。目前 MySQL 被广泛地应用在 Internet 上的大中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了 MySQL 作为网站数据库。
查看可用的MySQL版本:
访问DokcerHub中的MySQL镜像库地址:https://hub.docker.com/_/mysql/tags
可以通过 Sort by 查看其他版本的MySQL,查看最新版本MySQL镜像(mysql:latest
):https://hub.docker.com/_/mysql/tags?page=1&name=latest
此外,我们还可以用
docker search mysql
命令来查看可用版本:
拉取最新版本的MySQL镜像:
docker pull mysql:latest
注意:tag是可选的,tag表示标签,多为软件的版本,默认是latest版本(最新版)
验证MySQL镜像是否成功拉取到本地:
使用以下命令来查看mysql镜像是否成功拉取到本地:
docker images
创建并运行一个MySQL容器:
docker run --name=mysql-test -itd -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root123456 -d mysql
参数说明:
- --name:指定了容器的名称,方便之后进入容器的命令行。
- -itd:其中,i是交互式操作,t是一个终端,d指的是在后台运行。
- -p:指在本地生成一个随机端口,用来映射mysql的3306端口。
- -e:设置环境变量。
- MYSQL_ROOT_PASSWORD=root123456:指定了MySQL的root密码
- -d mysql:指运行mysql镜像,设置容器在在后台一直运行。
验证MySQL容器是否创建并运行成功:
docker ps
1、进入MySQL容器:
docker exec -it mysql-test /bin/bash
2、进入MySQL:
mysql -uroot -p
Enter password:root123456
MySQL开启远程访问权限:
1、切换数据库
注意:默认应该就是这个,不切换也行,保险起见还是切换一下
use mysql;
2、给root用户分配远程访问权限
GRANT ALL PRIVILEGES ON *.* TO root@'%' WITH GRANT OPTION;
参数说明:
- GRANT:赋权命令
- ALL PRIVILEGES:当前用户的所有权限
- ON:介词
- *.*:当前用户对所有数据库和表的相应操作权限
- TO:介词
- ‘root’@’%’:权限赋给root用户,所有ip都能连接
- WITH GRANT OPTION:允许级联赋权
3、强制刷新权限
FLUSH PRIVILEGES;
服务器配置3306的开放端口:
Navicat 连接 MySQL8 报错:2059 - Authentication plugin ‘caching_sha2_password’ cannot be loaded:xxxx;
错误问题原因:
这是因为MySQL8之前密码加密规则为mysql_native_password,而 MySQL8 之后的加密规则为caching_sha2_password,也就是说,如果要用Navicat连接MySQL,其实只需要将密码规则改回 mysql_native_password 即可;
解决方法:
1.进入MySQL数据库
docker exec -it mysql-test /bin/bash
mysql -uroot -p
Enter password:root123456
2.选择数据库
use mysql;
3.更改密码加密方式
IDENTIFIED BY ‘root123456’:连接时输入密码,密码为root123456
ALTER USER 'root'@'%' IDENTIFIED BY 'root123456' PASSWORD EXPIRE NEVER;
4.更新用户密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root123456';
5.刷新权限
FLUSH PRIVILEGES;
Navicat连接MySQL测试:
Docker安装MySQL并使用Navicat连接的更多相关文章
- ubuntu安装mysql并使用Navicat连接
今天配置了一下自己的服务器,发现网上很多教程都有点老,而且不是很全.干脆就写一篇Ubuntu安装mysql,并用Navicat连接的全流程 一.安装mysql 1. sudo apt-get inst ...
- linux安装mysql以及使用navicat连接mysql
一.下载mysql 1.获取下载链接 进入官网:https://www.mysql.com 点击downloads --> MySQL Community (GPL) Downloads -- ...
- Docker 安装 MySQL 并实现远程连接
获取 MySQL 镜像 docker pull mysql:5.6 查看镜像列表 docker images 启动 MySQL 镜像 docker run -itd -P mysql:5.6 bash ...
- Docker安装MongoDB并使用Navicat连接
MongoDB简介: MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案.是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库 ...
- [转]Docker学习之四:使用docker安装mysql
本文转自:https://blog.csdn.net/qq_19348391/article/details/82998391 Docker学习之一:注册Docker Hub账号 Docker学习之二 ...
- docker 安装mysql mongo
Docker安装Mysql 1.拉取镜像 docker pull mysql/mysql-server 2.运行mysql docker run -d -p : --name [Name] [Imag ...
- 使用Docker安装Mysql
最近使用阿里云服务器,学习一下Docker,今天学着使用Docker安装MySQL. 首先,从阿里云的Docker Hub 上pull一个MySQL的image. [centos@loovelj~]$ ...
- Docker学习实践 - Docker安装MySql数据库
Docker安装MySQL数据库 1.Ubuntu安装MySQL安装 (1)安装编译源码需要的包 sudo apt-get install make cmake gcc g++ bison libnc ...
- 解决Docker安装MySQL不区分大小写问题
Docker安装MySQL忽略大小写问题的问题连接MySQL: 查看当前mysql的大小写敏感配置 show global variables like '%lower_case%'; +------ ...
随机推荐
- nginx配置的server_name无法访问
问题: 我的nginx.conf配置文件中的server_name是这样子的,然后无法访问. 但是如果说server_name后面改成服务器的IP地址却是可以访问的. 解决方案: 在本机上(不是服务器 ...
- Kafka 延时队列&重试队列
一.延时队列 1. 简介 TimingWheel是kafka时间轮的实现,内部包含了⼀个TimerTaskList数组,每个数组包含了⼀些链表组成的TimerTaskEntry事件,每个TimerTa ...
- 干货 |《2022B2B新增长系列之企服行业橙皮书》重磅发布
企服行业面临的宏观环境和微观环境已然发生了明显的变化.一方面,消费级互联网成为过去式,爆发式增长的时代结束.资本.媒体的目光已经悄然聚焦到以企服行业所代表的产品互联网身上,B2B企业正稳步走向C位. ...
- 综合案例_文件搜索和FileFilter过滤器的原理和使用
文件搜索 需求 : 遍历D:\aaa文件夹,及 aaa 文件夹的子文件夹并且只要.java结尾的文件 分析: 1.目录搜索,无法判断多少级目录,所以使用递归,遍历所有目录 2.遍历目录时,获取的子文件 ...
- 攻防世界 miscmisc
63.miscmisc(感觉这题挺有意思的,单独拿出来记录一下) 得到一张png,扔进kali中,foremost得到两个zip,打开其中一个,发现一张jpg和一个加密的zip,在jpg中分离出一个z ...
- Python词频分析
Python词频分析 一.前言 在日常工作或者生活中,有时候会遇到词频分析的场景.如果是要进行词频分析,那么首先需要对句子进行分词,将句子中的单词进行切割并按照词性进行归类. 在Python中有个第三 ...
- MPI简谈
MPI简谈 MPI是分布式内存系统,区别于OpenMP和Pthreads的共享内存系统.MPI是一种基于消息传递的并行编程技术,是如今最为广泛的并行程序开发方法. MPI前世今生 MPI(Messag ...
- Yii项目知识搜集
[['rId','advertiser_id','image_file'], 'unique','targetAttribute'=>['rId','advertiser_id','image_ ...
- Mpvue1.0+Python3.7+Django2.0.4实现微信小程序的支付功能
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_112 其实微信支付有很多种形式,刷脸,扫码,APP支付,小程序支付等,这边只说明小程序支付的实现,不过原理上都大同小异. 首先,需 ...
- 万答17,AWS RDS怎么搭建本地同步库
欢迎来到 GreatSQL社区分享的MySQL技术文章,如有疑问或想学习的内容,可以在下方评论区留言,看到后会进行解答 背景说明 AWS RDS 权限受限,使用 mysqldump 的时候无法添加 - ...