天天看点

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

版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/51627370

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

作者:chszs,未经博主允许不得转载。经许可的转载需注明作者和博客主页: http://blog.csdn.net/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]节中给出,下表中的前两行就是其中的内容,余下的都是可选项,可以按自己的需求修改其默认值。

在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输出的报告大致如下:

结果报告建议把query_cache_type设置为0,0表示禁用,1表示启用。

那么为什么mysqltuner会建议停用query_cache_type呢?原因是,查询缓存适用于高读/低写的情况,而我们才安装了MariaDB,显然还不具备这种情况。

注意:使用mysqltuner进行调优,并非一次性的工作,每隔一段时间就应该检查一次,做一些调整。