# 8.0下报错 mysql> set password for root@localhost = password('root'); ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'password('root')' at line 1
# 修改密码(数字、大小写、特殊字符) alter user 'root'@'localhost' identified by '58daojiaDJ!!'; # 密码复杂度过低会报如下错误 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
# 查看密码强度规则 mysql> SHOW VARIABLES LIKE 'validate_password%'; +--------------------------------------+--------+ | Variable_name | Value | +--------------------------------------+--------+ | validate_password.check_user_name | ON | | validate_password.dictionary_file | | | validate_password.length | 8 | | validate_password.mixed_case_count | 1 | | validate_password.number_count | 1 | | validate_password.policy | MEDIUM | | validate_password.special_char_count | 1 | +--------------------------------------+--------+ 7 rows in set (0.01 sec)
添加账户
查看现有用户
1 2 3 4 5 6 7 8 9 10 11 12 13
# 选择数据库 mysql> use mysql; # 用户查询 mysql> select host,user from user; +-----------+------------------+ | host | user | +-----------+------------------+ | localhost | mysql.infoschema | | localhost | mysql.session | | localhost | mysql.sys | | localhost | root | +-----------+------------------+ 4 rows in set (0.00 sec)
新增允许远程连接的账户
1 2 3 4
# 新增用户;[admin'@'%]中的%号代表允许任意远程客户端连接 mysql> CREATE USER 'admin'@'%' IDENTIFIED BY '58admin!!AAA'; # 添加权限 mysql> GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%';
其他
为work账户添加sudo权限
root 账户键入visudo即可进入sudo配置 找到root ALL=(ALL) ALL 在这一行下面增加work ALL=(ALL) NOPASSWD:ALL即可
Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
解决方案如下:
1 2 3 4 5 6 7
# 选择mysql数据库 use mysql; # 修改admin的密码,关键在于mysql_native_password关键字指定密码类型 ALTER user 'admin'@'%' IDENTIFIED WITH mysql_native_password by '58admin!!AAA'; # 更新 FLUSH PRIVILEGES;
留言
欢迎交流想法。留言会通过 GitHub Issues 保存,首次使用需要登录 GitHub。