
這只可耐的“小孩疼”充斥了我目前的整個實習(xí)生涯。
今天作為我裝MySQL的第N次嘗試,坐在電腦前,等待小孩疼下載安裝的憩時,默默碼下這些天跟MySQL的愛恨情愁。
關(guān)于MySQL,想來能有興趣點開我這篇文章的伙計大概是不需要我介紹什么是MySQL了。今天主要講的是關(guān)于安裝MySQL的過程。當(dāng)然,肯定不是簡單的Windows系統(tǒng)裝MySQL,而是Macbook裝MySQL以及CentOS7.0、Ubuntu16系統(tǒng)裝MySQL??吹竭@里就大概了解了,作者已經(jīng)在各種不同的系統(tǒng)版本下裝過MySQL無數(shù)次,也隨之而來踩過無數(shù)次坑,遇到無數(shù)次bug,查查補補能安裝成功也算幸事。
一、Macbook下使用MySQL或navicat Premium
Macbook說用戶體驗,的確很好,但是就市面的一些出名軟件,能做到有mac版本的都會有,實在沒有的,咱們用戶也沒辦法,所以其實在大學(xué)中,眾多需要windows系統(tǒng)下才能使用的軟件,我壓根沒用過,例如Visio,例如PowerDesigner,盡管mac版本有不同的代替品,不過體驗都是不一樣的嘛。
1. MySQL在Macbook上的安裝
網(wǎng)上其實一大批博文,我這里給大家介紹一篇
references:mac安裝mysql的兩種方法(含配置)
這里就涉及到Oracle的使用啦,身為一只假的程序員,Oracle課程學(xué)習(xí)是必備的,那么Macbook擁有者,如何快速實現(xiàn)使用Oracle進行數(shù)據(jù)庫操作呢,這個就更簡單了。安裝Navicat Premium,關(guān)于付費、試用、破解,當(dāng)然是鼓勵支持正版,但你要實在能找到破解版且愿意使用也不能強迫你。
在我們進行相關(guān)課程學(xué)習(xí)時,大部分同學(xué)都是使用學(xué)校機房搭建好的透明實驗室,使用賬號連接即可,當(dāng)然機房不開放了你就用不了了,所以我選擇了一種投機取巧的方式。
1. 安裝Navicat Premium
2.連接某同學(xué)已經(jīng)配置好的能使用Oracle的服務(wù)器
3.選擇新建數(shù)據(jù)庫,并選擇Oracle類型,大功告成!
注意:使用這種騷操作的同學(xué)會發(fā)現(xiàn),你無法進行授權(quán)、新建用戶或涉及權(quán)限的操作,這個問題我并沒有去解決,所以也沒法給出解決方案。Navicat Premium不僅支持Oracle、MySQL、PostgreSQL、SQL server、MariaDB、SQLite等,基本是一app在電腦,各種數(shù)據(jù)庫操作都能試試了。
二、MySQL5.7在ubuntu16下的安裝
reference:ubuntu-16.04源碼編譯安裝mysql-5.7.17
講真,我大概是個被上帝詛咒的天使,安裝MySQL能遇到各種問題,諸如上看貼的文章的安裝方式,我硬是一步一個鐵坑,頭鐵少女從cmake的bug坑好不容易走到make install complete,結(jié)果測試啟動失敗,over~ 源碼安裝方式失敗。
最后又重新找合適的博文,目前正在安裝中....
reference: 安裝Percona Server 5.7
源碼安裝步驟:
1.如果你暫未在ubuntu 系統(tǒng)中安裝git,那么你就需要使用 git 命令查詢你是否安裝了git 如果沒有安裝則輸入? sudo apt-get install git
2. $輸入 git clone https://github.com/percona/percona-server.git
3. $輸入 cdpercona-server
4. $輸入 git checkout5.7
5.$輸入 git submodule init
6.$輸入 git submodule update
7.$輸入 cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_CONFIG=mysql_release -DFEATURE_SET=community -DWITH_EMBEDDED_SERVER=OFF
8.$輸入 make
9.$輸入 make
其中,你可能會遇到:
?運行cmake語句時

此時只需? rm.CMakeCache.txt
然后重新運行cmake語句
?解決上面的問題后,運行cmake,又有錯誤,what the f**k???

