1、查看数据库配置文件
[root@i****z ~]# find -H /etc/ | grep my.c
/etc/pki/tls/certs/make-dummy-cert
/etc/pki/tls/certs/renew-dummy-cert
/etc/my.cnf
/etc/my.cnf.d
/etc/my.cnf.d/mysql-clients.cnf
2、删除数据库配置文件
[root@i****z ~]# rm -rf /etc/my.cnf /etc/my.cnf.d/
[root@i****z ~]#
3、查找、卸载系统自带mariadb-libs
[root@i****z ~]# rpm -qa|grep mariadb-libs
mariadb-libs-5.5.52-1.el7.x86_64
[root@i****z ~]# rpm -e mariadb-libs-5.5.52-1.el7.x86_64 --nodeps
warning: file /etc/my.cnf.d/mysql-clients.cnf: remove failed: No such file or directory
warning: file /etc/my.cnf.d: remove failed: No such file or directory
warning: file /etc/my.cnf: remove failed: No such file or directory
4、安装相关依赖包
[root@i****z ~]# yum -y install libaio libaio-devel bison bison-devel zlib-devel
[root@i****z ~]# yum -y install openssl openssl-devel ncurses ncurses-devel libcurl-devel libarchive-devel
[root@i****z ~]# yum -y install boost boost-devel cmake cmake-devel
5、创建用户和组
[root@i****z ~]# groupadd -r mysql
[root@i****z ~]# useradd -g mysql -s /sbin/nologin mysql
6、创建安装目录和数据目录,MariaDB官网下载https://downloads.mariadb.org/
[root@i****z ~]# mkdir /usr/local/mysql
[root@i****z ~]# mkdir -p /data/mysql
# 下面一句表示创建数据库,在安装完成后,初始化数据库的时候会自动加载data、bin_log等库,可以不使用
[root@i****z ~]# mkdir -pv /data/mysql/{data,bin_log,run,log,tmp}
[root@i****z ~]# chown -R mysql:mysql /usr/local/mysql/
[root@i****z ~]# chown -R mysql:mysql /data/mysql/
[root@i****z ~]# cd /usr/local/mysql/
[root@i****z mysql]# wget -O mariadb-10.3.9.tar.gz https://downloads.mariadb.org/interstitial/mariadb-10.3.9/source/mariadb-10.3.9.tar.gz/from/http%3A//mirrors.neusoft.edu.cn/mariadb/?serve
[root@i****z mysql]# tar -zxvf mariadb-10.3.9.tar.gz
[root@i****z mysql]# cd mariadb-10.3.9
7、创建编译文件并编译(如果在编译过程中提示内存不足,请查看文章末尾内容)
[root@i****z mariadb-10.3.9]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql \
-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_LIBWRAP=0 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_unicode_ci
# 说明
# -DCMAKE_INSTALL_PREFIX=/usr/local/mysql 安装根目录
# -DMYSQL_DATADIR=/data/mysql 数据存储目录
# -DSYSCONFDIR=/etc 配置文件存放目录
# -DMYSQL_UNIX_ADDR=/tmp/mysql.sock 临时文件存放目录
# -DWITHOUT_TOKUDB=1 tokudb引擎不支持
# -DWITH_INNOBASE_STORAGE_ENGINE=1 innoDB引擎支持
# -DWITH_ARCHIVE_STPRAGE_ENGINE=1 archive引擎支持
# -DWITH_BLACKHOLE_STORAGE_ENGINE=1 blackhole引擎支持
# -DWIYH_READLINE=1 readline库
# -DWIYH_SSL=system 使用系统自带的ssl库
# -DVITH_ZLIB=system 使用系统自带的zlib库
# -DWITH_LIBWRAP=0 禁用libwrap库
# -DDEFAULT_CHARSET=utf8mb4 默认字符集
# -DDEFAULT_COLLATION=utf8mb4_unicode_ci 默认字符集校对
[root@i****z mariadb-10.3.9]# make && make install
# 编译过程有点漫长......
# 如果报以下错误,说明内存小,编译失败(安装MySQL遇到过)
c++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://bugzilla.redhat.com/bugzilla> for instructions.
make[2]: *** [sql/CMakeFiles/sql_gis.dir/gis/crosses.cc.o] Error 4
make[1]: *** [sql/CMakeFiles/sql_gis.dir/all] Error 2
make: *** [all] Error 2
8、切换至安装目录,执行生成数据库操作,添加开机启动,添加系统服务
[root@i****z mariadb-10.3.9]# cd /usr/local/mysql/
[root@i****z mysql]# scripts/mysql_install_db --datadir=/data/mysql --user=mysql
[root@i****z mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@i****z mariadb-10.3.9]# cd /etc/init.d/
[root@i****z init.d]# chkconfig --add mysqld
[root@i****z init.d]# chkconfig mysqld on
9、添加环境变量
[root@i****z mysql]# vim /etc/profile.d/mysql.sh
# 输入内容:
export PATH=$PATH:/usr/local/mysql/bin/
[root@i****z mysql]# chmod 777 /etc/profile.d/mysql.sh
[root@i****z mysql]# source /etc/profile.d/mysql.sh
10、连接测试