原起一个惨痛的经历
修改密码
- 修改配置文件为不用密码可以登录
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
再文件末尾添加
skip-grant-tables
- 重启服务
- sudo service mysql restart
- 登录切换到mysql
- mysql
- USE mysql
- 改密码前先查下用户
我这里改了好多次不生效查了下用户法相root被干掉了!!!
select user,host from user;
- 修改密码 注意用户名和%
alter user 'mysqld'@'%' identified by '123654Password';
报错 ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost'
要根据上面查询的用户进行修改;
然后执行命令flush privileges。再执行修改操作
我的是root用户被删了!!!
密码修改成功后执行:flush privileges;
修改后退出:exit
- 更改密码后
- 注释掉/etc/mysql/mysql.conf.d/mysqld.cnf文件中添加的一行
- 重启服务:sudo service mysql restart
- 再次登录输入密码就可以了
2.添加用户
- 创建用户
create user 'chat'@'%' identified by '123654Password';
%代表通配所有host地址权限(可远程访问)
localhost为本地权限(不可远程访问)
-授权
grant #auth on #databaseName.#table to '#userName'@'#host';
#auth 代表权限,如下
all privileges 全部权限
select 查询权限
select,insert,update,delete 增删改查权限
#databaseName 代表数据库名
#table 代表具体表,如下
*代表全部表
A,B 代表具体A,B表
#userName 代表用户名
#host 代表访问权限,如下
%代表通配所有host地址权限(可远程访问)
localhost为本地权限(不可远程访问)
- 权限分配demo
grant all privileges on chat.* to 'chat'@'%';//把一个库的权限赋值给一个用户
执行刷新操作:flush privileges;
- 查看用户权限操作
show grants for '#userName'@'#host';
参考上面用户信息查询 比如show grants for 'mysqld'@'%';
- 删除用户
drop user '#userName'@'#host';