如何允许主机 X 远程连接到 MySQL 并获得完全访问权限?
答案1
我经常需要从远程位置访问 mysql,这就是我所做的[警告:它不是最聪明或最安全的方式,但可以帮我完成工作... ;-)]。
我登录到数据库服务器上的 mysql 提示符并执行如下命令:
授予“username”@“%”对*.*的所有权限,标识为“userpassword”;
这授予所有特权至 mysql 用户'用户名'从任何位置(以 '%' 表示)使用密码'用户密码'
上行中的 *.* 表示访问所有数据库和所有表。
您可以指定数据库名称。* 如果你想限制访问数据库名称。
您还可以将 *.* 替换为数据库名称.表名称如果您想限制表级别的访问。
答案2
在您的 MySQL 配置 /etc/mysql/my.cnf 或类似文件中,您很可能有以下一两个设置:跳过网络和绑定地址. 如果你有跳过网络你显然想删除它。
关于绑定地址可能设置为仅绑定/监听 127.0.0.1(又名:localhost)。一个解决方案是完全删除该选项,恢复默认监听每个接口。另一个解决方案是明确设置您希望 mysqld 监听的网络接口的 ip 地址。
另外,请记住,创建 MySQL 用户时,必须明确说明从允许它们连接。以下是几个示例。
'andreas'@'localhost'
'olsson'@'192.168.1.42'
'andol'@'%'