最代碼廣告位
最代碼人間蒸發的gravatar頭像
最代碼人間蒸發2019-10-12 12:48:59
docker入門——docker安裝mysq5.7數據庫連接不上或者數據庫一些sql語句不能使用。

上一篇講了,docker是一個怎么使用,而且筱進GG給大家也講明了docker一些更細節的東西,已經安裝等等內容。

那么在玩docker的時候不免會出現一些問題,其實也不是docker的錯,而是mysql本身的問題,導致docker安裝完成mysql會出現問題。

首先,docker安裝mysql。

docker search mysql //查看mysql已有鏡像,然后它會給大家展示一大堆,這里我就不給大家截圖了
docker pull mysql:5.7 //安裝mysql5.7

下載完成后,啟動容器

docker run -it --rm --name mysql5.7 -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:5.7 --lower_case_table_names=1  //docker安裝mysql忽略大小寫

記得關閉防火墻,或者開發3306端口。

啟動完成后,使用Navicat訪問這個數據庫,我出現了倆種不同的報錯情況,

1.連接不上。

docker入門——docker安裝mysq5.7數據庫連接不上或者數據庫一些sql語句不能使用。

2.連接成功,出現如下報錯。

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 
//這種錯誤,我百度得到的解釋是MySQL 5.7.5及以上功能依賴檢測功能。如果啟用了ONLY_FULL_GROUP_BY SQL模式(默認情況下),MySQL將拒絕選擇列表,HAVING條件或ORDER BY列表的查詢引用在GROUP BY子句中既未命名的非集合列,也不在功能上依賴于它們。(5.7.5之前,MySQL沒有檢測到功能依賴關系,默認情況下不啟用ONLY_FULL_GROUP_BY。有關5.7.5之前的行為的說明,請參見“MySQL 5.6參考手冊”。)

第二種錯誤大部分要求你修改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

我試了但是并沒有生效。

經過嘗試,倆種不同的報錯可以一起解決。

docker ps //查看正在運行的容器

docker入門——docker安裝mysq5.7數據庫連接不上或者數據庫一些sql語句不能使用。如上圖所示,

我們進入到容器中

docker exec -it 4730106799e3 bash  //注意使用容器id,而不是容器名稱,網上很多都是容器名稱,我這里使用容器名稱是不成功的。
mysql -uroot -p123456 //登錄mysql
mysql> ALTER user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';  
Query OK, 0 rows affected (0.01 sec)  
mysql>   
mysql> FLUSH PRIVILEGES;  
Query OK, 0 rows affected (0.01 sec)  
 
//運行如上內容,調整權限

mysql> quit //退出mysql
[email protected]:/# exit //退出容器
docker restart 4730106799e3 //重新啟動容器。

就OK了!

 

至此,我的出現的問題解決。

各位拜拜,有問題隨時與我交流!

 


打賞

已有1人打賞

最代碼官方的gravatar頭像

分享到:

最近瀏覽
uilpassword LV111月26日
星星
晴梔Jason LV111月21日
星星
1225086246 LV311月4日
星星星星星星
zccmp20 LV2210月31日
太陽月亮星星星星
limbooozz LV110月30日
星星
香酥雞腿 LV210月30日
星星星星
kinggode LV1310月30日
月亮月亮月亮星星
caiwenxiu LV410月29日
月亮
admin123456686 LV910月29日
月亮月亮星星
guojun LV1010月29日
月亮月亮星星星星
最代碼廣告位
頂部客服微信二維碼底部
>掃描二維碼關注最代碼為好友掃描二維碼關注最代碼為好友
福彩3d组选020前后关系