docker 安装mysql5.7
1.拉官方5.7的镜像
docker pull mysql:5.7
2.在本地创建mysql映射文件夹
mkdir -p /server/mysql/data /server/mysql/logs /server/mysql/conf
3.在/server/mysql/conf中创建.cnf文件
touch my.cnf
3.5 my.cnf的内容如下
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld] #取消 group 严格模式 sql-mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION character-set-server=utf8mb4
4.创建容器
docker run --restart always -p 3307:3306 --name mysql -v /server/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /server/mysql/logs:/logs -v /server/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
注意以上创建容器的命令 对外暴露端口我设置为3307了 ,一般为3306。初始密码为123456
-d: 后台运行容器
-p 将容器的端口映射到本机的端口
-v 将主机目录挂载到容器的目录
-e 设置参数
5.使用docker ps -a 查看是否存在启动起来的名称为mysql的docker容器
同时 查看/root/mysql/data目录是否有数据文件
6.修改mysql的root用户密码
docker exec -it mysql /bin/bash
mysql -uroot -p
输入密码:123456
SET PASSWORD = PASSWORD('root'); //注意 root为修改后的新密码
7.开启远程访问
grant all privileges on *.* to 'root' @'%' identified by 'root'; //注意 第一个root为root账户 第二个root为修改后的新密码
flush privileges;
8.重启容器
exit退出到初始位置 重启这个mysql的docker容器 docker restart .....
9.检测是否可以使用,使用工具连接,且检验编码
show VARIABLES like 'char%';
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。