1、创建对应目录(用来挂载)
mkdir -p /opt/mysql/{data,logs,conf}
chmod 777 /opt/mysql/logs -R
2、创建配置文件
vim /opt/mysql/conf/mysql.cnf
# 添加一下数据
[client]
# 默认字符集
#default-character-set=utf8
socket= /var/run/mysqld/mysqld.sock
[mysqld]
#
server-id=01
port=3306
## 开启二进制日志功能
log-bin=mysql-slave-bin
## relay_log配置中继日志
relay_log=edu-mysql-relay-bin
# 忽略大小写
lower_case_table_names=1
pid-file= /var/run/mysqld/mysqld.pid
socket= /var/run/mysqld/mysqld.sock
#socket= /storage/db/mysql/mysql.sock
# 数据库数据存放目录
datadir= /var/lib/mysql
secure-file-priv= NULL
# Disabling symbolic-links is recommended to prevent assorted security risks
skip-symbolic-links=0
# 最大链接数
max_connections=200
# 最大失败次数
max_connect_errors=10
# 默认时区
default-time_zone='+8:00'
character-set-client-handshake=FALSE
character_set_server=utf8mb4
# default-character-set=utf8
collation-server=utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci'
# 默认使用‘mysql_native_password’插件认证
default_authentication_plugin= mysql_native_password
# Custom config should go here
!includedir /etc/mysql/conf.d/
3、自行开放防火墙端口,用云服务器需要去安全组开放3306端口 运行容器,docker会自动拉取 znhwxt 数据库连接密码,自行修改
docker run -d --name="mysql" -p3306:3306 -v /opt/mysql/conf/:/etc/mysql/conf.d -v /opt/mysql/data:/var/lib/mysql -v /opt/mysql/logs:/var/log -e MYSQL_ROOT_PASSWORD="znhwxt" mysql:5.7
aarch64架构使用下面命令
docker run -d --name="mysql" -p3306:3306 -v /home/pi/mysql/conf/:/etc/mysql/conf.d -v /home/pi/mysql/data:/var/lib/mysql -v /home/pi/mysql/logs:/var/log -e MYSQL_ROOT_PASSWORD="znhwxt" ibex/debian-mysql-server-5.7
4、进入容器内部修改root登录权限
docker exec -it mysql bash
mysql -u root -uroot -p'znhwxt'
mysql> grant all privileges on *.* to 'root'@'%' identified by 'znhwxt';
mysql> flush privileges;
mysql> set password for root@localhost='12324'; 可以修改数据库密码
mysql> grant all privileges on . to 'root'@'%' identified by 'znhwxt' 授权远程链接 并且设置密码
可以使用数据库工具远程连接试试
云服务器需要填写公网ip
转载于 docker部署mysql 5.7(开发环境)_docker 部署mysql5.7_运维开发那些事的博客-CSDN博客