MariaDB 开发的主要目标是减少对 MySQL 的替换,以提供更强大的功能和更好的性能。MariaDB 基于对应的 MySQL 版本。这意味着,MariaDB 版本是在 MongoDB对应版本发布之后发布的,添加了一些 bug 修复、额外的存储引擎、新特性和性能改进。
2.与MySQL的版本对应关系
MariaDB 和 MySQL的版本对应关系如下:
MariaDB | MySQL |
---|
可以看到我们常用的MySQL 5.7 和 8.0 版本对应MariaDB 的 10.2 版本和 10.5版本,因此这里我主要以MariaDB 的 10.2来进行演示。
3.获取安装源
进入到MariaDB的官方下载地址,根据自己的系统情况选择平台,选择10.2版本下载。选择完之后点击下载,注意在右侧的镜像中选择中国,可以有多种方式来安装。
https://mariadb.org/download/?t=mariadb&p=mariadb&r=10.2.43&os=Linux&cpu=x86_64&i=systemd&m=bkns
4.安装
安装方式有多种,这里总结一下常用的两种方式,分别为在线安装和离线安装。
4.1在线安装
从前面获取安装源的网站上可以获取到安装仓库源,使用以下命令来添加一个本地的Yum源:
vim /etc/yum.repos.d/mariadb.repo
将下面的内容粘贴进去
# MariaDB 10.2 CentOS repository list - created 2022-04-21 07:30 UTC
# https://mariadb.org/download/
[mariadb]
name = MariaDB
baseurl = https://mirrors.aliyun.com/mariadb/yum/10.2/centos7-amd64
gpgkey=https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1
yum -y makecache
开始安装mariadb10.2
yum -y remove mysql*
sudo yum install MariaDB-server MariaDB-client
设置启动和开机启动:
systemctl --enable now mysql
注意这里的名称可能有变化,服务名为mysql。启动完成后,登录的密码为空。
修改密码:
# 初始密码为空
mysql_secure_installation
依次根据下面的提示修改就好了。
- 卸载方式(慎用), 注意如果清除一些卸载的痕迹的话,下次再安装可能会报错。
systemctl stop mysql
yum -y remove MariaDB*
rm -rf /var/lib/mysql
rm -rf /usr/lib64/mysql
rm -rf /var/log/mysql*
4.2 离线安装
这里离线安装的话,依然采用rpm包安装方式,首先需要到阿里云镜像站点下载以下文件。
yum -y install wget
wget https://mirrors.aliyun.com/mariadb/yum/10.2/centos7-amd64/rpms/MariaDB-common-10.2.43-1.el7.centos.x86_64.rpm
wget https://mirrors.aliyun.com/mariadb/yum/10.2/centos7-amd64/rpms/MariaDB-server-10.2.43-1.el7.centos.x86_64.rpm
wget https://mirrors.aliyun.com/mariadb/yum/10.2/centos7-amd64/rpms/MariaDB-server-debuginfo-10.2.43-1.el7.centos.x86_64.rpm
wget https://mirrors.aliyun.com/mariadb/yum/10.2/centos7-amd64/rpms/MariaDB-client-10.2.43-1.el7.centos.x86_64.rpm
wget https://mirrors.aliyun.com/mariadb/yum/10.2/centos7-amd64/rpms/MariaDB-compat-10.2.43-1.el7.centos.x86_64.rpm
可以把这部分从网络上下载好的文件做离线备份,将来拷贝到其它服务器也可以使用了。
启动并设置开机启动。
systemctl enable --now mysql
# 如果没有启动的话
systemctl start mysql
启动成功后,测试登录,使用以下命令,后回车登录。修改密码的方式跟前面提到的方式一样。
mysql -uroot -p
如果还需要远程登录的话,还需要执行以下命令。
grant all privileges on *.* to 'root'@'%' identified by 'root密码';
flush privileges;
这样就可以愉快地访问和使用了。
尾巴
在修改配置文件的时候,使用/etc/my.cnf的时候会发现。
其配置文件是包括在/etc/my.cnf.d目录下,读取所有以*.cnf结尾的文件。比如我修改一个配置文件:
vim /etc/my.cnf.d/server.cnf
……
[mysqld]
# 配置大小写不敏感
lower_case_table_names=1
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
重启生效
systemctl restart mysql