这是换着花样的折腾自己。
刚开始时在 Windows 上装个 PHPnow 玩 WordPress 等 PHP 程序就很满足了,后来呢,搞虚拟主机装 Linux 系统,把折腾转到虚拟主机上,现在依然是虚拟主机装 Linux 系统,然后在 Windows 里“远程”访问虚拟主机来折腾 WordPress,偶尔还想着搞个老机器独立装 Linux 系统连局域网,真正实现远程,也不知道这样折腾的意义何在,可能是为了满足自己假装有 VPS 的样子吧。
以前一直用 PhpMyAdmin 管理 Mysql 数据库,后来折腾虚拟主机后发现远程用 Navicat 管理数据库更方便,而且导入导出不会像 PhpMyAdmin 偶尔会出错,还有一个和 Navicat 类似的程序,图标是只小海豚的 SQLyog 也不错。
使用 Navicat 的时候遇到过几次连接不上远程数据库的问题,每次解决完都没有把方法记下来,导致重装虚拟机后又得到处找方法,所以,想到博客长草,刚好除草一下。
- 确定远程装了 Mysql 这是废话
mysql -u root -p
回车,输入密码回车,登录- 授权远程用户登录
- 对所有
root
用户授权:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root用户密码' WITH GRANT OPTION;
- 对指定 IP 的
root
用户授权:
GRANT ALL PRIVILEGES ON *.* TO root@'指定的IP地址' IDENTIFIED BY 'root用户密码' WITH GRANT OPTION;
- 也可以授权指定的表,这就不搞的那么麻烦了,反正本地自己用。
- 对所有
- 重载授权表:
FLUSH PRIVILEGES;
exit
退出 Mysql
到这里基本都没问题,不过设置好后 Navicat 连接数据库还是会提示 2003 错误:2003——can't connect to mysql server on localhost(10061)
原因是有一步我老是忘记,老是忘记,老是忘记(容易忘记的事情说 3 遍)。
打开 /etc/mysql/mysql.cnf
在文件最底部添加:
bind-address= 0.0.0.0
;
或者是打开 /etc/mysql/mysql.conf.d/mysqld.cnf
找到文件里的:
bind-address= 127.0.0.1
把它改成 bind-address= 0.0.0.0
。
因为第一个有优先级,所以我是直接在 /etc/mysql/mysql.cnf
文件里添加。
这样 Navicat 就可以无碍的“远程”访问数据库了,效果就是文章开头的那个图,改起来很直观方便。
2016.9.6更新
最后一步不知道什么鬼,以前添加那句没问题,这次又突然不行,加了后重启 mysql 服务报错,只能通过 /etc/mysql/mysql.conf.d/mysqld.cnf
里,在 bind-address= 127.0.0.1
这一句前加 #
将它注释掉,就可以了。
移动线路,图片全挂
我这图片都放七牛,怎么会呢。。。
瞎鸡巴折腾最致命
这就是你年薪百万的创业计划么?
噗...百万...
你是在墙外么,怎么打不开。
MYSQL默认都是不支持外网连接的吧,所以要开启这个玩意
是的,不折腾基本不知道这些。