這篇文章主要介紹“MySQL5.6.17編譯安裝的方法介紹”,在日常操作中,相信很多人在mysql5.6.17編譯安裝的方法介紹問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”mysql5.6.17編譯安裝的方法介紹”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!
公司主營(yíng)業(yè)務(wù):網(wǎng)站設(shè)計(jì)、做網(wǎng)站、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)建站是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)建站推出鄂托克前免費(fèi)做網(wǎng)站回饋大家。
我們來看看mysql的rpm包安裝,之后來看一下源碼編譯,包括SRPM源碼包安裝三種安裝方式:
mysql 5.6.17 RPM的安裝:
一、yum 安裝mysql
注:安裝前最后先刪除/etc/my.cnf文件
yum localinstall MySQL-*
安裝完畢后 它會(huì)在 ~/.mysql_secret的文件,該文件存儲(chǔ)著第一次的隨機(jī)密碼。
head -1 .mysql_secret| awk -F: '{print $NF}'
當(dāng)?shù)谝淮蔚卿洉r(shí),需要使用密碼。登錄mysql之后必須修改密碼才可以其它操作:
set password=password("123");
安裝完畢后會(huì)在/usr/bin/產(chǎn)生一個(gè)mysql的安全機(jī)制文件:
/usr/bin/mysql_secure_installation
二、源碼包安裝mysql 5.6.17
mysql5.6.17 的源碼包安裝:
cmake . 默認(rèn)源碼包編譯
useradd -r -s /sbin/nologin mysql
yum -y install gcc gcc-c++ cmake ncurses-devel
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DDEFAULT_CHARSET=utf8
-DENABLE_LOCAL_INFILE
例:
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/var/lib/mysql
-DSYSCONFDIR=/etc
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1
-DWITH_PARTITION_STORAGE_ENGINE=1
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock
-DENABLED_LOCAL_INFILE=1
-DEXTRA_CHARSETS=all
-DMYSQL_USER=mysql
說明:
DENABLE_LOCAL_INFILE 表示mysql可以讀取外部文件
DDEFAULT_CHARSET 指定字符集
DEXTRA_CHARSETS=all 擴(kuò)展字符集
DMYSQL_UNIX_ADDR 指定socket文件的位置
DWITH_INNOBASE_STORAGE_ENGINE 指定是否支持innodb存儲(chǔ)引擎 (默認(rèn)支持)
DWITH_ARCHIVE_STORAGE_ENGINE 指定是否支持archive存儲(chǔ)引擎(默認(rèn)支持)
DWITH_INNODB_MEMCACHED 指定是否支持memcached
DWITH_BLACKHOLE_STORAGE_ENGINE指定是否支持blackhole存儲(chǔ)引擎(默認(rèn)支持)
DWITH_FEDERATED_STORAGE_ENGINE指定是否支持federated存儲(chǔ)引擎
DWITH_PARTITION_STORAGE_ENGINE指定是否支持?jǐn)?shù)據(jù)庫分區(qū)功能
DWITH_PERFSCHEMA_STORAGE_ENGINE指定是否支持perfschema存儲(chǔ)引擎(默認(rèn)支持)
gmake
make install
cd /usr/local/mysql/
cp support-file/mysql.server /etc/init.d/mysql #mysql服務(wù)啟動(dòng)腳本
cp support-file/my-default.cnf /etc/my.cnf #mysql的配置文件
vim /etc/my.cnf
basedir = /usr/local/mysql
datadir = /var/lib/mysql # 如果安裝時(shí)未指定,它默認(rèn)在/usr/local/mysql/data目錄中。
port = 3306
socket = /tmp/mysqld.sock
mkdir /var/lib/mysql
chown mysql. /var/lib/mysql
cd /usr/local/mysql/scripts/
./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/var/lib/mysql --no-defaults #安裝默認(rèn)的mysql系統(tǒng)庫
ls /var/lib/mysql/
service mysql start
測(cè)試登錄
vim ~/.bash_profile
PATH= :/usr/local/mysql/bin
source ~/.bash_profile
當(dāng)然可以設(shè)置 /etc/bashrc,添加 PATH=$PATH:/usr/local/mysql/bin,這樣針對(duì)所有用戶生效。
如果使用install文件中的shell代碼安裝,安裝完畢后需要重新安裝系統(tǒng)數(shù)據(jù)庫。
三、mysql5.6.17 的SRPM源碼包安裝
# yum -y remove mysql mysql-server cmake
# rm -rf /etc/my.cnf
# yum -y groupinstall "Development tools"
創(chuàng)建普通用戶
cp mysql*.src.rpm /home/普通用戶/
chown 普通用戶 mysql*.src.rpm
yum -y install rpm-build gcc gcc-c++ cmake ncurses ncurses-devel zlib-devel
yum -y install libaio-devel
su - 普通用戶
rpmbuild ~ #生成環(huán)境目錄
rpm -ivh mysql*.src.rpm
cd rpmbuild/SPEC/
它會(huì)依賴:gperf-3.0.3-9.1.el6.x86_64.rpm和libaio-devel
rpmbuild -bb mysql.spec
最后上一張照片,希望大家在新的一年里,可以如海鷗一樣,在自己的藍(lán)天自由的翱翔。
照片之后是拍錯(cuò)指南,在你把上面的實(shí)驗(yàn)親自做過之后在看哦。
================================================
排錯(cuò):以下現(xiàn)象
[root@node3 lib]# service mysql start
Starting MySQL...The server quit without updating PID file (/var/lib/mysql/node3.domain40.example.com.pid). [失敗]
解決方法,開啟/etc/my.cnf中相關(guān)行:
[mysqld_safe]
log-error=/var/log/mysql.log
pid-file=/var/run/mysql/mysqld.pid
如果現(xiàn)象依然存在,可以手工創(chuàng)建: mkdir -p /var/run/mysql && chown mysql.mysql /var/run/mysql
如果故障仍舊,請(qǐng)確認(rèn)selinux處于關(guān)閉狀態(tài)。
如果故障仍然存在: tail -2 /var/log/mysql.log 文件,再現(xiàn)以下行
[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
表示 : 未找到mysql 的privileges tables ,使用 ls /var/lib/mysql/mysql/ 查看該目錄下沒有任何內(nèi)容。
解決辦法: ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/var/lib/mysql 重新初始化系統(tǒng)庫
使用 ls /var/lib/mysql/mysql 查看該目錄下已經(jīng)有了mysql系統(tǒng)庫文件
service mysql start 問題解決
到此,關(guān)于“mysql5.6.17編譯安裝的方法介紹”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!