创建用户组
[root@cff51db969be ~]# groupadd -r mysql && useradd -c "MariaDB Server" -r -g mysql -s /sbin/nologin -d /usr/local/mariadb mysql -M
赋予用户数据目录权限
mkdir -pv /data/mariadb && chown -R mysql:mysql /data/mariadb
安装相关依赖
[root@cff51db969be ~]# yum -y install gcc gcc-c++ make autoconf automake libtool
[root@cff51db969be ~]# yum -y install openssl openssl-devel ncurses ncurses-devel bison bison-devel boost boost-devel jemalloc jemalloc-devel bzip2 bzip2-devel libxml2 libxml2-devel perl perl-devel lsof libaio-devel libcurl-devel libarchive-devel libevent-devel pcre-devel pcre2-devel zlib-devel kernel-headers kernel-devel zip tar m4 git gnutls-devel
安装编译工具
[root@cff51db969be ~]# wget -P '/usr/local/src' https://cmake.org/files/v3.19/cmake-3.19.5.tar.gz
[root@cff51db969be ~]# cd /usr/local/src
[root@cff51db969be ~]# tar -zxvf cmake-3.19.5.tar.gz -C '/usr/local/src'
[root@cff51db969be ~]# cd cmake-3.19.5
[root@cff51db969be ~]# ./bootstrap
[root@cff51db969be ~]# gmake && gmake install # 或者 make && make install
[root@cff51db969be ~]# cmake --version
编译安装MariaDB
[root@cff51db969be ~]# wget https://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-10.5.9/source/mariadb-10.5.9.tar.gz
[root@cff51db969be ~]# tar -zxvf mariadb-10.5.9.tar.gz
[root@cff51db969be ~]# cd mariadb-10.5.9
[root@cff51db969be mariadb-10.8.3]# cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mariadb \
-DMYSQL_UNIX_ADDR=/data/mariadb/mysql.sock \
-DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/data/mariadb \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306 \
-DWITHOUT_TOKUDB=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_DEBUG=0 \
-DWITH_READLINE=1 \
-DWITH_BOOST=system \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DENABLED_LOCAL_INFILE=1
[root@cff51db969be mariadb-10.8.3]# make && make install
配置MariaDB
# 安装数据库到数据目录
/usr/local/mariadb/scripts/mysql_install_db --user=mysql --datadir=/data/mariadb
# 复制 MariaDB 配置文件到 /etc 目录
cp /usr/local/mariadb/support-files/wsrep.cnf /etc/my.cnf
# 创建启动脚本
cp /usr/local/mariadb/support-files/mysql.server /etc/rc.d/init.d/mysqld
# 启动服务
/etc/rc.d/init.d/mysqld start
# 配置环境变量
echo -e "export PATH=\$PATH:/usr/local/mariadb/bin/" > /etc/profile.d/mysql.sh
chmod 0777 /etc/profile.d/mysql.sh
source /etc/profile.d/mysql.sh
初始化MariaDB
# 运行 MariaDB 初始化脚本
mysql_secure_installation
Enter current password for root (enter for none): # 直接Enter,预设MariaDB没有密码
Switch to unix_socket authentication [Y/n] y # y,切换到
Change the root password? [Y/n] y # y,设定root密码
Remove anonymous users? [Y/n] y # y,移除匿名登入
Disallow root login remotely? [Y/n] y # y,移除远端登入权限
Remove test database and access to it? [Y/n] y # y,移除测试资料库和Reload privilege tables now? [Y/n] y # y,重新载入权限表
设置自启动
systemctl enable mysqld.service && systemctl start mysqld.service
安装过程报错
//log_daemon_msg: command not found
yum -y install lsb
------------------
//Host xxx is not allowed to connect to this MariaDb server
mysql> GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; 授权所有IP-方法1
mysql> GRANT ALL PRIVILEGES ON *.* TO 'user'@'116.30.70.187' IDENTIFIED BY 'password' WITH GRANT OPTION; 授权指定IP-方法2
mysql>use mysql; 切换到mysql自带库-方法3
mysql>update user set host = '%' where user = 'root' and host='localhost'; 修改user表root用户host字段为%(所有IP)