溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mariadb-10.1.22mariadb編譯安裝

發(fā)布時間:2020-07-14 21:37:51 來源:網(wǎng)絡 閱讀:629 作者:清風一明月 欄目:數(shù)據(jù)庫

官方下載地址: 

https://mirrors.tuna.tsinghua.edu.cn/mariadb//mariadb-10.1.22/source/mariadb-10.1.22.tar.gz

1、首先查詢下是否安裝了mysql或者舊版本mariadb

rpm -qa | grep mysql

刪除rm -rf /etc/my.cnf

2、安裝依賴包

#  yum install  -y  libevent 

# yum groupinstall -y Development Tools

# yum install -y ncurses-devel openssl-devel openssl 

3、創(chuàng)建數(shù)據(jù)庫用戶及組

#groupadd mysql

#useradd mysql -s /sbin/nologin -g mysql -M mysql

4、創(chuàng)建數(shù)據(jù)庫數(shù)據(jù)存放目錄及賦予權限

#mkdir /appliction/mydata -p

#chown mysql.mysql /appliction/mydata -R

一、編譯安裝開始

1、解壓

#tar zxf mariadb-10.1.22.tar.gz

#cd mariadb-10.1.22

#cmake . -DCMAKE_INSTALL_PREFIX=/appliction/mysql \      //安裝目錄

          -DMYSQL_DATADIR=/appliction/mydata \      //數(shù)據(jù)庫存放目錄

          -DWITH_INNOBASE_STORAGE_ENGINE=1 \       //支持數(shù)據(jù)庫innobase引擎

          -DWITH_ARCHIVE_STORAGE_ENGINE=1 \       //支持數(shù)據(jù)庫archive引擎

          -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \     //支持數(shù)據(jù)庫blackhole存儲引擎

          -DWITH_READLINE=1 \                                    

          -DWITH_SSL=system \                                    

          -DWITH_ZLIB=system \

          -DWITH_LIBWRAP=0 \

          -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \                   

          -DDEFAULT_CHARSET=utf8 \             //字符集utf8

          -DDEFAULT_COLLATION=utf8_general_ci \    //校驗字符

          -DENABLED_LOCAL_INFILE=1             //允許本地導入數(shù)據(jù) 

執(zhí)行編譯安裝:

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data1/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_LOBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

  這里說明一下:-DCMAKE_INSTALL_PREFIX是指定安裝的位置,這里是/usr/local/mysql,-DMYSQL_DATADIR是指定MySQL的數(shù)據(jù)目錄,這里是/data1/mysql,安裝目錄和數(shù)據(jù)目錄都可以自定義設置,-DSYSCONFDIR是指定配置文件所在的目錄,一般都是/etc ,具體的配置文件是/etc/my.cnf,-DWITHOUT_TOKUDB=1這個參數(shù)一般都要設置上,表示不安裝tokudb引擎,tokudb是MySQL中一款開源的存儲引擎,可以管理大量數(shù)據(jù)并且有一些新的特性,這些是Innodb所不具備的,這里之所以不安裝,是因為一般計算機默認是沒有Percona Server的,并且加載tokudb還要依賴jemalloc內(nèi)存優(yōu)化,一般開發(fā)中也是不用tokudb的,所以暫時屏蔽掉,否則在系統(tǒng)中找不到依賴會出現(xiàn):CMake Error at storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompilerNaNake:179 (message)這樣的錯誤,然后后面那些參數(shù)都是可選的,可以加也可以不加,最后的編碼建議設置一下,所以編譯指令也可以簡化成下面這樣:

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data1/mysql -DSYSCONFDIR=/etc -DWITHOUT_TOKUDB=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

注意:如果萬一執(zhí)行中有了錯誤,可以執(zhí)行: rm -f CMakeCache.txt 刪除編譯緩存,讓指令重新執(zhí)行,否則每次讀取這個文件,命令修改正確也是報錯

#make -j4

#make install

  cmake沒問題,可以編譯并且安裝了: make && make install 時間有點長,耐心等待

  執(zhí)行完成也就是安裝完成了,現(xiàn)在執(zhí)行 cd /usr/local/mysql/ 進入mysql安裝目錄分別執(zhí)行下面命令:

chown -R mysql:mysql .

scripts/mysql_install_db --datadir=/data1/mysql --user=mysql

chown -R root .

cp support-files/mysql.server /etc/init.d/mysqld

  然后還可以將mysqld添加至系統(tǒng)服務:

chkconfig --add mysqld   # 添加至系統(tǒng)服務

chkconfig mysqld on    # 設置開機自啟動

  現(xiàn)在如果啟動可能會報錯,原因是日志目錄沒有建立,默認是/var/log/mariadb/mariadb.log,后來也可以修改,現(xiàn)在執(zhí)行: mkdir/var/log/mariadb 建立日志目錄,然后執(zhí)行: /etc/init.d/mysqld start 或者 systemctl start mysqld.service 都可以啟動mysql服務

  啟動服務后,還不能馬上進入mysql shell界面,原因是剛才編譯時執(zhí)行本地socket為:/tmp/mysql.sock但是查看/etc/my.cnf中配置的位置卻是:/var/lib/mysql/mysql.sock,現(xiàn)在執(zhí)行命令: ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock 建立軟鏈接即可

2、配置MariaDB

#cd /appliction/mysql

#scripts/mysql_install_db --user=mysql --datadir=/appliction/mydata

 

復制配置文檔

#cd /appliction/mysql/support-files/

#cp my-large.cnf /etc/my.cnf

創(chuàng)建啟動腳本

# cd /appliction/mysql/support-files/

# cp mysql.server /etc/rc.d/init.d/mysqld

配置環(huán)境變量,方便直接輸入mysql

# cat /etc/profile.d/mysql.sh 

MYSQL_HOME=/appliction/mysql

export PATH=$MYSQL_HOME/bin:$PATH

#source /etc/profile.d/mysql.sh

啟動數(shù)據(jù)庫

# /etc/rc.d/init.d/mysqld start登陸數(shù)據(jù)庫,不需要密碼

報錯rm -f /tmp/mysql.sock

# mysql

qld start

Reloading systemd:               [  OK  ]

Starting mysqld (via systemctl):      [  OK  ]

初始化數(shù)據(jù)庫,此方式可以禁用空密碼登陸,按照提示輸入你需要的Y或者N

# mysql_secure_installation

設置mysql本地方式免密碼登陸

# egrep -v "^$|#" /etc/my.cnf  

[client]

port= 3306

socket= /tmp/mysql.sock

[mysqld]

port= 3306

socket= /tmp/mysql.sock

basedir=/usr/local/mysql(安裝數(shù)據(jù)庫目錄)
datadir=/home/mydata(數(shù)據(jù)存放目錄)

skip-external-locking

key_buffer_size = 256M

max_allowed_packet = 1M

table_open_cache = 256

sort_buffer_size = 1M

read_buffer_size = 1M

read_rnd_buffer_size = 4M

myisam_sort_buffer_size = 64M

thread_cache_size = 8

query_cache_size= 16M

thread_concurrency = 8

log-bin=mysql-bin

binlog_format=mixed

server-id= 1

[mysqldump]

quick

max_allowed_packet = 16M

[mysql]

no-auto-rehash

user = root

password = 123456

host = 127.0.0.1

[myisamchk]

key_buffer_size = 128M

sort_buffer_size = 128M

read_buffer = 2M

write_buffer = 2M

[mysqlhotcopy]

interactive-timeout

 

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI