Docker安装MySQL

安装MySQL镜像

1
2
3
4
# sudo 以超级管理员权限运行命令
# docker pull 镜像名:镜像版本
# docker pull 镜像名 即不加:版本号为默认安装最新版本镜像
$ sudo docker pull mysql:5.7

查询已安装的镜像

使用命令 sudo docker images 查询已安装的镜像

创建实例并启动

运行命令实现挂载

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$ 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
####################################
# 若未成功可能为权限问题导致,运行 su root 提升至管理员权限
# 参数说明
# -p 3306:3306: 将容器的3306端口映射到主机的3306端口
# -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 初始化root用户的密码
# -d mysql:5.7 以后台方式运行
###################################

安装后使用命令 docker ps 查询正在运行的服务

修改MySQL配置

将拉丁编码修改为utf8编码

在cmd中输入命令 vi /mydata/mysql/conf/my.cnf

my.cnf 中添加

1
2
3
4
5
6
7
8
9
10
11
12
13
[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

运行命令docker restart mysql 重启mysql服务

设置Docker中MySQL开机自启动

管理员权限运行命令

1
docker update mysql --restart=always
文章作者: 闲花手札
文章链接: https://www.islu.cn/posts/40075.html
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 闲花手札 | Lu's Blog
  • wechat
  • alipay

评论