写作背景:记一次从MySQL平台迁移到MariaDB的测试环境准备
在主流Linux上安装MariaDB Community Server
,官方当前(2023年3月10日)最新版本为10.11.2-GA,本文就以这个版本为例,进行安装测试。
根据自己的主机平台YUM (RHEL, CentOS), APT (Debian, Ubuntu), and ZYpp (SLES)
,选择以下不同的安装方式
$ sudo yum install wget
$ wget https://r.mariadb.com/downloads/mariadb_repo_setup
$ echo "ad125f01bada12a1ba2f9986a21c59d2cccbe8d584e7f55079ecbeb7f43a4da4 mariadb_repo_setup" | sha256sum -c -
$ chmod +x mariadb_repo_setup
$ sudo ./mariadb_repo_setup --mariadb-server-version="mariadb-10.11"
$ sudo yum install MariaDB-server MariaDB-backup
$ sudo apt install wget
$ wget https://r.mariadb.com/downloads/mariadb_repo_setup
$ echo "ad125f01bada12a1ba2f9986a21c59d2cccbe8d584e7f55079ecbeb7f43a4da4 mariadb_repo_setup" | sha256sum -c -
$ chmod +x mariadb_repo_setup
$ sudo ./mariadb_repo_setup --mariadb-server-version="mariadb-10.11"
$ sudo apt update
$ sudo apt install mariadb-server mariadb-backup
$ sudo zypper install wget
$ wget https://r.mariadb.com/downloads/mariadb_repo_setup
$ echo "ad125f01bada12a1ba2f9986a21c59d2cccbe8d584e7f55079ecbeb7f43a4da4 mariadb_repo_setup" | sha256sum -c -
$ chmod +x mariadb_repo_setup
$ sudo ./mariadb_repo_setup --mariadb-server-version="mariadb-10.11"
$ sudo zypper install MariaDB-server MariaDB-backup
操作 | 命令 |
---|---|
查看服务状态 | sudo systemctl status mariadb |
启动 | sudo systemctl start mariadb |
停止 | sudo systemctl stop mariadb |
重启 | sudo systemctl restart mariadb |
开机自启动 | sudo systemctl enable mariadb |
开机不启动 | sudo systemctl disable mariadb |
这里建议设置开机自启动,可以省去服务器将来发生重启后需要再登录启动数据库的操作。
启动完毕,接着我们需要进行以下简单的配置,才能让应用程序远程连接。首先看一下MariaDB Server
安装后的配置文件。
RHEL、CentOS、SLES
系统上MariaDB
的默认配置目录和文件如下:
Debian、Ubuntu
系统上MariaDB
的默认配置目录和文件如下:
默认的配置文件肯定是不满足实际使用需求的,还需要进行参数设置和调优。
官方不建议直接修改默认文件,而是自己创建一个自定义的配置文件,将需要修改的参数配置放在自定义文件中。
那么存放自定义文件的文件夹在哪里呢?官方建议如下:
RHEL、CentOS、SLES
系统自定义文件存放位置
Debian、Ubuntu
系统可以根据自己的偏好任选以下两个文件夹之一
自定义文件名,要好记,容易区分如z-custom-my.cnf
,自定义文件建好如下
或者
接着就可以开始配置了。MariaDB会读取以[mariadb]
或[server]
开头的变量集合,这里任选一个就可以。
[mariadb]
bind-address = 0.0.0.0
key_buffer_size = 128M
max_allowed_packet = 10G
log_error = mariadb-err.log
innodb_buffer_pool_size = 1G
更多自定义参数可以参考system variables和options。
保存好自定义文件,然后重启数据库sudo systemctl restart mariadb
,接下来我们就可以进行登录测试了。
$ sudo mariadb
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 57
Server version: 10.11.2-MariaDB-1:10.11.2+maria~ubu2204 mariadb.org binary distribution
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)]>
如果远程登录还需要进行以下简单的配置
MariaDB [(none)]> create user root@'%' identified by 'root';
MariaDB [(none)]> grant all on *.* to 'root'@'%';
MariaDB [(none)]> flush privileges;
执行完以上命令后,赶紧去试试看吧。
如果远程连接不上,可能是防火墙没有打开对应的端口,需要修改防火墙规则。