解決docker修改mysql配置文件的問題

今天在用docker啟動一個5.7的數據庫在建表時候遇到下面問題:

[Err] 1055 – Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column ‘information_schema.PROFILING.SEQ’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

修改一下sql_model即可。

大傢接下來就跟著我看一下這個docker怎麼修改mysql內部的配置。
我先是在百度上隨便收瞭一下docker修改mysql配置,結果真我震驚瞭,都是來回抄一個,還沒給我解決,更過分的是還有的文章隻抄瞭一半!!!所以我準備自己寫一個真正快速解決問題的一篇關於修改dokcer裡面的mysql的文章。

1:首先我在docker上快速啟動瞭一個mysql

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

2:在宿主機上新建一個文件夾(/home/mysql/mysql_conf)用來復制docker內部的配置文件
3:運行:docker cp mysql-docker:/etc/mysql/mysql.conf.d/mysqld.cnf /home/mysql/mysql_conf 把容器內部的配置文件cp到剛才建的文件夾下面。

4:在宿主機修改 mysqld.cnf 文件 加上下面的代碼

sql_mode="STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_ENGINE_SUBSTITUTION"

5:把剛才那個mysql容器刪除兩句命令:

docker stop mysql-docker1  
docker rm mysql-docker1  

6:重新掛在啟動一個新的實例:

docker run -d -p 3306:3306  -v /home/mysql/mysql_conf/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql-docker mysql:5.7

至此解決問題。

到此這篇關於docker修改mysql配置文件的文章就介紹到這瞭,更多相關docker mysql配置文件內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: