# 切换到mysql权限数据库
mysql> use mysql;
# 查看用户及所属的host
mysql> select user,host from user;
# 新建用户并设置密码
mysql> create user '用户名' identified by '密码';
# 上面不指定host,默认%,等同于:
mysql> create user '用户名'@'%' identified by '密码';
# 删除用户(只删除host为%的用户)
mysql> drop user '用户名';
# 查看用户权限
mysql> show grants for '用户名';
# 设置权限,并指定数据库
mysql> grant all privileges on xxxDB.* to '用户名';
# 修改密码,注意密码处不能直接password='新密码'
mysql> update user set password=password('新密码') where user='用户名';
# 刷新权限表
mysql> flush privileges;
# 1.关闭mysql
$ service mysqld stop
# 2.屏蔽权限
$ mysqld_safe --skip-grant-table # 屏幕出现: Starting demo from .....
# 3.新开起一个终端输入
$ mysql -uroot mysql
mysql> update user set password=password('新密码') where user='root';
mysql> flush privileges;
mysql> quit;
3、服务上root能用,远程不能登录
$ mysql -uroot -p
mysql> use mysql;
# 先查看user表host字段,有无通配符'%',若有直接运行flush privileges;
mysql> select host from user where user='root';
mysql> grant all privileges *.* to 'root'@'%' identified by 'root密码';
mysql> flush privileges;
mysql> quit;
4、远程连接提示caching_sha2_password错误
从mysql5.7版本之后,默认采用了caching_sha2_password验证方式
mysql> use mysql;
mysql> alter user 'root'@'%' identified with mysql_native_password by 'root密码';