我知道这命令:
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数据库呢?我怎么做呢?基本上,我将这个数据库公开,这样每个人都可以访问它。
当前回答
只要创建一个用户到某个数据库
授予<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连接到该数据库。
其他回答
如果您希望从任何IP地址授予数据库的远程访问权限,请运行mysql命令,然后运行以下命令。
GRANT ALL PRIVILEGES ON *.*
TO 'root'@'%'
IDENTIFIED BY 'password'
WITH GRANT OPTION;
使用admin用户启动MYSQL mysql -u admin-user -p (PASSWORD ON PROMPT) 创建新用户: 创建用户“newuser”@“%”(% -> anyhost) 授予特权: 对db_name授权SELECT,DELETE,INSERT,UPDATE。*到'newuser'@'%'; 冲洗特权;
如果您正在运行EC2实例,不要忘记在MYSQL/Aurura安全组中添加入站规则。
您可以通过编辑/etc/my.cnf来禁用所有安全:
skip-grant-tables
编辑文件:
/ 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:\查找安装位置\文件路径
GRANT ALL PRIVILEGES ON *.* TO 'user'@'ipadress'