請問如何實現遠程連到 linode 上的 mysql?

事情是這樣的
我在本端localhost有安裝XAMPP,他會安裝mysql和phpmyadmin
我在linode有手動安裝mysql跟phpmyadmin
這兩者是不同的數據庫
但我都是用同一個方式連接

$servername = "localhost";
  $username = "root";
  $password = "xxx";
  $mysqldb = "xxx_db";

所以當我瀏覽linode上的網頁時,他會連接到他自己的mysql
但是當我在localhost瀏覽網頁時,他會連接到xampp的mysql
我現在想做的是:

我想讓localhost連接mysql的時候會連接到linode的mysql而不是xampp的
這樣我該在linode和localhost上做些什麼設置才能實現?

我在linode的mysql增加使用者帳號了
主機名稱就是IP
只是還是不能。。。

mysqli::__construct(): (HY000/2002): Operation timed out in /xxx/xxx/xxx.php on line 17
Error: Operation timed out

補充

clipboard.png

但還是不行。。

阅读 3.3k
3 个回答

不是很清楚linode,但一般虚拟空间是不允许你远程访问数据库的,所以它才给你了phpmyadmin访问的方式。
但他的phpmyadmin是安装在服务器上的,所以,它的localhost就是服务器了。
一般它不会允许你远程访问,而你也不可能是 root 权限,所以,你应该是没办法远程访问数据库的。

如果你有 root 权限,请搜索“mysql远程访问” 可以找到你要的设置。

  1. $servername改成linode的ip地址
  2. linode上mysql的root用户,允许远程访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456'
  1. 检查linode上my.cnf文件,绑定地址不能是127.0.0.1

没用过linode,个人觉得如果配置和mysql用户设置都没问题的话,可能是因为平台限制了端口的原因(类似阿里云的安全组)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题