mysql赋予表权限语法
mysql 5.5.x版本
赋予权限:
grant 权限列表 on 数据库.* to ‘用户名’@‘访问主机’ identified by ‘密码’ with grant option;
mysql -hlocalhost -p3306 -uroot -proot
grant all privileges on *.* to 'root'@'%' identified by '密码' with grant option;
flush privileges;
mysql 1044、1045、1130 都是跟 密码设置有关
localhost或远程登录的ip没有访问权限报错
ERROR 1044 - Access denied for user ‘root’@’%’ to database ‘test’
赋予权限时密码设置错误,host为 ‘%’ 的密码与localhost密码不一致
ERROR 1045(28000): Access denied for user ‘root’@‘localhost’(using password)
一样是密码错误问题
ERROR 1130错误,无法远程连接
查询密码:
select host,user,password from mysql.user;
mysql> select host,user,password from mysql.user;
+-----------+------+-------------------------------------------+
| host | user | password |
+-----------+------+-------------------------------------------+
| localhost | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| % | root | *E6CC90B878B948C35E92B003C792C46C58C4AF40 |
+-----------+------+-------------------------------------------+
2 rows in set (0.01 sec)
修改mysql系统表 和 正常表命令操作一样
但是 设置密码要注意默认加密 使用 函数password()
以下是统一设置用户为 user 的 密码为 123456 (或者可以单独改某行数据)
update mysql.user set password = password('123456') where user = 'root';
如果设置数据库 不小心 没有用 password()加密密码
修改my.ini 增加 跳过权限表认证 配置
skip-grant-tables