0

我有一个问题要问你们堆垛机。我在服务器维护和管理配置方面并不那么出名。我的问题是我不想授予用户对我的 mySQL 数据库的读取权限,该数据库位于由服务器公司托管的远程服务器上。

我正在通过 ssh 连接到我的服务器,然后尝试为 root -> mysql 中的数据库创建一个新用户。

我遇到的问题是,除了作为服务器本身的本地主机之外,我似乎无法从任何其他 ip 连接到数据库。my.cnf 中的 bin 地址指向 localhost。

还有另一种方法可以做到这一点吗?或者更确切地说,你是如何做到这一点的?

我真的很感谢你的回答。

4

1 回答 1

0
  1. 通过 SSH 登录到您的远程服务器

  2. 在编辑器中打开 my.cnf 文件。(在位于 /etc/mysql/my.cnf 的 Ubuntu 上):sudo vi /etc/mysql/my.cnf

  3. 找到该部分bind-address下的设置[mysqld]并将其更改localhost为您服务器的公共 IP 地址。

  4. 保存您的编辑。

  5. 重启 MySQL:sudo service mysql restart

通过以 root 身份登录 mysql 并执行以下命令来授予远程用户访问权限(显然,您需要将 IP 地址、数据库名称和远程用户名替换为正确的值):

mysql -u root -p mysql
mysql> update db set Host='999.999.999.999' where Db='MyDB';
mysql> update user set Host='999.999.999.999' where user='RemoteUsername';
mysql> exit;

更多信息可以在这个页面上找到。

于 2013-10-22T13:29:18.957 回答