1、改表法:
mysql -u root -p
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
2、授权法:
解决方案1: 指定用户名+指定密码+任何主机
如果希望使用用户名为"username",使用密码"password"从任何主机连接到mysql服务器的话(即:指定用户名+指定密码+任何主机)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
解决方案2: 指定用户名+指定密码+指定主机
如果希望使用用户名为"username",使用密码"password"从IP地址为192.168.1.100的主机连接到mysql服务器的话(即:指定用户名+指定密码+指定主机)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'username'@'192.168.1.100' IDENTIFIED BY 'password' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
解决方案3: 指定用户名+指定密码+指定主机+指定库
如果希望使用用户名为"username",使用密码"password"从IP地址为192.168.1.100的主机连接mysql服务器的指定"mydatabase"的数据库的话;(即:指定用户名+指定密码+指定主机+指定数据库)
mysql> GRANT ALL PRIVILEGES ON mydatabase.* TO 'username'@'192.168.1.100' IDENTIFIED BY 'password' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
注意:执行完赋权后,一定要执行"FLUSH PRIVILEGES;",否则不会生效。