修改密码
- 在命令行下使用mysqladmin命令修改
mysqladmin -u username -p password new_pass
这里的username
换成对应的账户名,new_pass
换成新密码,回车之后,输入旧密码即可修改。
- 进入mysql后,用
set password
命令修改
set password for username@localhost = password('new_pass');
- 修改mysql数据库中的user表
use mysql;
update user set password = password('new_pass') where user = 'username');
flush privileges;
最后一句的作用是强制刷新内存授权表,否则非法用户还是可以使用原有账户信息登录。
修改管理员账户的用户名
默认为root
,为了加大爆破难度,对此进行修改,比如改成adm1n
,
use mysql;
update user set user = "adm1n" where user = "root";
flush privileges;
禁止读取本地其他文件
比如读linux中的/etc/passwd
。
先在配置文件my.cnf
或my.ini
中找到[mysqld]
,
再往下一行添加一句set-variable=local-infile=0
,
然后重启mysql服务即可。(所有修改配置的操作都需要重启服务)
禁止远程连接数据库
在配置文件中,[mysqld]
下一行加上skip-networking
后重启服务即可。
控制数据库的操作权限
提供有限的权限给单个用户,比如只让一个用户管理一个数据库,以防止该账户时泄漏太多东西。
假设已经有一个叫stu
的数据库,现在要把该数据库的权限提供给另一个新用户tea
,它的密码是passwd
grant all privileges on stu.* to 'tea'@'localhost' identified by 'passwd' with grant options;
–
移除数据库的操作权限
revoke delete on stu.* from 'tea'@'localhost`;