MySQL容许远程访问的设置sql
1.注释bind-address = 127.0.0.1。数据库
代码以下:
>sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
将bind-address = 127.0.0.1注释掉(即在行首加#),以下:ubuntu
代码以下:
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
# bind-address = 127.0.0.1
除了注视掉这句话以外,还能够把后面的IP地址修改为容许链接的IP地址。可是,若是只是开发用的数据库,为了方便起见,仍是推荐直接注释掉。vim
从上面的注释中,能够看出,旧版本的MySQL(从一些资料上显示是5.0及其之前的版本)上使用的是skip-networking。因此,善意提醒一下,使用旧版本的小伙伴请注意一下。less
2.删除匿名用户socket
登陆进数据库:
ide
代码以下:
>mysql -uroot -p123456
而后,切换到数据库mysql。SQL以下:
代码以下:
use mysql;
而后,删除匿名用户。SQL以下:
代码以下:
delete from user where user='';
3.增长容许远程访问的用户或者容许现有用户的远程访问。spa
接着上面,删除匿名用户后,给root授予在任意主机(%)访问任意数据库的全部权限。SQL语句以下:
rest
代码以下:
mysql> grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
若是须要指定访问主机,能够把%替换为主机的IP或者主机名。另外,这种方法会在数据库mysql的表user中,增长一条记录。若是不想增长记录,只是想把某个已存在的用户(例如root)修改为容许远程主机访问,则可使用以下SQL来完成:
代码以下:
update user set host='%' where user='root' and host='localhost';
4.退出数据库
代码以下:
mysql> exit
在MySQL Shell执行完SQL后,须要退出到Bash执行系统命令,须要执行exit。由于这个太经常使用也太简单。如下内容就提示“退出”,再也不重复列出这个命令。
5.重启数据库
完成上述全部步骤后,须要重启一下数据库,才能让修改的配置生效。执行以下命令重启数据库:
代码以下:
>sudo service mysql restart