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=utf8default-storage-engine=INNODBbind-address = 192.168.1.16user = mysqlpid-file = /var/run/mysqld/mysqld.pidsocket = /var/run/mysqld/mysqld.sockport = 3306basedir = /usrdatadir = /var/lib/mysqltmpdir = /tmplanguage = /usr/share/mysql/englishskip-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 mysqlselect host,user from user;如果host中有localhost 就直接删了吧。mysql登陆的时候会先匹配localhost,然后才是%