在Linux上运行MariaDB

mariadb-10.4.7-linux

centos7.5

why?

Q: 为什么是Linux而不是某个发行版

A: 因为该方法基本对所有主流Linux发行版(x86_64)可用


Q: 主流Linux发行版不都是有apt yum 包管理软件吗,不可以一键安装吗?

A: 很不幸 我需要部署的server是没有外网的


准备工作

请注意! 该文章不面向小白! 本文假设你清楚安装过程中所需要的基本命令的使用!

在mariadb官网下载二进制安装包

Package Type找到 gzipped tar file

Source 找到 Linux x86_64

最终可以找到这样的文件
mariadb-10.4.7-linux-systemd-x86_64.tar.gz (for systems with systemd)

本文安装的是最新的release 10.4.7

然后下载它

虽然体积非常之大 但安装过程中是不需要额外的组件的 非常省心

下载完之后拷贝到待安装的server上

install

安装之前

mariadb/mysql的Linux解压二进制版不会像是windows一样直接用mysqld --install service_name 就完成安装了

服务 环境变量 乃至用户都是需要自己手动配置的

以下的的安装步骤参考自官网 但步骤不一样 这是我认为的最佳安装方法

附上官网参考文档:
https://mariadb.com/kb/en/library/installing-mariadb-binary-tarballs/

开始安装

0x01 解压

解压到 mariadb-VERSION-OS

最终的路径看起来像是这样

/usr/local/mariadb-10.4.7-linux-systemd-x86_64

0x02 建立mysql目录的软连接

ln -s mariadb-VERSION-OS mysql

0x03 建立mysql用户和组

groupadd mysql
useradd -g mysql mysql

0x04 安装

# 进入mariadb的路径
cd mysql

# 安装
./scripts/mysql_install_db --user=mysql

注意 这里要对照命令执行 你所在的目录不对是无法安装的

0x05 分配权限

chown -R root .
chown -R mysql data

0x06 修改配置文件

这一步的目的是为了让 本机上的 mysqlclient mysqladmin 可以通过sock直接连接到server

如果你有其他解决方法这一步可以忽略

vim /etc/my.cnf

找到socket

修改为

socket=/tmp/mysql.sock

0x07 试启动MariaDB

./bin/mysqld_safe --user=mysql

这里会遇到一些错误

例如需要的文件夹没有创建或者是没有权限

根据日志来解决

日志路径就在控制台上

当然你可能还会遇到日志都没有权限创建出来的情况

你需要启动前创建出log文件的路径并赋权

如果你遇到了难以解决的问题请在本文留下评论

0x08 添加到系统服务

请确保 0x07步骤没有任何问题再执行该步骤

确保mariadb此时是未启动的

不同Linux发行版可能服务的路径不太一样

这里以centos为例

cp support-files/systemd/mariadb.service /usr/lib/systemd/system/mariadb.service

启动服务

service mariadb start

0x09 添加环境变量

这一步非必要 主要是能方便使用mysql的一些命令工具

export PATH=$PATH:/usr/local/mysql/bin/

0x0a 连接到MariaDB

默认的root用户无密码 仅限localhost连接
所以需要本机链接到mariadb调整

mysql -uroot

0x0b 增加一个可以远程访问的用户

在mysqlclient里执行

use mysql;

--修改权限。%表示针对所有IP,password表示将用这个密码登录root用户
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;


--立即生效
FLUSH PRIVILEGES;

至此 大功告成

TIPS

惯例tips

这次没什么好讲的了 姑且算是都很顺利

那就随便唠唠

这种部署方式我推荐用在测试环境/开发环境

你可以看到部署完之后配置文件其实很少的 连仅本机访问的配置文件都没有

或者说还少一些步骤 可以把一些生产的预设配置拷贝过去

详情请参阅官方文档

总之对于我要搭建的测试环境就到此结束了