[!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-devel

2. 配置文件修改

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 密码
  • 如需进一步定制配置,可参考官方文档

标签: 数据库, 安装配置, centos, yum, 运维

添加新评论