我知道这命令:
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数据库呢?我怎么做呢?基本上,我将这个数据库公开,这样每个人都可以访问它。
当前回答
在像cPanel这样的网站面板中,您可以在允许访问MySQL数据库的主机名中添加一个%(百分比符号)。
通过添加单个%,您可以从任何IP或网站甚至从桌面应用程序访问您的数据库。
其他回答
使用admin用户启动MYSQL mysql -u admin-user -p (PASSWORD ON PROMPT) 创建新用户: 创建用户“newuser”@“%”(% -> anyhost) 授予特权: 对db_name授权SELECT,DELETE,INSERT,UPDATE。*到'newuser'@'%'; 冲洗特权;
如果您正在运行EC2实例,不要忘记在MYSQL/Aurura安全组中添加入站规则。
执行如下命令:
$ mysql -u root -p
mysql> GRANT ALL ON *.* to root@'ipaddress' IDENTIFIED BY 'mysql root password';
mysql> FLUSH PRIVILEGES;
mysql> exit
然后尝试从您指定的IP地址进行连接:
mysql -h address-of-remove-server -u root -p
你应该能够连接。
要能够从任何IP地址连接到您的用户,请执行以下操作:
允许mysql服务器接受远程连接。打开mysqld.conf文件:
sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf
搜索以“bind-address”开头的行,并将其值设置为0.0.0.0
bind-address = 0.0.0.0
最后保存文件。
注意:如果你运行的是MySQL 8+,默认情况下bind-address指令不会出现在mysqld.cnf文件中。在这种情况下,将指令添加到文件/etc/mysql/mysql.conf.d/mysqld.cnf的底部。
现在重新启动mysql服务器,使用systemd或使用旧的service命令。这取决于你的操作系统:
sudo systemctl restart mysql # for ubuntu
sudo systemctl restart mysqld.service # for debian
最后,mysql服务器现在可以接受远程连接了。
现在我们需要创建一个用户并授予它权限,这样我们就可以使用该用户远程登录。
以root用户或其他具有root权限的用户连接MySQL数据库。
mysql -u root -p
现在在localhost和'%'通配符中创建所需的用户,并授予所有DB的权限。
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass';
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';
然后,
GRANT ALL ON *.* TO 'myuser'@'localhost';
GRANT ALL ON *.* TO 'myuser'@'%';
最后,别忘了冲洗特权
FLUSH PRIVILEGES;
注意:如果你在你的数据库服务器上配置了防火墙,你还需要打开端口3306 MySQL的默认端口来允许流量到MySQL。
希望这对你有所帮助;)
编辑文件:
/ etc / mysql / percona-server cnf。
在文件中附加以下代码。
(mysqld) Bind-address = 0.0.0.0
创建远程访问用户。
$ mysql -u root -p
mysql> GRANT ALL ON *.* to snippetbucketdotcom@'%' IDENTIFIED BY 'tejastank';
mysql> FLUSH PRIVILEGES;
mysql> exit
所有linux服务器工作,
对于MSWin c:\查找安装位置\文件路径
在像cPanel这样的网站面板中,您可以在允许访问MySQL数据库的主机名中添加一个%(百分比符号)。
通过添加单个%,您可以从任何IP或网站甚至从桌面应用程序访问您的数据库。