在默认情况下,本机的MySQL数据库只能被在本机上运行的应用程序访问,无法被远程应用程序或者其它计算机访问。但是,有时候我们需要将数据库开放给外部访问,这时就需要开启本机MySQL被外部访问权限。
首先,需要修改MySQL服务器的配置文件my.cnf,在文件中找到bind-address选项,并将其注释掉或者将其改为0.0.0.0,如下图所示:
#bind-address = 127.0.0.1
bind-address = 0.0.0.0
修改完成后,需要重启MySQL服务器,使其生效。可以使用以下命令重启MySQL服务器:
sudo systemctl restart mysql
除了修改配置文件,还需要为MySQL用户指定远程登录权限。可以使用以下命令进入MySQL数据库管理界面:
mysql -u root -p
输入管理员密码后,进入MySQL命令行界面,使用以下命令添加远程登录权限:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
'root'@'%'表示任何IP地址都可以通过root用户进行远程登录,'password'为管理员密码,可以自行修改。修改完成后,需要使用以下命令使修改生效:
FLUSH PRIVILEGES;
至此,本机MySQL就已经开启了被外部访问的权限。