Mysql 哪种方式是授予远程数据库服务器读访问权限的最佳方式?

Mysql 哪种方式是授予远程数据库服务器读访问权限的最佳方式?,mysql,database,ssh,Mysql,Database,Ssh,我有个问题要问你,斯塔克。我在服务器维护和管理配置方面不是很有名。我的问题是,我不想授予用户对服务器公司托管的远程服务器上的mySQL数据库的读取权限 我通过ssh连接到我的服务器,然后尝试在root->mysql中为数据库创建一个新用户 我遇到的问题是,除了作为服务器本身的本地主机之外,我似乎无法从任何其他ip连接到数据库。my.cnf中的bin地址指向localhost 还有别的办法吗?或者更确切地说,你是如何做到这一点的 我真的很感激你的回答 通过SSH登录到远程服务器 在编辑器中打开my

我有个问题要问你,斯塔克。我在服务器维护和管理配置方面不是很有名。我的问题是,我不想授予用户对服务器公司托管的远程服务器上的mySQL数据库的读取权限

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

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

还有别的办法吗?或者更确切地说,你是如何做到这一点的

我真的很感激你的回答

  • 通过SSH登录到远程服务器

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

  • [mysqld]
    部分下找到
    绑定地址设置,然后
    将其从
    localhost
    更改为您的主机的公共IP地址 服务器

  • 保存您的编辑

  • 重启MySQL:
    sudo服务MySQL重启

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


    可以找到更多信息。

    有许多软件,如workbench或sqlyog,您可以通过它们连接到db。
    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;