1苦掘、卸載系統(tǒng)自帶的MariaDB數(shù)據(jù)庫
# find -H /etc/ | grep my.cnf
# rpm -qa|grep mariadb-libs
# rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64
2婚瓜、安裝相關依賴包
# yum install cmake openssl-devel zlib-devel ncurses-devel? -y
# yum install readline-devel openssl-devel libaio-devel -y
3歧强、創(chuàng)建MariaDB安裝目錄睁搭、數(shù)據(jù)庫存放目錄、建立用戶和目錄
# mkdir -p /usr/local/mysql? ? ? ? ? ?#創(chuàng)建maria安裝目錄
# mkdir -pv /app/mysql/{data,bin_log,run,log,tmp} ? ? ? ? ? ? ? ?#創(chuàng)建數(shù)據(jù)庫存放目錄
# groupadd -r mysql? ? ? ? ? ? ? ? ? ?#創(chuàng)建mysql系統(tǒng)用戶組及用戶
# chown -R mysql:mysql /app/mysql/? ? ? #添加權限?
4、執(zhí)行編譯安裝
# tar -zvxf?mariadb-10.2.13.tar.gz
# cd?mariadb-10.2.13
# 開始編譯
# cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/app/mysql/data \
-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=/app/mysql/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
注意:如果萬一執(zhí)行中有了錯誤存筏,可以執(zhí)行: rm -f CMakeCache.txt 刪除編譯緩存,讓指令重新執(zhí)行味榛,否則每次讀取這個文件椭坚,命令修改正確也是報錯
# make && make install? ? ? ? ? ? ? ?# 安裝
------執(zhí)行完成也就是安裝完成了------------
5、配置MariaDB
# cd /usr/local/mysql/? ? ? ? ? ? ? ? #進入mysql安裝目錄分別執(zhí)行下面命令:
# chown -R mysql:mysql .? ? ? ? ??
# scripts/mysql_install_db --datadir=/app/mysql/data --user=mysql??
# chown -R root .
#cp support-files/mysql.server /etc/init.d/mysqld
# cp support-files/my-large.cnf /etc/my.cnf? ? ?
# grep -v ^# /etc/my.cnf | grep -v ^$? ? ? ?#查看my.cnf配置
6搏色、初始化MariaDB
# ./bin/mysql_secure_installation? ? ? ? ? #輸入你的新密碼善茎,匿名用戶,禁止root遠程登錄频轿,是否刪除test數(shù)據(jù)庫垂涯。
----------------------------------------------
#由于一開始安裝MariaDB數(shù)據(jù)庫后, root用戶默認密碼為空, 所以只需要按Enter鍵
Enter current password for root (enter for none):
#是否設置root用戶的新密碼
Set root password? [Y/n] y
#錄入新密碼
New password:
#確認新密碼
Re-enter new password:
#是否刪除匿名用戶,生產(chǎn)環(huán)境建議刪除
Remove anonymous users? [Y/n] y
#是否禁止root遠程登錄,根據(jù)自己的需求選擇
Disallow root login remotely? [Y/n] n
#是否刪除test數(shù)據(jù)庫
Remove test database and access to it? [Y/n] y
#是否重新加載權限表
Reload privilege tables now? [Y/n] y
-------------------------------------------------
#systemctl start mysqld? ? ? ? ? ? ? ?# 啟動MYSQL服務
#?ln -sv /usr/local/mysql/bin/mysql? /usr/bin/? ? ? ?#添加軟鏈接Mysql
# mysql? ? -uroot? -p? ? ? ?#連接數(shù)據(jù)庫
安裝配置完成烁焙。
==========================================================
編譯注解:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \? ? # 指定安裝的根目錄
-DMYSQL_DATADIR=/app/mysql/data \? ? # 數(shù)據(jù)存儲目錄
-DTMPDIR=/app/mysql/tmp \? ? # 臨時文件存放目錄
-DMYSQL_UNIX_ADDR=/app/mysql/run/mysqld.sock \? ? # UNIX socket文件
-DSYSCONFDIR=/etc \? ? ? ? ? ? ? ? ? ? # 配置文件存放目錄,具體的配置文件是/etc/my.cnf
-DWITH_MYISAM_STORAGE_ENGINE=1 \? ? ? ? # Myisam 引擎支持
-DWITH_INNOBASE_STORAGE_ENGINE=1? \? ? # innoDB 引擎支持
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \? ? ? ? ? # ARCHIVE 引擎支持
-DWITH_BLACKHOLE_STORAGE_ENGINE=1? \? ? # BLACKHOLE 引擎支持
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \? ? # PERFSCHEMA 引擎支持
-DWITH_FEDERATED_STORAGE_ENGINE=1? \? ? # FEDERATEDX 引擎支持
-DWITH_TOKUDB_STORAGE_ENGINE=1 \? ? ? ? # TOKUDB 引擎支持
-DWITH_XTRADB_STORAGE_ENGINE=1? \? ? ? ? # XTRADB 引擎支持
-DWITH_ARIA_STORAGE_ENGINE=1 \? ? ? ? ? ? # ARIA 引擎支持
-DWITH_PARTITION_STORAGE_ENGINE=1 \? ? # PARTITION 引擎支持
-DWITH_SPHINX_STORAGE_ENGINE=1 \? ? ? ? # SPHINX 引擎支持
-DWITH_READLINE=1 \? ? ? ? ? ? ? ? ? ? # readline庫
-DMYSQL_TCP_PORT=3306 \? ? ? ? ? ? ? ? # TCP/IP端口
-DENABLED_LOCAL_INFILE=1? \? ? ? ? ? ? # 啟用加載本地數(shù)據(jù)
-DWITH_EXTRA_CHARSETS=all \? ? ? ? ? ? # 擴展支持編碼 ( all | utf8,gbk,gb2312 | none )
-DEXTRA_CHARSETS=all \? ? ? ? ? ? ? ? ? ? # 擴展字符支持
-DDEFAULT_CHARSET=utf8 \? ? ? ? ? ? ? ? # 默認字符集
-DDEFAULT_COLLATION=utf8_general_ci \? ? # 默認字符校對
-DCMAKE_EXE_LINKER_FLAGS='-ljemalloc' \ # Jemalloc內(nèi)存管理庫
-DWITH_SAFEMALLOC=OFF \? ? ? ? ? ? ? ? # 關閉默認內(nèi)存管理
-DWITH_DEBUG=0 \? ? ? ? ? ? ? ? ? ? ? ? # 關閉調(diào)試模式? ? ? ?
-DENABLE_PROFILING=1 \? ? ? ? ? ? ? ? ? ? # 啟用性能分析功能
-DWITH_SSL=system \? ? ? ? ? ? ? ? ? ? ? ? # 使用系統(tǒng)上的自帶的SSL庫
-DWITH_ZLIB=system \? ? ? ? ? ? ? ? ? ? # 使用系統(tǒng)上的自帶的zlib庫
-DWITH_LIBWRAP=0? ? ? ? ? ? ? ? ? ? ? ? # 禁用libwrap庫
==========================================================
2耕赘、故障處理:
2017-10-20 11:18:40 140526456133696 [Note] /usr/local/mysql/bin/mysqld (mysqld 10.2.7-MariaDB-log) starting as process 7649 ...
2017-10-20 11:18:40 140526456133696 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2017-10-20 11:18:40 140526456133696 [Note] InnoDB: Uses event mutexes
2017-10-20 11:18:40 140526456133696 [Note] InnoDB: Compressed tables use zlib 1.2.7
2017-10-20 11:18:40 140526456133696 [Note] InnoDB: Using Linux native AIO
2017-10-20 11:18:40 140526456133696 [Note] InnoDB: Number of pools: 1
2017-10-20 11:18:40 140526456133696 [Note] InnoDB: Using SSE2 crc32 instructions
2017-10-20 11:18:40 140526456133696 [ERROR] mysqld: Can't create/write to file '/usr/local/mysql/tmp/ibvlB0yL' (Errcode: 2 "No such file or directory")
2017-10-20 11:18:40 140526456133696 [ERROR] InnoDB: Unable to create temporary file; errno: 2
2017-10-20 11:18:40 140526456133696 [ERROR] mysqld: Can't create/write to file '/usr/local/mysql/tmp/ibJ0tHZ9' (Errcode: 2 "No such file or directory")
2017-10-20 11:18:40 140526456133696 [ERROR] InnoDB: Unable to create temporary file; errno: 2
2017-10-20 11:18:40 140526456133696 [ERROR] mysqld: Can't create/write to file '/usr/local/mysql/tmp/ibOCtoqy' (Errcode: 2 "No such file or directory")
2017-10-20 11:18:40 140526456133696 [ERROR] InnoDB: Unable to create temporary file; errno: 2
2017-10-20 11:18:40 140526456133696 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
2017-10-20 11:18:40 140526456133696 [Note] InnoDB: Starting shutdown...
2017-10-20 11:18:40 140526456133696 [ERROR] Plugin 'InnoDB' init function returned error.
2017-10-20 11:18:40 140526456133696 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2017-10-20 11:18:40 140526456133696 [Note] Plugin 'FEEDBACK' is disabled.
2017-10-20 11:18:40 140526456133696 [ERROR] Unknown/unsupported storage engine: InnoDB
2017-10-20 11:18:40 140526456133696 [ERROR] Aborting
171020 11:18:40 mysqld_safe mysqld from pid file /data/mysql/data/linux-node3.example.com.pid ended
解決方法:
在my.cnf配置文件中查找”[mysqld]“骄蝇,在其下添加一行:
tmpdir=%你想指定的MySQL臨時文件目錄(例如 D:temp)%