近日在Ubuntu上安装了一个 MySQL 5.0,因为使用 phpMyAdmin 还必须安装 PHP,所以打算直接使用远程管理工具Navicat for MySQL 来连接。 在 Ubuntu 中通过 mysql 命令行创建好一个数据表并分配了权限
近日在Ubuntu上安装了一个 MySQL 5.0,因为使用 phpMyAdmin 还必须安装 PHP,所以打算直接使用远程管理工具Navicat for MySQL 来连接。
在 Ubuntu 中通过 mysql 命令行创建好一个数据表并分配了权限:
复制代码 代码如下:
GRANT ALL ON testdb.* TO usera IDENTIFIED BY ‘passwd'
然后重启加载权限:
复制代码 代码如下:
mysqladmin –uroot –p flush-privileges
之后使用 Navicat 连接时仍然提示没有权限:
复制代码 代码如下:
2003 – Can't connect to MySQL server on ‘ubuntu'(10061)
查看 mysql.user 表,usera 的确已经有了任意主机访问的权限。
于是想到是不是 MySQL Server 绑定了本地地址,打开 /etc/mysql/my.cnf,找到:
复制代码 代码如下:
bind-address = 127.0.0.1
去除 IP 地址绑定,把它改为:
复制代码 代码如下:
bind-address = 0.0.0.0
然后重启 MySQL Server:
复制代码 代码如下:
/etc/init.d/mysql restart
这样 Navicat 就可以正常连接了,Debian下应该也有同样的问题。