关注我们
QRcode 邮件联系 QRcode
主页 » 个人随笔 » 正文

windows和linux系统开启mysql远程连接权限的方法

 feng  953 ℃  1条点评
大家在远程连接mysql的时候应该碰到过,root用户的mysql,只可以本地连,对外拒绝连接。
我们需要建立一个允许远程登录的数据库帐户,这样你可以方便进行在本地远程操作数据库了。
方法如下:

一:windows环境

1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入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. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

我 的mysql.user里root用户的host果然是localhost,先用改表法给localhost改成“%”,还是不行,仍然报1130的错 误,又按“从任何主机连接到mysql服务器”方法授权,还是报一样的错,最后给自己的ip授权之后,终于登录上了。。。。

乎乎。。。

mysql的ERROR 1045 在上面情况后如再出现客户段1045可在服务器执行如下

UPDATE user SET Password=PASSWORD('123456') where USER='myuser';

FLUSH PRIVILEGES;//用户付完权限后对数据进行刷新时用!要不Mysql数据库识别不了

例如:(必须参考以上再看下面的例子)

GRANT ALL ON *.* TO admin@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;

mysql "192.168.50.85" "admin" "admin" ;

GRANT ALL ON *.* TO admin@'localhost' IDENTIFIED BY 'admin' WITH GRANT OPTION;

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.50.85' IDENTIFIED BY '123456' WITH GRANT OPTION;

UPDATE user SET Password=PASSWORD('123456') where USER='myuser';

FLUSH PRIVILEGES;

mysql默认是没有开启远程控制的,必须添加远程访问的用户。

mysql默认是没有开启远程控制的,必须添加远程访问的用户。 g&00 x$ Y

0VE }0(fQ

如果是安装版的话,从mysql提供的控制台进入。 1s+<( 0R/

用root用户登陆,然后: Q k C jgS0

grant all privileges on *.* to 创建的用户名 @"%" identified by "密码"; o! q*)`xuQ

flush privileges; * 刷新刚才的内容* )/ z (5 3X

; (Q:LY \v

格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by "用户密码"; .=h j Qi[

@ 后面是访问mysql的客户端IP地址(或是 主机名) % 代表任意的客户端,如果填写 localhost 为本地访问(那此用户就不能远程访问该mysql数据库了)。 U <T 1O 6

lp 8 z Rc

同时也可以为现有的用户设置是否具有远程访问权限。如下: \ch3 X X#

use mysql; o$`> :>N e

update db set host = '%' where user = '用户名'; (如果写成 host=localhost 那此用户就不具有远程访问权限) B Gnl: R *

FLUSH PRIVILEGES; zn 6en;&?

3 Pj_2B=

查看结果,执行: $4b 5-U

use mysql; ){[' 66!

select host,user,password from user; J):H\B:j_M

i oZ 0 " H

+--------------+--------+---------------+ t75 JSdQ

| Host | User | Password | XKL Di{ U

+--------------+--------+-----------------+ B*1Q< Cx5B

| localhost | | | U 8RZq(f

| % | John | 123456 | r ` Al B

| localhost | root | | H fd ZE

+--------------+------ --+---------------+ pd7= 8 8

ArJ~Vs "+

总结: ? Av L`B A

其实MySQL默认有两个数据库分别为 mysql 和 test 而MySQL用户的信息都放在数据库 mysql 的相关表中 gb: hj /

也可以使用 Navicat (推荐)这样的GUI工具来管理用户。 HUD?}U BB5

update user set host='%' where host='localhost'

工作中用到web服务器和mysql服务器不在同一台计算机上安装的运用。需要通过mysql的远程账户访问mysql。

先上语法:

grant [权限] on [数据库名].[表命] to ['用户命']@['web服务器的ip地址'] identified by ['密码'];

实例:

grant all on lportal.* to 'root'@'192.168.1.21 identified by 'root';

grant select,update,insert,delete on lportal.* to 'root'@'192.168.1.21 identified by 'root';

 

二: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.107
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
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替换为你的密码,这样就开启了远程访问功能

本文标签:
激活win8系统仅需98元打击盗版
最新win8漏洞 利用QQ拼音可实现提权
Mac自带邮件怎么将图片添加为附件Mac自带邮件怎么将图片添加为附件PHP批量抓取百度搜索结果PHP批量抓取百度搜索结果Linux关闭ssh远程连接时Screen保持任务会话Linux关闭ssh远程连接时Screen保持任务会话阿峰博客全新改版上线阿峰博客全新改版上线

已有1条评论,欢迎点评!

smiley smiley smiley smiley smiley smiley smiley smiley smiley smiley smiley smiley smiley smiley smiley smiley

  1. avatar
    #1 范委耳坡

    老大的非常不错,文章讲的太好的了,我非常喜欢,特别棒1

    2012-11-20 下午 8:24回复


注册帐号  |  忘记密码