01
2018
12

开启Mysql远程访问的方法

Mysql默认是不可以通过远程机器访问的,通过下面的配置可以开启远程访问.
其实就是两个办法,最终都是为了修改 user 表中 root 对应的 host 字段为 %

方法一

update user set host='%' where user='root';
flush privileges;

这种方法不用理会root的密码,经过实际测试,有些情况下执行这条语句会报下面的错误:

ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'

改成这样的就可以执行了:

update user set host='%' where user='root' and host='localhost';

也就是把localhost改成了所有主机<!--more-->

方法二

grant all on *.* to root@'%' identified by '123456';

. 指定给了所有数据库了。

方法三

修改/etc/mysql/my.conf,修改bind-address,指定为本机实际IP地址,你的my.con修改完大概是如下的样子:

[mysqld]
#
# * Basic Settings
#
default-character-set=utf8
default-storage-engine=INNODBuser            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
language        = /usr/share/mysql/english
skip-external-lockinggrant all on qiquanjidb.* to qiquanji@'%' identified by '123456';
grant all on qiquanjidb.* to qiquanji@localhost identified by '123456';

bind-address    = 192.168.1.107

qiquanjidb替换为你想访问的数据库名,qiquanji是你的想使用的用户名,123456替换为你的密码,这样就开启了远程访问功能.

方法四
用root登陆mysql执行如下命令:

grant all on qiquanjidb.* to qiquanji@'%' identified by '123456';
grant all on qiquanjidb.* to qiquanji@localhost identified by '123456';

qiquanjidb替换为你想访问的数据库名,qiquanji是你的想使用的用户名,123456替换为你的密码,这样就开启了远程访问功能.

原文链接:https://www.qiquanji.com/post/5288.html

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

微信扫码关注

更新实时通知

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。