红联Linux门户
Linux帮助

MariaDB数据库的安装、性能优化和安全

发布时间:2016-06-11 10:49:22来源:blog.csdn.net/chszs作者:chszs

数据库服务器是绝大多数应用程序的关键组成部分。如果没有存储、检索、更新和删除数据的能力,那么Web应用和桌面应用的实用性和使用范围会变得非常有限。
此外,知道如何安装、管理和配置数据库服务器,使得数据库的运行达到预期设定,是每个系统管理员必备技能。
在这篇文章中,主要讲述了MariaDB数据库的安装、性能优化和安全。


一、安装MariaDB

在CentOS 7.x系统中,MariaDB正式取代了MySQL的地位,预置到系统仓库中。这一点在Ubuntu和openSUSE等系统上也是如此。
要安装MariaDB,执行命令:

--------------- On CentOS/RHEL 7 and Fedora 23 ---------------
# yum update && yum install mariadb mariadb-server # CentOS

--------------- On Debian and Ubuntu ---------------
$ sudo aptitude update && sudo aptitude install mariadb-client mariadb-server

--------------- On openSUSE ---------------
# zypper update && zypper install mariadb mariadb-tools # openSUSE

一但MariaDB软件包完成了安装,需要确保数据库服务启动运行,并且能开机自动启动。在CentOS和openSUSE系统都需要手段执行命令才能实现上述需求,而Ubuntu的安装过程可以自动完成这一点。

--------------- On CentOS/RHEL 7 and Fedora 23 ---------------
# systemctl start mariadb && systemctl enable mariadb

--------------- On openSUSE ---------------
# systemctl start mysql && systemctl enable mysql


二、MariaDB的安全加固

完成以上操作后,是时候对MariaDB的安全进行加固了。需要运行mysql_secure_installation脚本。此脚本可以实现:

为数据库root用户设置或重置密码
禁止匿名用户登录
禁止root用户的远程访问,只允许本地localhost访问
删除test数据库(任何人都可以访问的数据库)
激活以上1~4选项


三、配置MariaDB服务器

MariaDB服务器默认的配置文件在这里,注意下面给定的顺序:

/etc/mysql/my.cnf    /etc/my.cnf    ~/.my.cnf

在大多数情况下,只存在/etc/my.cnf配置文件。对于Linux服务器上的用户,可以使用~/.my.cnf配置文件来覆盖这个配置文件。
要注意,在my.cnf配置文件中,每一个节的内容都是由方括号分隔的。
服务器的系统配置在[mysqld]节中给出,下表中的前两行就是其中的内容,余下的都是可选项,可以按自己的需求修改其默认值。

MariaDB数据库的安装、性能优化和安全

在CentOS系统中,还需要告诉SELinux允许MariaDB的监听端口穿透防火墙,然后重启服务。

# yum install policycoreutils-python
# semanage port -a -t mysqld_port_t -p tcp 20500


四、MariaDB性能优化

最简单、最方便的MariaDB性能优化技巧,就是使用mysqltuner工具。mysqltuner其实是一个脚本,它可以扫描数据库服务器,并提出性能和稳定性方面的改进建议。
要安装mysqltuner:

# wget https://github.com/major/MySQLTuner-perl/tarball/master
# tar xzf master

然后进入mysqltuner的解压目录:

# cd major-MySQLTuner-perl-7dabf27

运行mysqltuner:

# ./mysqltuner.pl

mysqltuner输出的报告大致如下:

MariaDB数据库的安装、性能优化和安全

结果报告建议把query_cache_type设置为0,0表示禁用,1表示启用。
那么为什么mysqltuner会建议停用query_cache_type呢?原因是,查询缓存适用于高读/低写的情况,而我们才安装了MariaDB,显然还不具备这种情况。
注意:使用mysqltuner进行调优,并非一次性的工作,每隔一段时间就应该检查一次,做一些调整。


本文永久更新地址:http://www.linuxdiyf.com/linux/21426.html