2022年8月28日星期日

Ubuntu下的MySQL开启远程连接

Ubuntu下Mysql远程管理开启方法,为Mysql开启远程访问的配置方法,允许其它机器访问Mysql。有时需要允许其它主机远程访问Mysql数据库,而不仅仅允许本地主机local方式访问。本教程将教你如何开启Mysql数据库远程连接,解决MySQL error 10061错误。

没有开启远程连接会报错提示:2003 - Can't connect to MySQL server on '192.168.1.8'(10061 'Unknown error')

服务器系统:Ubuntu 7.5.0-3ubuntu1~18.04

MySQL版本信息:mysql  Ver 14.14 Distrib 5.7.33, for Linux (x86_64)

解决方法第一步:

方法一 、改表法: 使用root用户登入MySQL数据库,修改 MySQL下的user数据表,将root用户对应记录只保留一条host为localhost的记录;然后将root用户对应的host属性由localhost改为%

具体执行命令如下:(##号后面为注释内容)

$ mysql -uroot -p    ## 输入这条命令后按回车键,接着输入root账户的密码就成功登入MySQL命令行

命令提示符变为:mysql>    ## 这个命令提示符我们可以执行SQL语句

mysql>  use mysql    ## 切换到MySQL系统库mysql

mysql>  update user  set host = '%' where user = 'root';     ## 更改 "mysql" 数据库里的 "user" 表里的 "host"  项,将"localhost"改成"%" 

方法二、授权法:例如: 你想myuser使用mypassword(连接密码)从任何主机连接到mysql服务器的话。在mysql>提示符下执行如下语句:

mysql>  GRANT ALL  PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION; 

mysql>  flush privileges;     ##  更新数据库用户权限 ,让刚刚执行的命令生效。

mysql>  exit     ## 退出MySQL命令行

解决方法第二步:

修改MySQL数据库配置文件中的bind-address配置项,把bind-address=127.0.0.1 修改成 bind-address= 你机器的IP或者直接把这行注释,具体操作如下:

首先找到Mysql数据库配置文件路径,我的ubuntu1~18.04服务器下MySQL默认安装,配置文件路径为:/etc/mysql/mysql.conf.d/mysqld.cnf,用vi命令进行编辑

$ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf    ## 带上sudo 要不没有权限

找到bind-address注释掉这行或者把原来的bind-address=127.0.0.1 修改成 bind-address= 你机器的IP,然后记得保存退出:wq。然后重新下mysql数据库服务就可以远程登录了。命令如下:

$ sudo systemctl restart mysql.service    ## 重启MySQL服务

大功告成!如果到这步还是不能远程连接,就要考虑是防火墙把端口拦截了。也可以在下方留言,附上连接错误提示代码,我可以帮你分析下是什么原因。

留下您的评论