MySQL5.7 容器化安装

本文是一个简单的使用Docker启动MySQL 5.7的步骤。

 

1、创建目录

目录的创建位置随意,一个位置放配置文件,一个位置放数据文件,命令:

mkdir -p /mysql/conf
mkdir -p /mysql/data

数据目录必须为空,mysql初始化时会写入写文件,重新安装时尤其注意清空数据目录

 

2、创建配置文件

这里主要是想修改启动端口为3308,并且后续可以在配置文件中增加一些定制化配置

vi /mysql/conf/my.cnf

写入内容如下:
[mysql]
default-character-set=utf8
[mysqld]
port = 3308 
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB

 

3、指定密码,启动容器

如果本地没有镜像会下载一段时间,命令如下:

docker run --network=host --name=mysql57-3308 -v /mysql/conf/my.cnf:/etc/my.cnf -v /mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql/mysql-server:5.7 --user=root

这里使用host网络模式,容器会和宿主机复用网络环境,也可以使用-p 3308:3308取代--network=host;

这里通过MYSQL_ROOT_PASSWORD这个环境变量设置的初始密码;

另外mysql5.7不建议使用root用户,而我必须使用root用户,所以在最后增加了参数:--user=root

 

4、进入容器连接mysql服务器修改连接限制

默认情况下root用户只能在本地连接,所以需要进入容器连接mysql服务,命令:

docker exec -it mysql57-3308 mysql -uroot -P 3308 --host localhost -p

#然后输入密码

use mysql; #如果想修改密码 UPDATE user SET authentication_string
= PASSWORD('newpassword') WHERE user = 'root'; #取消只能从本地连接mysql服务的限制 UPDATE user SET host = '%' WHERE user = 'root';

#退出
exit;

 

5、重启容器使修改生效

docker restart mysql57-3308

 

(完毕)

posted @ 2020-02-24 17:26  剑握在手  阅读(560)  评论(0编辑  收藏  举报
返回顶部↑