我需要为运行 debian oldstable 的 mysql 服务器上的特定用户启用远程访问。
请记住,我不是 SQL 专家,也不是真正的系统管理员。
登录 phpmyadmin 并查看权限页面,我注意到两件奇怪的事情:
- 一个“任何”用户,拥有主机
%
、无密码和全局USAGE
权限。不知道这是什么意思或暗示什么。如果我“编辑”该用户,我会看到它在名为 的表上拥有很多权限test
,在 上test\_%
,不管这意味着什么 - 请注意,我的数据库中没有这样的表,至少它们没有出现在 phpmyadmin 列表中。 - root 都有一行用于“localhost”主机,还有一行用于“127.0.0.1”主机。
第 2 点很好,只是有点奇怪,对我来说似乎有点多余和无意义。第 1 点让我担心,我该怎么办?
答案1
回答你的问题。
在安装过程中,mysql 使用“Any”用户和“test”数据库来检查数据库是否安装正确。安装完成后,您可以安全地删除它们。
我不确定根用户“localhost”和“127.0.0.1”中的冗余。Mysql 可能只是为了安全才这么做的。
要允许远程访问,您需要编辑文件 /etc/mysql/my.cnf 以使 mysql 绑定到外部接口。默认情况下,出于安全原因,mysql 将仅接受来自本地主机的连接。请按照给出的说明进行操作这里。
之后,创建一个新用户并为其指定用户的 ip 或所有 ip 的“%”,然后重新启动 mysql。远程用户现在应该能够连接到 mysql 实例。