Loading

docker安装mysql 8.0|5.7

安装命令

docker run \
--restart=always \
-p 3306:3306 --name mysql  \
-e MYSQL_ROOT_PASSWORD=123456   \
-v /srv/dev-disk-by-label-4TB01/appdata/mysql/logs:/var/log/mysql   \
-v /srv/dev-disk-by-label-4TB01/appdata/mysql/data:/var/lib/mysql   \
-d mysql 

进入容器查看

docker exec -it mysql bash

报错信息

root@e835e1f3d728:/# mysql -uroot -p
Enter password: 
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

输入密码报错,这是容器里面查找从宿主主机查找mysql服务没有查找到(至于为何从宿主主机查找,可能因为配置了log或data文件夹映射的原因), 重新输入 -h 指定当前容器之后就正常

mysql -h 127.0.0.1 -P 3306 -u root -p

mysql 5.7

docker run -d -p 3306:3306 --name mysql-5.7 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

修改sql_mode(sql_mode):

vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 添加一行(原本的是:ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION)
sql_model=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
posted @ 2021-03-12 00:05  集君  阅读(166)  评论(0编辑  收藏  举报