linux下mysql远程访问
Mysql默认root用户只能本地访问,不能远程连接管理mysql数据库,但项目中必须要远程导 入导出数据,所以研究了一下。
Table of Contents
1 修改localhost
- 更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改成"%"
mysql>use mysql; mysql>update user set host ="%" where user = "root"; mysql>select host, user from user; mysql>FLUSH PRIVILEGES;
- 这时的user表应该是这样的
mysql> select * from user; +-----------+------------------+- | Host | User | +-----------+------------------+- | % | root | | debian | root | | 127.0.0.1 | root | | ::1 | root | | % | | | debian | | | % | debian-sys-maint | +-----------+------------------+- 7 rows in set (0.00 sec)
2 配置/etc/mysql/my.cnf
查看/etc/mysql/my.cnf中,skip-networking 是否已被注掉 sudo gedit /etc/mysql/my.cnf
原: # # Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. bind-address = 127.0.0.1 # 改为: # # Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. # bind-address = 127.0.0.1 #
3 其他
1 Mysql的端口是否正确
通过netstat -ntlp查看端口占用情况,一般情况下端口是3306。在用工具连接MySQl是要用 到端口。例如My Admin\My Query Browser\MySQl Front等。
2 查看iptables是否停掉,没关的情况下,无法连接
通过:service iptables stop临时关闭 报错:ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.51.112' (113)