服务器mysql授权用户
(1)任意主机以用户root和密码mypwd连接到mysql服务器
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypwd' WITH GRANT OPTION;
flush privileges;
(2)IP为192.168.133.128的主机以用户myuser和密码mypwd连接到mysql服务器
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.133.128' IDENTIFIED BY 'mypwd' WITH GRANT OPTION;
flush privileges;
修改本地mysql密码:
set password for root@localhost = password('123');
//或者
ALTER USER "root"@"localhost" IDENTIFIED BY "你的新密码";
修改所有mysql密码:
set password for root@'%' = password('123');
//或者
ALTER USER "root"@"%" IDENTIFIED BY "你的新密码";
//或者(mysql8.0)
use mysql;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';
FLUSH PRIVILEGES;
如果报错Your password does not satisfy the current policy requirements
先修改密码强度:
set global validate_password_policy=0;
修改密码强度方法二:
查看 mysql 初始的密码策略,
输入语句 “ SHOW VARIABLES LIKE 'validate_password%';
” 进行查看
首先需要设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW 即可,输入设值语句 “ set global validate_password_policy=LOW;
” 进行设值
设置 validate_password_length 的全局参数,输入设值语句 “ set global validate_password_length=4;
” 进行设值
解决Access denied for user 'root'@'localhost' (using password: YES)
找my.cnf文件,linux在/etc/my.cnf
在[mysqld]后添加skip-grant-tables
使用 set password for设置密码无效,且此后登录无需键入密码
重启MySQL服务器
如果mysql8.0版本报错 Table 'mysql.role_edges' doesn't exist
执行一下(升级一下)
mysql_upgrade -u root -p;