docker技术与近几年发展火热,以下介绍怎么使用docker运行mysql 8.0 版本及进行远程连接。对于docker,读者需要了解container,images 概念
环境准备
Centos7 -IP 192.168.1.100
Mobaxterm -linux终端工具。
1.docker安装及配置
1.1 安装docker
##下载rpm包(二进制安装)
wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-18.06.3.ce-3.el7.x86_64.rpm
下载版本18.06.03的rpm包
yum install -y docker-ce-18.06.3.ce-3.el7.x86_64.rpm
sudo systemctl enable docker ##设置开机自启动
sudo systemctl start docker ##启动docker
sudo groupadd docker #当前用户添加到docker用户组
sudo usermod -aG docker $USER
#这个操作为了用户不需要root权限也可以使docker
docker -v #检查docker安装情况
![b697143469726fdc2ec8c6928e209487.png](https://i-blog.csdnimg.cn/blog_migrate/f6acc39b7b4640ed8df8f2f08aa9f5f6.jpeg)
查看docker安装版本
1.2docker配置国内镜像加速器
这个操作是为了docker 拉取镜像的速度更快
vim /etc/docker/daemon.json #编辑文本
添加以下信息
{
"registry-mirrors":
["https://ozcouv1b.mirror.aliyuncs.com"]
}
#这个加速器参考网站在阿里云-容器镜像服务-容器加速,各位看官可以直接进行复制使用。
# 重载所有修改过的配置搵件
sudo systemctl daemon-reload
# 重启Docker服务
sudo systemctl restart docker
2.创建mysql容器
2.1先拉区mysql 8.0 镜像
docker pull mysql:8.0docker images |grep mysql
2.2创建容器,容器名字为mysql-3306
docker run -d -p 3306:3306 --name mysql-3306 -v /docker/conf:/etc/mysql/conf.d -v /docker/logs:/logs -v /docker/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=yuan33306 mysql:8.0
解释 -e 设定mysql密码为yuan33306
--name 容器名字
-v 进行数据卷映射,使数据持久化
-d 后台运行容器
-p 端口映射。前面是linux的端口3306->mysql 默认端口3306
输入 docker ps 查看容器
![bb0d30272bda2897b39791decac176ec.png](https://i-blog.csdnimg.cn/blog_migrate/e624cfbbb24368a9d182dee828197a18.jpeg)
2.3进入容器 并登录数据库
docker exec -it mysql-3306 bash
mysql -uroot -pyuan33306
![a9f57a9c54c9b6fae06cd56f12741bf4.png](https://i-blog.csdnimg.cn/blog_migrate/b728fa16ce294b131d999a206021b40c.jpeg)
在容器内登录mysql
GRANT ALL ON *.* TO 'root'@'%';flush privileges; #添加授权
use mysql;select user,plugin from user where user='root'; #查看用户加密方式
#修改远程客户端连接数据库的密码
alter user 'root'@'%' identified with mysql_native_password by 'yuan2019';
注意:mysql_native_password是mysql5的加密方式,8是caching_sha2_password认证方式flush privileges;这样是改远程连接的密码yuan2019 ,容器内部登录还是yuan33306
#修改容器内登录密码
ALTER USER "root"@"localhost" IDENTIFIED BY "yuan2019";
语法:ALTER USER "root"@"localhost" IDENTIFIED BY "你的新密码";
3.利用navicat进行测试
打开navicat-编辑mysql连接,输入以下信息。
点击测试连接,可以看到连接成功
![59773c09910e55cdec4d03a5cdc56ca8.png](https://i-blog.csdnimg.cn/blog_migrate/d05fc0897082052c9589e96533aa50c8.jpeg)
教程至此结束,我是元元,现在从事于系统运维工作,编写文档只是兴趣爱好,如有做的不好和介绍的不详细之处,欢迎各位看官指出~
![70b607a139994c94ac24457776eacf89.png](https://i-blog.csdnimg.cn/blog_migrate/911ed33ed2cecf6804aa6f6f92ecf1b4.jpeg)