Docker 容器化安装 Mysql 容器
MySQL 配置
创建挂载的目录
vi /mydata/mysql/conf/my.cnf
输入以下配置文件
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
1、下载镜像文件,创建实例并启动
不多废话,直接上代码
docker pull mysql:5.7
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
参数说明
-p 3306:3306
:将容器的 3306 端口映射到主机的 3306 端口-v /mydata/mysql/conf:/etc/mysql/conf.d
:将配置文件夹挂载到主机-v /mydata/mysql/log:/var/log/mysql
:将日志文件夹挂载到主机-v /mydata/mysql/data:/var/lib/mysql
:将数据文件夹挂载到主机-e MYSQL_ROOT_PASSWORD=root
:初始化 root 用户的密码
注意:-v /mydata/mysql/conf:/etc/mysql/conf.d
,这段代码笔者在使用时遇到一些错误,挂载时需要加上conf.d
,如果部署发生错误,尝试去除这段,换用以下部署代码
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
2、进入容器,修改权限
使用容器mysql命令行工具
docker exec -it mysql mysql -uroot -proot
设置 root 远程访问
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
flush privileges;
进入容器内部,查看配置文件是否挂载成功
docker exec -it mysql /bin/bash
cd /etc/mysql/conf.d
cat my.cnf
注意:挂载的配置文件要先创建才可以看到容器内部是否生效,即要先创建/mydata/mysql/confmy.cnf
文件才能观察到内外配置信息。
如果这篇【文章】有帮助到你,希望可以给笔者点个赞👍,创作不易,感兴趣的也可以关注一下笔者,后续也会更新更多的内容,例如状态机和工作流的实践,都会在后续慢慢更新。