all
on
to
'root'@'%'
identifiied
by
'root的密码'方法总结:如果你想连接你的mysql的时候发生这个错误:以下是引用内容:
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
授权法。GRANT
ALL
PRIVILEGES
ON
TO
'myuser'@'%'
IDENTIFIED
BY
'mypassword'
WITH
GRANT
OPTION;如果你想允许用户myuser从ip为19216813的主机连接到mysql服务器,并使用mypassword作为密码GRANT
ALL
PRIVILEGES
ON
TO
'myuser'@'19216813'
IDENTIFIED
BY
'mypassword'
WITH
GRANT
OPTION;
MySQL常用 *** 作命令解决方法如下:
1、修改表,登录mysql数据库,切换到mysql数据库,使用sql语句查看
"select host,user from user ;"
\mysql -u root -pvmwaremysql>use
mysql;
\mysql>update user set host = '%' where user
='root';
\mysql>select host, user from
user;
\mysql>flush privileges;
注意:最后一句很重要,目的是使修改生效如果没有写,则还是不能进行远程连接
2、授权用户,你想root使用密码从任何主机连接到mysql服务器
\GRANT ALL PRIVILEGES ON TO 'root'@'%' IDENTIFIED BY 'admin123'
WITH GRANT OPTION;flush privileges;
如果你想允许用户root从ip为1921681216的主机连接到mysql服务器
\GRANT ALL PRIVILEGES ON TO
'root'@'192168116'
IDENTIFIED BY '123456' WITH GRANT OPTION;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' WI
TH GRANT OPTION;
如果你想允许用户myuser从ip为19216816的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON TO 'myuser'@'19216813'IDENTIFIED BY
'mypassword' WITH GRANT OPTION;
我用的第一个方法,刚开始发现不行,在网上查了一下,少执行一个语句 mysql>FLUSH RIVILEGES
使修改生效,就可以了
另外一种方法:
在安装mysql的机器上运行:
1、d:\mysql\bin\>mysql -h localhost -u root
//这样应该可以进入MySQL服务器
2、mysql>GRANT ALL PRIVILEGES ON TO 'root'@'%'WITH GRANT OPTION
//赋予任何主机访问数据的权限
3、mysql>FLUSH PRIVILEGES
//修改生效
4、mysql>EXIT
//退出MySQL服务器
这样就可以在其它任何的主机上以root身份登录啦。Mysql默认是不可以通过远程机器访问的,通过下面的配置可以开启远程访问
在MySQL Server端:
执行mysql 命令进入mysql 命令模式,
Sql代码
mysql> use mysql;
mysql> GRANT ALL ON TO admin@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;
#这句话的意思 ,允许任何IP地址(上面的 % 就是这个意思)的电脑 用admin帐户 和密码(admin)来访问这个MySQL Server
#必须加类似这样的帐户,才可以远程登陆。 root帐户是无法远程登陆的,只可以本地登陆
mysql> use mysql;
mysql> GRANT ALL ON TO admin@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;
#这句话的意思 ,允许任何IP地址(上面的 % 就是这个意思)的电脑 用admin帐户 和密码(admin)来访问这个MySQL Server
#必须加类似这样的帐户,才可以远程登陆。 root帐户是无法远程登陆的,只可以本地登陆
那么如何远程访问呢?
在另一台MySQL 客户端(装有mysql程序包的pc ,windows或者是linux均可)
执行命令:
Sql代码
mysql -h17221529 -uadmin -padmin 即可了
//17221529就是MySQL Server的IP地址,admin admin就是刚才在 17221529上设置的远程访问帐户
mysql -h17221529 -uadmin -padmin 即可了
//17221529就是MySQL Server的IP地址,admin admin就是刚才在 17221529上设置的远程访问帐户
引用
mysql> use mysql;
mysql> GRANT ALL ON TO admin@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;
#这句话的意思 ,允许任何IP地址(上面的 % 就是这个意思)的电脑 用admin帐户 和密码(admin)来访问这个MySQL Server
#必须加类似这样的帐户,才可以远程登陆。 root帐户是无法远程登陆的,只可以本地登陆
我发现一个问题, 如果上面的命令你执行完毕, 你在 本地就是localhost , 执行 :
Sql代码
mysql -hlocalhost -uadmin -padmin
mysql -hlocalhost -uadmin -padmin
结果是失败的。
原来 上面的 % 竟然不包括localhost
所以你还必须加上这样的 命令
mysql>GRANT ALL ON TO admin@'localhost' IDENTIFIED BY 'admin' WITH GRANT OPTION;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)