docker中安裝的mysql無法遠程連接問題解決


背景
在ubuntu1804的docker中安裝了mysql,版本是5.7.34。因為有復雜的數據要插入到數據庫中,所以從宿主機通過pycharm和DBeaver連接,但是一直報錯:
Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
解決方法分為兩步走

第一步
修改mysql配置文件中的bind_address
vim /etc/mysql/mysql.conf.d/mysqld.cnf

數據庫不能遠程訪問多半是因為綁定了本地地址127.0.0.1.

第二步
開啟用戶的遠程訪問權限。以root用戶為例。如果用戶沒有遠程訪問權限則即使數據庫能遠程訪問但因為用戶權限限制也會失敗。

開啟遠程訪問權限:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password';

強制刷新權限:

flush privileges;

完成這兩步就可以遠程訪問到docker中的數據庫了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM