MENU

mysql去除外网权限访问限制

November 9, 2018 • Read: 3535 • mysql问题

1:设置mysql的配置文件

 /etc/mysql/my.cnf
 找到 bind-address  =127.0.0.1  将其注释掉;//作用是使得不再只允许本地访问;

  重启mysql:/etc/init.d/mysql restart;

2:登录mysql数据库:

mysql -u root -p
  mysql> use mysql;

 
  查询host值:
mysql> select user,host from user;

如果没有"%"这个host值,就执行下面这两句:

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

或者也可以执行:

mysql>grand all privileges on  *.*  to root@'%'  identifies  by ' xxxx';

其中 第一个表示数据库名;第二个表示该数据库的表名;如果像上面那样 .的话表示所有到数据库下到所有表都允许访问;
‘%':表示允许访问到mysql的ip地址;当然你也可以配置为具体到ip名称;%表示所有ip均可以访问;
后面到‘xxxx'为root 用户的password;

举例:

任意主机以用户root和密码mypwd连接到mysql服务器

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypwd' WITH GRANT OPTION;
mysql> flush privileges;

IP为192.168.1.102的主机以用户myuser和密码mypwd连接到mysql服务器

mysql> GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.102' IDENTIFIED BY 'mypwd' WITH GRANT OPTION; 
mysql> flush privileges;

或者直接执行,新建用户root为任意可登陆

CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password AS '***'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' REQUIRE NONE WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;

兼总条贯 知至知终

无标签
最后编辑于: March 30, 2019