推荐文章:
http://wenku.baidu.com/view/7273fb1ffad6195f312ba68c.html
http://www.jb51.net/article/33397.htm
一,新安装的ubuntu上的mysql数据库有可能远程访问不了。解决办法:(http://wenku.baidu.com/view/7273fb1ffad6195f312ba68c.html)
1,确认一下3306是否对外开放,mysql默认状态下是不开放对外访问功能的。
查看的办法如下:
~# netstat -an | grep 3306
tcp 0 0 127.0.0.1:3306 0.0.0.0:*
LISTEN
从上面可以看出mysql的3306端口只是监听了本地的连接,这样就阻碍了外部IP对该数据库的访问,进入到mysql的配置文件所在目录(/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
将bind-address注释掉,或者改成你想要使用的客户端主机IP
2,确认客户端用户是否具有访问权限
就是查看mysql数据库的user表里的host字段和user字段,如果没有host为“%”,和user为“root”的记录就要增加一条这样的记录
mysql> grent all on *.* to user_name@'%' identified by 'user_password';
上面的命令授予的用户权限可以访问mysql中的任意数据库和表
3,重启数据库
service mysql restart
二,mysql中Table is read only的解决方法(http://www.jb51.net/article/33397.htm)
1,linux下库表文件的权限不对:chmod 数据库表的权限为777
2,刷新下库表:/usr/bin/mysqladmin -u root -p000000 flush-tables