背景:
在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中的数据库了
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/194220.html