docker部署mysql并修改配置

1、查看docker仓库中的mysql命令

docker search mysql

2、为选定的需要pull到本地系统中的镜像(本文已mysql5.7为例)

docker pull mysql:5.7

3、启动mysql,并将mysql文件映射到宿主机:

docker run -p 33060:3306 --restart=always --name mysql -v /mdata/mysql/conf:/etc/mysql/conf.d -v /mdata/mysql/logs:/var/log/mysql -v /mdata/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 --lower_case_table_names=1

这里解释一下,/mdata为宿主机路径,根据自身实际情况调整

–lower_case_table_names=1为设置mysql不区分大小写

4、更改mysql容器内的时间问题(如果mysql容器内时间与实际时间一致可忽略本步骤)

docker cp /usr/share/zoneinfo/Asia/Shanghai  mysql:/etc/localtime

拷贝完重启mysql容器

docker restart mysql

5、进入mysql,进入docker容器,修改mysql 访问授权

docker exec -it  mysql bash
mysql -u root -p123456

mysql5.7版本修改访问授权:

grant all privileges on *.* to root@"%" identified by "123456" with grant option;

mysql8版本修改访问授权

alter user 'root'@'%' identified with mysql_native_password by '123456';

完成上面修改之后输入

flush privileges;

修改完成之后输入exit指令退出mysql访问界面和容器

6、修改mysql的group by配置
mysql5.7版本默认拥有sql_mode=only_full_group_by,所以需要进行调整

docker exec -it  mysql bash
vim /etc/mysql/my.cnf

在my.cnf文件的最后加上下面的内容

[mysqld]
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

如果系统提示找不到vim或vi指令,则进行下面的操作之后再修改

apt-get update
apt-get install vim -y
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值