CentOS 7 下 MariaDB 的安装
[!TIP]
适用于CentOS7通过yum安装MariaDB
1. 软件安装(YUM环境)
首先,通过 yum 安装服务端、客户端及开发相关组件。
yum install -y mariadb-server
# 安装命令行客户端
yum install -y mariadb
# 安装共享库
yum install -y mariadb-libs
# 安装开发包 (用于编译其他依赖数据库的程序)
yum install -y mariadb-devel2. 配置文件修改
2.1 修改/etc/my.cnf.d/client.cnf
在[client]下添加:
default-character-set=utf8
最终内容示例:
## These two groups are read by the client library
# Use it for options that affect all clients, but not the server
[client]
default-character-set=utf8
# This group is not read by mysql client library,
# If you use the same .cnf file for MySQL and MariaDB,
# use it for MariaDB-only client options
[client-mariadb]2.2 修改 /etc/my.cnf.d/mysql-clients.cnf
在[mysql]下添加:
default-character-set=utf8
最终内容示例:
## These groups are read by MariaDB command-line tools
# Use it for options that affect only one utility
[mysql]
default-character-set=utf8
[mysql_upgrade]
[mysqladmin]
[mysqlbinlog]
[mysqlcheck]
[mysqldump]
[mysqlimport]
[mysqlshow]
[mysqlslap]2.3 修改/etc/my.cnf.d/server.cnf
在[mysqld]下添加如下配置:
collation-server = utf8_general_ci
init-connect='SET NAMES utf8'
character-set-server = utf8
sql-mode = TRADITIONAL最终内容示例:
## These groups are read by MariaDB server.
# Use it for options that only the server (but not clients) should see
## See the examples of server my.cnf files in /usr/share/mysql/
## this is read by the standalone daemon and embedded servers
[server]
# this is only for the mysqld standalone daemon
[mysqld]
collation-server=utf8_general_ci
init-connect='SET NAMES utf8'
character-set-server=utf8
sql-mode=TRADITIONAL
# this is only for embedded server
[embedded]
# This group is only read by MariaDB-5.5 servers.
# If you use the same .cnf file for MariaDB of different versions,
# use this group for options that older servers don't understand
[mysqld-5.5]
# These two groups are only read by MariaDB servers, not by MySQL.
# If you use the same .cnf file for MySQL and MariaDB,
# you can put MariaDB-only options here
[mariadb]
[mariadb-5.5]3. 服务启动与管理
安装完成后,需要手动启动数据库引擎并配置随系统自动启动。
# 启动服务
systemctl start mariadb
# 设置服务开机自启动
systemctl enable mariadb
# 查看服务运行状态
systemctl status mariadb输出示例(Active 状态应为active(running)):
● mariadb.service - MariaDB database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
Active: active (running) since 五 2018-11-09 12:49:23 CST; 19min ago
Main PID: 1510 (mysqld_safe)
CGroup: /system.slice/mariadb.service
├─1510 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
└─2030 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-...
11月 09 12:49:15 peixinchen.host systemd[1]: Starting MariaDB database server...
11月 09 12:49:17 peixinchen.host mariadb-prepare-db-dir[1062]: Database MariaDB is probably initialized in /var/lib/m...ne.
11月 09 12:49:19 peixinchen.host mysqld_safe[1510]: 181109 12:49:19 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
11月 09 12:49:19 peixinchen.host mysqld_safe[1510]: 181109 12:49:19 mysqld_safe Starting mysqld daemon with databas...mysql
11月 09 12:49:23 peixinchen.host systemd[1]: Started MariaDB database server.
Hint: Some lines were ellipsized, use -l to show in full.4. 测试连接与基本操作
4.1 使用命令行客户端连接
mysql -u root
输出示例:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.60-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>4.2 查看MariaDB版本号
select version();
输出示例:
+----------------+
| version() |
+----------------+
| 5.5.60-MariaDB |
+----------------+
1 row in set (0.01 sec)4.3 查看字符集配置
show variables like '%char%';
输出示例:
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)5. 安全加固
MariaDB默认root用户无密码,安装完毕后立即设置root密码
5.1 运行安全初始化脚本
mysql_secure_installation
- 所有 Y/N 选项均选择Y
- 在
New password: 和Re-enter new password:时,设置自己的root密码
5.2 使用密码连接MariaDB
mysql -u root -p
输入刚才设置的密码后,输出示例:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.60-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>6. 总结
- 按照以上步骤可完成 MariaDB 的安装、配置和安全加固
- 推荐在生产环境下务必设置数据库 root 密码
- 如需进一步定制配置,可参考官方文档