如何连接远程的数据库服务器?注意事项?
1、一:windows环境
1、改表法。既然你的帐号不允许从远程登陆,只能在服务器上通过路径或桌面快捷键进入。登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改成”%”mysql -u root -pvmwaremysql>use mysql;mysql>update user set host = ‘%’ where user = ‘root’;mysql>select host, user from user;
2、 2. 授权法。如果你想允许用户myuser从ip为192.168.1.16的主机连接到mysql服务器,并使用mypassword作为密码,就要把'192.168.16′添加到GRANT ALL PRIVILEGES ON *.* TO ‘myuser’@’192.168.1.16′ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION中;当ip授权之后,就可登录数据库了。
3、二:linux类环境
1.修改/etc/mysql/my.conf,修改bind-address,指定为本机实际IP地址,你的my.con修改完大概是如下
[mysqld]
#
# * Basic Settings
#
default-character-set=utf8
default-storage-engine=INNODB
bind-address = 192.168.1.16
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/english
skip-external-locking
4、 2.用root登陆mysql执行如下命令grant all on sonardb.* to sonar@’%’ identified by ’123456′;grant all on sonardb.* to sonar@localhost identified by ’123456′;sonardb替换为你想访问的数据库名,sonar是你的想使用的用户名,123456替换为你的密码,这样就开启了远程访问功能。
5、注意事项
当出现本地连接不能用的时候,请查看mysql的user表;
service mysqld stop //停止服务
mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
mysql -u root mysql
select host,user from user;
如果host中有localhost 就直接删了吧。mysql登陆的时候会先匹配localhost,然后才是%