共计 1913 个字符,预计需要花费 5 分钟才能阅读完成。
数据库服务器是绝大多数应用程序的关键组成部分。如果没有存储、检索、更新和删除数据的能力,那么 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 进行调优,并非一次性的工作,每隔一段时间就应该检查一次,做一些调整。
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-10/136409.htm