本文共 1232 字,大约阅读时间需要 4 分钟。
环境变量设置
设置root用户的密码
端口映射
处理用户远程连接登录异常
create user 'taishi'@'%' identified by 'aransfar@123';
grant all privileges on *.* to 'taishi'@'%' with grant option;
flush privileges;
ALTER USER 'taishi'@'%' IDENTIFIED WITH mysql_native_password BY 'aransfar@123';
set global log_bin_trust_function_creators=1;
处理mysql8在sql查询语句中不区分大小写字符
docker run --name mysql -p 33306:3306 -v /home/admin/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD="Transfar@123" ab2f358b8612 --lower-case-table-names=1
--lower-case-table-names=1 相当于作为entrypoint.sh的命令参数 参数的前面需要加--
所有服务正常连接数据库并启动
数据库传输同步
版本兼容问题1
mysql 8.0之后出的异常,MySQL 5.7.5及以上功能依赖检测功能,而使用的mysql是8.0版本.如果启用了ONLY_FULL_GROUP_BY SQL 模式(默认情况下)MySQL将拒绝选择列表,HAVING 条件或ORDER BY列表的查询引用在GROUP BY子句中既未命名的非集合列
解决方法2
打开mysql配置文件:my.cnf
直接选择打开mysql配置文件,然后在最底部添加
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
重启mysql
创建只有查询权限的用户
mysql -uroot -pTransfar@123
create user 'chaxun'@'%' identified by 'Tranar@123';
grant select on *.* to 'chaxun'@'%' with grant option;
flush privileges;
ALTER USER 'chaxun'@'%' IDENTIFIED WITH mysql_native_password BY 'Trsfar@123';
Rancher搭建mysql主从集群
mysql数据存储
容器中的/var/lib/mysql 必须设置成有状态存储 这样即使容器重启 也不会使原来数据丢失
转载地址:http://azyms.baihongyu.com/