背景:
在学习和工作中,常常需要我们去从不同的ip去连接数据库。即使在初次配置MySQL时已经设置了root用户可以从任何ip进行连接,仍然会出现连接不上的情况.针对这种情况,我们只需要再次对root用户进行配置就可以了
执行:
首先执行mysql -u root -p 进入到MySQL中
set global validate_password_policy=0;
set global validate_password_length=1;
set password for root@localhost=password('123456');
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
flush privileges;
validate_password_policy:控制密码强度策略的变量,设置为0表示禁用密码策略,允许使用任何弱密码,必执行
validate_password_length:指定密码的最小长度,可不执行
password for root@localhost=password('123456'):将root用户在本地的密码设置为123456,可不执行
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION:GRANT为授权命令,ALL PRIVILEGES为所有权限,
*.*
表示通配符,用于指定所有数据库和所有表;'root'@'%'表示可以从任何地址使用root账户连接,若指定ip可以将%修改成指定的ip,IDENTIFIED BY '123456' 表示连接时的密码为123456;WITH GRANT OPTION允许用户将其获得的权限授予其他用户,这是管理员权限flush privileges:刷新MySQL的权限表,以使新的权限设置生效
至此配置完成