如圖所示,當(dāng)前你確實boost1.59.0版本的boost庫,那能有什么辦法呢,只能繼續(xù)找解決辦法,畢竟“現(xiàn)在的我比之前的我更有智慧”。
解決方案:
?在ubuntu系統(tǒng)聯(lián)網(wǎng)下載boost1.59.0版本庫文件
直接在瀏覽器輸入 https://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz/download
然后移動到percona文件夾
cd percona-server
在原有的cmake語句中加入 -DWITH_BOOST=boost_1_59_0.tar.gz 其實就是指定boost所在目錄,這時候如果你之前沒有安裝ncurses,則會報錯,讓你進行安裝,當(dāng)然還有很多需要安裝的庫文件,這里我就只放我遇到缺少的庫文件啦!
sudo apt-get install libncurses5-dev? libncursesw5-dev libreadline-gplv2-dev zlibc zlib1g-dev 基本使用sudo apt-get install 要安裝的庫名 就可以完成。
這里有個小竅門,還是我大哥后面手把手教學(xué)告訴的我,在cmake時先盡量不要加很多參數(shù),要慢慢來,因為這樣你才會知道你缺少哪些庫了。
這里大家可以直接使用ccmake命令,進行可視化查看缺少哪些庫文件,有時候會遇到類似xplugin變量找不到的情況,這時候使用ccmake命令,你會發(fā)現(xiàn)可能是你某個test選項打開了,只需要調(diào)整為off就可以啦,按c命令可以實時刷新你下載的庫文件。
大功告成!
三、MySQL8.0在ubuntu16.04系統(tǒng)下的安裝
就我目前的安裝經(jīng)驗,果不其然,源碼安裝肯定會報一大堆錯誤,系統(tǒng)也重裝過好幾次了,于是我在網(wǎng)上找到了一篇巨簡單的二進制安裝方式。
reference:Installing MySQL 8.0 on Ubuntu 16.04 LTS in Five Minutes
1.? wget https://dev.mysql.com/get/mysql-apt-config_0.8.10-1_all.deb
2.? sudo dpkg -i mysql-apt-config_0.8.10-1_all.deb
3.? sudo apt-get update
4.? sudo apt-get install mysql-server
最后在/etc/my.cnf文件中添加一句“ +skip-grant-tables” 用于跳過用戶的權(quán)限檢查即可
關(guān)于后面的用戶設(shè)置和密碼之類的在此就不復(fù)述了,廣大的網(wǎng)友的力量總是強大的。
四、MySQL+RocksDB在ubuntu16.04系統(tǒng)下的安裝
reference:
https://www.percona.com/doc/percona-server/LATEST/myrocks/install.html
1. wget https://repo.percona.com/apt/percona-release_0.1-6.$(lsb_release -sc)_all.deb
2. sudo dpkg -i percona-release_0.1-6.$(lsb_release -sc)_all.deb
3. sudo apt-get update
4. sudo apt-get install percona-server-server-5.7
五、MySQL5.6+RocksDB在CentOS7系統(tǒng)下的安裝
首先,很失望的告訴讀者,讀到這里,我大概知道你是特意需要在centos7下使用MyRocks的,但是我只能遺憾的告訴你,我并沒攻關(guān)成功,不知道是因為centos7下面安裝失敗多次,文件太多版本更新之類的問題還是其他,導(dǎo)致最后報出了我無法在網(wǎng)上查詢到解決方案的錯誤。所以最后也沒有安裝成功。
以下是參考內(nèi)容:
reference:AliOS編譯安裝MyRocks
1.安裝必要的依賴包:
sudo yum install cmake gcc-c++ bzip2-devel libaio-devel bison zlib-devel snappy-devel
sudo yum install gflags-devel readline-devel ncurses-devel openssl-devel lz4-devel gdb git
關(guān)于gflags和lz4、zstd依賴包的下載可是費盡了我的腦細胞,最后整理原因,大概就是英語沒學(xué)好的鍋吧。
?gflags安裝:
cd mysql-5.6
git clone https://github.com/gflags/gflags.git
sudo apt-get install libgflags-dev
$ tar xzf gflags-$version-source.tar.gz
$ cd gflags-$version
$ mkdir build && cd build
$ ccmake ..
$ make
?lz4安裝
同理安裝
然后cd到lz4所在目錄 然后直接
$ make
$ make install
完成這兩步之后,如果你的電腦瘋狂報錯提示你zstd包不存在,那么你就需要好好看好我下面寫的了。
?reference: https://github.com/facebook/zstd
首先切換到mysql目錄下
git clone https://github.com/facebook/zstd.git
make
make install
make check
然后就繼續(xù)博客的內(nèi)容:
1. git clone https://github.com/facebook/mysql-5.6.git
2. cd mysql-5.6
3. git submodule init
4. git submodule update
5. cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo -DWITH_SSL=system -DWITH_ZLIB=bundled -DMYSQL_MAINTAINER_MODE=0-DENABLED_LOCAL_INFILE=1
6. make-j8
7. make install 指定文件夾
然后啟動可能會遇到sock文件不存在呀,找不到pid、mysqld文件啊諸如此類的,到時候在網(wǎng)上查找解決方案即可。
希望以上內(nèi)容對大家有所幫助。
po一篇長文,也為自己轉(zhuǎn)戰(zhàn)PM秋招積累人品。歡迎騷擾~