mysql 赋给用户权限 grant all privileges on

地址: http://blog.csdn.net/wengyupeng/article/details/3290415遇到了 SQLException: access denied for @'lo

地址: http://blog.csdn.net/wengyupeng/article/details/3290415

遇到了 SQLException: access denied for @'localhost' (using password: no)

解决办法 grant all privileges on *.* to joe@localhost identified by '1';

flush privileges; --- 立即生效,不需要重启

拿 joe 1 登陆

附:

mysql> grant 权限1, 权限2,…权限n on 数据库名称. 表名称 to 用户名@用户地址 identified by ‘连接口令’;

set password for'kuja'@'1.1.1.1'= old_password('oigwpofmn'); // 设置1.1.1.1的客户端机器的用户kuja 的密码,恢复到之前4.1的版本加密风格

权限1, 权限2,…权限n 代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file 等14个权限。

当权限1, 权限2,…权限n 被all privileges或者all 代替,表示赋予用户全部权限。

当数据库名称. 表名称被*.*代替,表示赋予用户操作服务器上所有数据库所有表的权限。

用户地址可以是localhost ,也可以是ip 地址、机器名字、域名。也可以用’'表示从任何地址连接。

‘连接口令’不能为空,否则创建失败。

mysql>grant select,insert,update,delete,create,drop on vtdc.employee to joe@10.163.225.87 identified by ‘123′ with grant option ;

给来自10.163.225.87的用户joe 分配可对数据库vtdc 的employee 表进行select,insert,update,delete,create,drop 等操作的权限,并设定口令为123。

mysql>grant all privileges on vtdc.* to joe@10.163.225.87 identified by ‘123′;

,

给来自10.163.225.87的用户joe 分配可对数据库vtdc 所有表进行所有操作的权限,并设定口令为123。

mysql>grant all privileges on *.* to joe@10.163.225.87 identified by ‘123′;

给来自10.163.225.87的用户joe 分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。

mysql>grant all privileges on *.* to joe@localhost identified by ‘123′;

给本机用户joe 分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。

GRANT ALL PRIVILEGES

博客分类:

mysql

MySQLSQL

1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost 。这个时候只要在localhost 的那台电脑,登入mysql 后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost" 改称""

Sql 代码 复制代码

1. mysql -u root -pvmwaremysql>use mysql;

2. mysql>update user set host = '' where user = 'root';

3. mysql>select host, user from user;

2. 授权法。例如,你想myuser 使用mypassword 从任何主机连接到mysql 服务器的话。

Sql 代码 复制代码

1. GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'' IDENTIFIED BY

'mypassword' WITH

GRANT OPTION;

2.FLUSH PRIVILEGES;

,

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

Sql 代码 复制代码

1. GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY

2. 'mypassword' WITH GRANT OPTION;

3. FLUSH PRIVILEGES;

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

FLUSH PRIVILEGES;

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

Sql 代码 复制代码

1. GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY

2. 'mypassword' WITH GRANT OPTION;

3. FLUSH PRIVILEGES;

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

FLUSH PRIVILEGES;

注意授权后必须FLUSH PRIVILEGES;否则无法立即生效。

另外一种方法.

在安装mysql 的机器上运行:

1、d:mysqlbin>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 身份登录啦!

,

with admin option 用于系统权限授权,with grant option 用于对象授权。

但给一个用户授予系统权限带上with admin option 时,此用户可把此系统权限授予其他用户或角色,但收回这个用户的系统权限时,这个用户已经授予其他用户或角色的此系统权限不会因传播无效,如授予A 系统权限create session with admin option, 然后A 又把create session权限授予B, 但管理员收回A 的create session权限时,B 依然拥有create session的权限,但管理员可以显式收回B create session的权限,即直接revoke create session from B.

而with grant option用于对象授权时,被授予的用户也可把此对象权限授予其他用户或角色,不同的是但管理员收回用with grant option授权的用户对象权限时,权限会因传播而失效,如grant select on table with grant option to A,A用户把此权限授予B ,但管理员收回A 的权限时,B 的权限也会失效,但管理员不可以直接收回B 的SELECT ON TABLE 权限。

MYSQL ERROR 1045 (28000): Access denied for user (using password

详细出处参考:http://www.jb51.net/article/19326.htm

第一种方法: 推荐

错误描述: Mysql 中添加用户之后可能出现登录时提示ERROR 1045 (28000): Access denied for user的错误.

原因分析: 在mysql.user 表中可能出现user 为空的记录, 如:

mysql> select host,user from user;

------------------ ------

| host | user |

------------------ ------

| | test |

| localhost | |

| localhost | root |

------------------ ------

3 rows in set (0.00 sec)

解决 办法: 删除这些为空的用户或者更新为其他用户名

删除user.user 中值为NULL 的, 或更新NULL 为test

1)delete from user where user is NULL

2)update user set user='test' where user is NULL

,

意外的情况: 如果上述方法没有效果, 依然出现空用户, 则可以利用图形化用户client 删除.

详细出处参考:http://www.jb51.net/article/19326.htm

标签: