|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!mysql宁静设置及功能优化设置全攻略,注重在不熟习的情形下变动设置前最好举行备份,以避免堕落。
1、修正root用户的的口令
缺省情形下MySQL没有设置暗码,我们能够用三种***设置暗码头:
*用mysqladmin下令来改root用户口令
#mysqladmin-urootpasswordecan5com//设置MySQL办理操纵用户root的暗码为52netseek
*用setpassword修正口令:
mysql>setpasswordforroot@localhost=password(‘ecan5com’);
*间接修正user表的root用户口令
mysql>usemysql;
mysql>updateusersetpassword=password(‘ecan5com’)whereuser=’root’;
mysql>flushprivileges;
2、删除默许的数据库和用户
我们的数据库是在当地,而且也只必要当地的php剧本对mysql举行读取,以是良多用户不必要。m
ysql初始化后会主动天生空用户和test库,这会对数据库组成威逼,我们全体删除。
我们利用mysql客户端步伐毗连到当地的mysql办事器后呈现以下提醒:
mysql>dropdatabasetest;
mysql>usemysql;
mysql>deletefromdb;
mysql>deletefromuserwherenot(host=”localhost”anduser=”root”);
mysql>flushprivileges;
3、改动默许mysql***的称号//仅为倡议
依据团体习气,由于默许的mysql的***称号是root,以是假如可以修正的话,
可以避免一些剧本小子对体系的穷举。我们能够间接修正数据库,把root用户改成”admin”
mysql>usemysql;
mysql>updateusersetuser=”admin”whereuser=”root”;
mysql>flushprivileges;
4、进步当地宁静性
进步当地宁静性,次要是避免mysql对当地文件的存取,好比黑客经由过程mysql把/etc/passwd猎取了,会对体系组成威逼。
mysql对当地文件的存取是经由过程SQL语句来完成,次要是经由过程LoadDATALOCALINFILE来完成,我们可以经由过程禁用该功效来
避免黑客经由过程SQL打针等猎取体系中心文件。禁用该功效必需在my.cnf的[mysqld]局部加上一个参数:
set-variable=local-infile=0
5、克制近程毗连mysql
由于我们的mysql只必要当地的php剧本举行毗连,以是我们无需开socket举行监听,那末我们完整能够封闭监听的功效。
有两个***完成:
*设置my.cnf文件,在[mysqld]局部增加skip-networking参数
*mysqld办事器中参数中增加–skip-networking启动参数来使mysql不监听凭何TCP/IP毗连,增添宁静性。假如要举行mysql的办理的话,能够在办事器当地装置一个phpMyadmin来举行办理。
6、把持数据库会见权限
关于利用php剧本来举行交互,最好创建一个用户只针对某个库有update、select、delete、insert、droptable、createtable等权限,如许就很好制止了数据库用户名和暗码被黑客检察后最小丧失。
好比上面我们创立一个数据库为db1,同时创建一个用户test1可以会见该数据库。
mysql>createdatabasedb1;
mysql>grantselect,insert,update,delete,create,dropprivilegesondb1.*totest1@localhostidentifiedby‘admindb’;
以上SQL是创立一个数据库db1,同时增添了一个test1用户,口令是admindb,可是它只能从当地毗连mysql,对db1库有select,insert,update,delete,create,drop操纵权限。
7、限定一样平常用户扫瞄其他用户数据库
假如有多个数据库,每一个数据库有一个用户,那末必需限定用户扫瞄其他数据库内容,能够在启动MySQL办事器时加–skip-show-database启动参数就可以够到达目标。
健忘mysql暗码的办理举措
假如失慎健忘了MySQL的root暗码,我们能够在启动MySQL办事器时加上参数–skip-grant-tables来跳过受权表的考证(./safe_mysqld–skip-grant-tables&),如许我们就能够间接上岸MySQL办事器,然后再修正root用户的口令,重启MySQL就能够用新口令上岸了。
8、数据库文件的宁静
我们默许的mysql是装置在/usr/local/mysql目次下的,那末对应的数据库文件就是在/usr/local/mysql/var目次下,那末我们要包管该目次不克不及让未经受权的用户会见后把数据库打包拷贝走了,以是要限定对该目次的会见。
我们修正该目次的所属用户和组是mysql,同时改动会见权限:
#chown-Rmysql.mysql/usr/local/mysql/var
#chmod-Rgo-rwx/usr/local/mysql/var
9、删除汗青纪录
实行以上的下令会被shell纪录在汗青文件里,好比bash会写进用户目次的.bash_history文件,假如这些文件失慎被读,
那末数据库的暗码就会泄露。用户上岸数据库后实行的SQL下令也会被MySQL纪录在用户目次的.mysql_history文件里。
假如数据库用户用SQL语句修正了数据库暗码,也会因.mysql_history文件而泄露。以是我们在shell上岸及备份的时分
不要在-p后间接加暗码,而是在提醒后再输出数据库暗码。别的这两个文件我们也应当不让它纪录我们的操纵,以防万一。
#rm.bash_history.mysql_history
#ln-s/dev/null.bash_history
#ln-s/dev/null.mysql_history
10、其他
别的还能够思索利用chroot等体例来把持mysql的运转目次,更好的把持权限,详细能够参考相干文章。
my.cnf的调试参数
11、疾速修复MySQL数据库
修单数据库
#mysqlcheck-A-o-r-p
修复指定的数据库
#mysqlcheck-o-rDatabase_NAME-p
12、跟据内存的巨细选择MySQL的负载,选择响应的文件名复制到/etc/my.cnf
假如是RPM包装置:/usr/share/doc/mysql-XXX/目次下有
假如是源代码编译装置:support-files/目次下有.
cp/usr/local/share/mysql-***/my-large.cnf/etc/my.cnf
my-small.cnf#>my-medium.cnf#32M–64M
my-large.cnf#memory=512M
my-huge.cnf#1G-2G
my-innodb-heavy-4G.cnf#4GB
浏览了本文,你是不是对mysql宁静设置及功能优化设置有了更好的熟悉,假如你觉的本文不错!请分享到您的空间与微博,让更多密友分享及下次必要检察的时分能疾速找到本文!
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们! |
|