我知道这命令:
GRANT ALL PRIVILEGES
ON database.*
TO 'user'@'yourremotehost'
IDENTIFIED BY 'newpassword';
但它只允许我授予一个特定的IP地址来访问远程MySQL数据库。如果我想让任何远程主机都能访问这个MySQL数据库呢?我怎么做呢?基本上,我将这个数据库公开,这样每个人都可以访问它。
我知道这命令:
GRANT ALL PRIVILEGES
ON database.*
TO 'user'@'yourremotehost'
IDENTIFIED BY 'newpassword';
但它只允许我授予一个特定的IP地址来访问远程MySQL数据库。如果我想让任何远程主机都能访问这个MySQL数据库呢?我怎么做呢?基本上,我将这个数据库公开,这样每个人都可以访问它。
当前回答
比如我的CentOS
sudo gedit /etc/mysql/my.cnf
注释掉下面的行
#bind-address = 127.0.0.1
然后
Sudo服务mysqld重启
其他回答
GRANT ALL PRIVILEGES ON *.* TO 'user'@'ipadress'
打开mysql控制台,执行以下命令(输入数据库名、用户名和密码):
GRANT ALL ON yourdatabasename。到管理员@“%” “yourRootPassword”;
然后执行:
冲洗特权;
打开命令行,使用任何具有root权限的编辑器打开/etc/mysql/mysql.conf.d/mysqld.cnf文件。
例如:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
然后注释掉下面这行:
Bind-address = 127.0.0.1
使用命令重新启动mysql以反映更改:
sudo service mysql restart
喜欢。)
在像cPanel这样的网站面板中,您可以在允许访问MySQL数据库的主机名中添加一个%(百分比符号)。
通过添加单个%,您可以从任何IP或网站甚至从桌面应用程序访问您的数据库。
只要创建一个用户到某个数据库
授予<database_name>的所有权限。* TO '<用户名>'@'%' IDENTIFIED BY '<密码>'
然后转到
执行nano /etc/mysql/mysql.conf.d/mysqld.cnf,将bind-address = 127.0.0.1修改为bind-address = 0.0.0.0
之后,您可以从任何IP连接到该数据库。
比如我的CentOS
sudo gedit /etc/mysql/my.cnf
注释掉下面的行
#bind-address = 127.0.0.1
然后
Sudo服务mysqld重启