记mysql基础安全优化12条
文章目录[隐藏]
- 1、启动程序设置权限700,属主和组为mysql
- 2.为mysql超级用户root设置密码
- 3.如果严格要求,可以删除root用户,创建其他的管理用户,例如admin
- 4.登陆时尽量不要在命令行泄露密码,备份脚本如有密码,则设置权限为700,属主和用户组为mysql或者root
- 5.删除默认存在的test库
- 6.删除无用的用户,除了远端需求用户,只保留’root’@’127.0.0.1’和’root’@’localhost’
- 7.授权用户对应主机不要使用%匹配,权限不要给all,要最小化授权,丛库只不给写,只给select权限
- 8.不要一个用户管理所有的库,尽量专库专用户
- 9.禁止开发获取到web连接的密码,禁止开发连接操作生产对外的库。
- 10.关于phpmyadmin的安全
- 11.数据库服务器禁止设置外网ip
- 12.防止sql注入 php.ini控制13.使用chroot方式来控制MySQL的运行目录(监牢模式)
1、启动程序设置权限700,属主和组为mysql
# chown -R root /usr/local/mysql/ //mysql主目录给root
# chown -R rotot /usr/local/mysql/var //确保数据库目录权限所属mysql用户
2.为mysql超级用户root设置密码
update user set password=password(“abcdef”) where user=”root”;
或者使用mysqladmin password
要记得#mysql> flush privileges; //强制刷新内存授权表。
3.如果严格要求,可以删除root用户,创建其他的管理用户,例如admin
#use mysql;
#delete from db; //删除存放数据库的表信息,因为还没有数据库信息。
#mysql> delete from user where user=’root’ and password=”; //删除空密码的root,尽量重复操作
Query OK, 2 rows affected (0.00 sec)
great all privileges on *.* to ‘admin’@’localhost’ identified by ‘123456’ with grant option;
#mysql> flush privileges; //强制刷新内存授权表。
4.登陆时尽量不要在命令行泄露密码,备份脚本如有密码,则设置权限为700,属主和用户组为mysql或者root
# rm .bash_history .mysql_history //删除历史记录
# ln -s /dev/null .bash_history //将shell记录文件置空
# ln -s /dev/null .mysql_history //将mysql记录文件置空
有利有弊
5.删除默认存在的test库
#mysql> show databases;
#mysql> drop database test; //删除数据库test
6.删除无用的用户,除了远端需求用户,只保留’root’@’127.0.0.1’和’root’@’localhost’
#mysql> delete from user where not (user=’root’) ; // 删除初始非root的用户
7.授权用户对应主机不要使用%匹配,权限不要给all,要最小化授权,丛库只不给写,只给select权限
8.不要一个用户管理所有的库,尽量专库专用户
9.禁止开发获取到web连接的密码,禁止开发连接操作生产对外的库。
10.关于phpmyadmin的安全
11.数据库服务器禁止设置外网ip
12.防止sql注入 php.ini控制13.使用chroot方式来控制MySQL的运行目录(监牢模式)
Chroot是linux中的一种系统高级保护手段,它的建立会将其与主系统几乎完全隔离,也就是说,一旦遭到什么问题,也不会危及到正在运行的主系统。这是一个非常有效的办法,特别是在配置网络服务程序的时候。
过crontab定时备份数据:
#!/bin/sh
time=date +”(“%F”)”%R
$/usr/local/mysql/bin/mysqldump -u nagios -pnagios nagios | gzip >/home/sszheng/nfs58/nagiosbackup/nagios_backup.$time.gz
# crontab -l
# m h dom mon dow command
00 00 * * * /home/sszheng/shnagios/backup.sh
恢复数据使用命令:
gzip -d nagios_backup.\(2008-01-24\)00\:00.gz
nagios_backup.(2008-01-24)00:00
#mysql –u root -p nagios < /home/sszheng/nfs58/nagiosbackup/nagios_backup.\(2008-01-24\)12\:00
- 上一篇 >:zabbix编译备忘
- 下一篇 >:抓取网页的脚本 【修复】