官网:https://mariadb.org/
下载地址:https://downloads.mariadb.org/mariadb/+releases/
尽量安装 10.2.10 及以上的版本,因为从 10.2.10 开始,可以使用 Mariabackup 的稳定版本进行数据备份。当然,旧版本也可以使用 Percona XtraBackup 来进行备份。具体备份的相关信息,可以参考另外的文档:MariaDB 和 MySQL 数据的备份和恢复 (包含脚本) (生产环境可用)
1 下载&解压二进制包
tar -xvf mariadb-10.2.15-linux-systemd-x86_64.tar.gz
2 创建 mysql 组和用户
#指定GID和UID,方便集群管理
groupadd -g 3306 mysql
useradd -u 3306 -g 3306 -s /sbin/nologin mysql
3 拷贝 mariadb 程序到规划位置
mv mariadb-10.2.15-linux-systemd-x86_64 /usr/local/mysql
4 创建 mariadb 程序路径和数据路径
mkdir -p /data/mysql/db_file
5 初始化 mariadb
cd /usr/local/mysql/
./scripts/mysql_install_db --user=mysql \
--basedir=/usr/local/mysql \
--datadir=/data/mysql/db_file
6 修改配置文件
先备份
mv /etc/my.cnf{,.default}
拷贝配置文件示例。官方给出了几个示例,我这里选择 my-innodb-heavy-4G.cnf。关于各配置选项的含义,可以参考另外的文档:MariaDB 配置文件中常用选项的介绍
cd /usr/local/mysql/
cp -p support-files/my-innodb-heavy-4G.cnf /etc/my.cnf
主要修改关于路径的配置
vim /etc/my.cnf
[client]
#password = [your_password]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
port = 3306
socket = /tmp/mysql.sock
#添加
user = mysql
basedir = /usr/local/mysql
datadir = /data/mysql/db_file
init_connect='SET collation_connection=utf8mb4_unicode_ci'
init_connect='SET NAMES utf8mb4'
character-set-server=utf8mb4
#collation-server=utf8mb4_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
slow_query_log_file = /data/mysql/log/slow-query.log
#expire_logs_days = 30
#slave_skip_errors = all
#auto_increment_offset = 1
#auto_increment_increment = 2
innodb_file_per_table = NO
......
#修改
max_connections = 1500
ft_min_word_len = 1
default-storage-engine = InnoDB
#log-bin=/data/mysql/log/bin_log/mysql-bin
#server-id = 1
innodb_buffer_pool_size = 8G
innodb_log_file_size = 512M
[mysqld_safe]
open-files-limit = 8192
#添加
log-error=/data/mysql/log/mysqld.log
pid-file=/data/mysql/temp/mysqld.pid
7 创建需要的路径,并授权
mkdir -p /data/mysql/{log,temp}
chown -R mysql:mysql /data/mysql
chown -R mysql:mysql /usr/local/mysql
8 修改启动文件
复制启动文件
cd /usr/local/mysql
cp -p support-files/mysql.server /etc/init.d/mysqld
修改
vim /etc/init.d/mysqld
#主要修改路径变量的值
basedir=/usr/local/mysql
datadir=/data/mysql/db_file
mysqld_pid_file_path=/data/mysql/temp/mysqld.pid
9 启动&自启 mariadb
service mysqld start
chkconfig --add mysqld
chkconfig mysqld on
10 安全初始化 mariadb
/usr/local/mysql/bin/mysql_secure_installation
...
Enter current password for root (enter for none): #root无密码,直接回车
OK, successfully used password, moving on...
...
Set root password? [Y/n] y #修改root密码
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
...
Remove anonymous users? [Y/n] y #删除匿名用户
... Success!
...
Disallow root login remotely? [Y/n] y #禁止root远程登陆
... Success!
...
Remove test database and access to it? [Y/n] y #删除测试库
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
...
Reload privilege tables now? [Y/n] y #刷新权限
... Success!
...
Thanks for using MariaDB!
11 声明环境变量
cat << EOF > /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH
EOF
source /etc/profile