本篇博客主要记录在centos7当中安装mysql,并且安装完成之后使用外部客户端链接。
一、查看docker环境是否正常
在命令行使用docker search mysql
:
如果能查出来证明docker安装的没问题,然后开始下一步
二、下载mysql的镜像
拉取mysql镜像(默认是最新版本)
docker pull mysql
如果需要指定版本号,使用:
docker pull mysql:版本号
docker官网: https://hub.docker.com/
从官网tag当中可以看到mysql的一些版本号
三、查看Mysql镜像是否下载成功
查看所有镜像
docker images
四、创建Mysql容器
docker run --name mysql01 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql
-p 3306:3306:将主机的3306端口和mysql容器的3306端口进行映射,外部可通过主机ip+3306访问到mysql容器。
执行之后,使用docker ps查看正在运行的容器:
进入mysql容器:
$ docker exec -it mysql01 bash
输入账号密码登录mysql:mysql -uroot -proot
#退出mysql
exit
#退出mysql容器
exit
这种情况下,mysql容器是能运行了
五、测试外部链接
在外部使用连接工具如:sqlyog或者Navicat还不能连接成功!!!
在这个过程当中,我的是报了一个1251错误。也是成功解决了。
六、解决客服端链接mysql 报1251
再次进入mysql
1、进入容器:
[root@localhost ~]# docker exec -it mysql01 bash
2、进入mysql:
root@2288abcb04f3:/# mysql -uroot -proot
3、对远程连接进行授权:
mysql> GRANT ALL ON *.* TO 'root'@'%';
4、更改密码的加密规则:
mysql> ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
5、更改root的密码:
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
6、刷新权限:
mysql> flush privileges;
7、使用客户端测试;