环境
1. 系统:Centos 8 mariadb-10.5.2 2. 依赖处理
代码语言:javascript复制dnf install -y gcc make gcc-c libxml2 libxml2-devel
openssl openssl-devel bzip2 bzip2-devel curl-devel
postgresql-devel libpng libjpeg-devel libjpeg
libpng-devel freetype freetype-devel libicu-devel
libzip cmake ncurses-devel
安装部署
1. 创建程序用户 请按需修改
groupadd -r mariadb
useradd -g mariadb -s /sbin/nologin mariadb
2. 创建程序及数据目录 请按需修改
mkdir /usr/local/mariadb
mkdir /data/mariadb
chown -Rf mariadb:mariadb /data/mariadb
3. 编译安装 请按需修改
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb
-DMYSQL_DATADIR=/data/mariadb
-DSYSCONFDIR=/etc
-DWITHOUT_TOKUDB=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STPRAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWIYH_READLINE=1
-DWIYH_SSL=system
-DVITH_ZLIB=system
-DWITH_LOBWRAP=0
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock
make -j 4
make install
// 删除默认配置文件
rm -rf /etc/my.cnf
// 生成新的配置文件、数据文件
./scripts/mysql_install_db --user=mariadb --basedir=/usr/local/mariadb --datadir=/data/mariadb
4. 修改配置、添加启动项 请按需修改
// 复制启动脚本到 /etc/rc.d/init.d/mysqld,并赋予执行权限
cd /usr/local/mariadb
bin/mysqld_safe --datadir='/data/mariadb'
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod 755 /etc/rc.d/init.d/mysqld
// 修改启动脚本`$bindir/mysqld_safe --datadir="$datadir"`这行
// 改为 `$bindir/mysqld_safe --user=root --datadir="$datadir"`,加入 --user=root,不然会启动失败
vim /etc/init.d/mysqld
systemctl daemon-reload
service mysqld start
// 加入启动项
chkconfig mysqld on
ln -s /usr/local/mariadb/lib/mysql /usr/lib/mariadb (可忽略)
mkdir /var/lib/mariadb (可忽略)
ln -s /tmp/mysql.sock /var/lib/mariadb/mysql.sock
ln -s /usr/local/mariadb/include/mysql /usr/include/mariadb
5. 初始化数据及简单安全配置 请按需修改
// 初始化数据
bin/mysql_secure_installation
代码语言:javascript复制 // 添加变量
echo "export PATH=$PATH:/usr/local/mariadb/bin" >> /etc/profile
source /etc/profile