MySQL安全基础——账号安全
MySQL5.6安装完毕后,初始化可以看到
mysql>select user,host,password from mysql.user;
+------+-----------+-------------------------------------------+
| user | host | password |
+------+-----------+-------------------------------------------+
| root | localhost | *044E106239E6E413801C1A434A9D7B |
| root | mysql-140 | |
| root | 127.0.0.1 | |
| root | ::1 | |
| | localhost | |
| | mysql-140 | |
+------+-----------+-------------------------------------------+
这么多个,有的还没有密码,所以得去掉一些root账户
步骤1:
#########选择mysql库#########
mysql>use mysql;
步骤2:
#########删除空用户名用户#########
mysql>delete from mysql.user where user='';
步骤3:
#########删除root用户使用IPv6格式的127.0.0.1#########
mysql>drop user 'root'@'::1';
步骤4:
#########删除root用户在<计算机名>#########
mysql>delete from mysql.user where user='root' and host='mysql-140';
步骤5:
#########设置127.0.0.1的root密码##########
mysql>set password for 'root'@'127.0.0.1' = password('');
mysql>update user set password=password('') where host='127.0.0.1';
mysql>flush privileges;
步骤6:
#########设置远程IP的root密码##########
mysql>grant all privileges on *.* to 'root'@'<服务器IP>' identified by '<密码>' with grant option;
做完这六步以后,再次查看:
mysql>select user,host,password from mysql.user;
+------+-----------+-------------------------------------------+
| user | host | password |
+------+-----------+-------------------------------------------+
| root | localhost | *044E106239E6E413801C1A434A9D7B |
| root | <ip地址> | *044E106239E6E413801C1A434A9D7B |
| root | 127.0.0.1 | *044E106239E6E413801C1A434A9D7B |
+------+-----------+-------------------------------------------+