docker部署启动MySQL

1.首先需要有一个MySQL镜像,这里直接使用docker pull拉取

docker pull mysql:5.7.26

随后查看我们刚刚拉取的MySQL,可以看到已经在镜像群里了

2.获取到MySQL镜像之后,接下来就是启动该镜像

docker run -p 3306:3306 --name myMysql -v /usr/local/work/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.26 --lower_case_table_names=1

参数说明:
①-p 端口映射,前面是主机端口,后面是容器内端口
②–name 给容器起个名字
③-v 目录挂载,前面是主机目录,后面是容器目录,为了防止数据丢失,所以把容器内数据挂在到主机上
④-e 初始化MySQL的root密码
⑤–lower_case_table_names=1 让MySQL的表名不再区分大小写

使用命令查看,可以看到MySQL容器已经启动
在这里插入图片描述
3.查看主机IP地址

ip addr

ens33后面的ip地址就是虚拟机主机的ip地址
在这里插入图片描述
4.尝试连接
可以看到连接成功
在这里插入图片描述
5. 当遇到类似这种问题时

Expression #2 of SELECT list is not in GROUP BY clause and contains 
nonaggregated column ‘sss.month_id’ which is not functionally 
dependent on columns in GROUP BY clause; this is incompatible with 
sql_mode=only_full_group_by

有如下解决方案
在navicat中执行sql语句

SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

把sql_mode中的ONLY_FULL_GROUP_BY给去掉
这样在使用group by语句时就不会报错了,改完之后不要重启容器,因为重启容器后前面的更改就又还原了
可以使用下面sql语句查询是否更改,如果没有ONLY_FULL_GROUP_BY则已经更改成功,可以正常查询了

select @@global.sql_mode
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值