天天看點

【MySQL】Linux下MySQL 5.5、5.6和5.7的RPM、二進制和源碼安裝-------------------------------------------------------------------------  實驗中用到的SQL總結

【MySQL】Linux下MySQL 5.5、5.6和5.7的RPM、二進制和源碼安裝

各位技術愛好者,看完本文後,你可以掌握如下的技能,也可以學到一些其它你所不知道的知識,~O(∩_∩)O~:

① MySQL的二進制安裝過程(重點)

② MySQL多執行個體管理(mysqld_multi)

③ MySQL的源碼編譯安裝過程

④ Linux的邏輯卷的使用

⑤ 檔案的MD5值

⑥ 通路MySQL的幾種用戶端工具(Navicat和MySQLWorkbench)

⑦ 修改MySQL的密碼

⑧ 設定MySQL的遠端通路

⑨ 設定MySQL的開機啟動以及多執行個體的開機啟動

⑩ RPM、二進制和源碼編譯的優缺點

自從去年3月份開始寫書到現在,基本上大部分内容都寫完了。一個字,累!三個字,真心累!我也是以錯過了很多的東西,當然也收獲了很多,一切都随緣吧。現在來說說部落格吧,雖然我的部落格在這段時間更新比較頻繁,但是大多内容都不是來自我的原創,基本都是整理自網絡。可能有的朋友就會罵小麥苗了,抄襲抄襲,我不反駁,因為這的确是抄襲。為啥小麥苗要這麼做,可能基于這麼幾個原因吧。第一,幹貨類的文章,本來原創的内容就少,網上的文章也大多是一個抄一個的,很多内容,原創作者已經很難找到了。第二,個别文章并不是很完善,如果不整理在一塊,若下次碰到相同的内容,還是得網上再天翻地覆的搜一遍,太浪費時間了。第三,這些非原創的文章,不僅僅是給網友做參考,更重要的是,小麥苗自己也參考。畢竟人的記憶力是有限的,小麥苗也經常搜尋自己的文章,是以,這并不可恥。第四,有的文章寫得很好,但是裡邊有個别地方寫得不嚴謹,或者寫得有錯誤,這個時候,小麥苗整理到自己部落格的時候就可以順便修改過來。說再多,有的網友覺得,這都是借口,好吧。抄襲就是抄襲,再多借口也改變不了抄襲的本質。小麥苗不再多說了,隻想說一句,不喜勿噴。

從今天開始,小麥苗會準備OCM和MySQL的學習。是以,今天就先把MySQL的各個版本安裝一下吧。要學習MySQL,估計5.5、5.6和5.7版本的都需要安裝。不過,相比Oracle而言,MySQL還是更好安裝一點。

小麥苗出版的書籍:http://blog.itpub.net/26736162/viewspace-2142121/

廢話已經說了很多了,下面開始安裝吧。

在Windows下可以使用NOINSTALL包和圖形化包來安裝,在Linux下可以使用如下3種方式來安裝:

RPM(Redhat Package Manage)

二進制(Binary Package)

源碼(Source Package)

優點

安裝簡單,适合初學者學習使用

安裝簡單;可以安裝到任何路徑下,靈活性好;一台伺服器可以安裝多個MySQL

在實際安裝的作業系統進行可根據需要定制編譯,最靈活;性能最好;一台伺服器可以安裝多個MySQL

缺點

需要單獨下載下傳用戶端和伺服器;安裝路徑不靈活,預設路徑不能修改,一台伺服器隻能安裝一個MySQL

已經經過編譯,性能不如源碼編譯的好;不能靈活定制編譯參數

安裝過程較複雜;編譯時間長

檔案布局

/usr/bin:用戶端程式和腳本

/usr/sbin:mysqld伺服器

/var/lib/mysql:日志檔案,資料庫

/usr/share/doc/packages:文檔

/usr/include/mysql:包含(頭)檔案

/usr/lib/mysql:庫檔案

/usr/share/mysql:錯誤消息和字元集檔案

/usr/share/sql-bench:基準程式

bin:用戶端程式和mysqld伺服器

data:日志檔案,資料庫

docs:文檔,ChangeLog

include:包含(頭)檔案

lib:庫

scripts:mysql_install_db用來初始化系統資料庫

share/mysql:錯誤消息檔案

sql-bench:基準程式

bin:用戶端程式和腳本

include/mysql:包含(頭)檔案

info:Info格式的文檔

lib/mysql:庫檔案

libexec:mysqld伺服器

sql-bench:基準程式和crash-me測試

var:資料庫和日志檔案

主要安裝過程

在大多數情況下,下載下傳MySQL-server和MySQL-client就可以了,安裝方法如下:

rpm -ivh MySQL-server* MySQL-client*

1.添加使用者

groupadd mysql

useradd -g mysql mysql

2.安裝

tar -xzvf mysql-VERSION-OS.tar.gz -C /mysql/

ln -s MySQL-VERSION-OS mysql或用mv指令

3.初始化,MySQL 5.7之後用mysqld --initialize

scripts/mysql_install_db

4.啟動資料庫并修改密碼等

mysqld_safe &

set password=password('lhr');

除了第二步的安裝過程外,其它步驟和二進制基本一樣(MySQL 5.7開始使用cmake):

gunzip < mysql-VERSION.tar.gz | tar -xvf -

cd mysql-VERSION

./configure --prefix=/usr/local/mysql

make && make install

安裝包下載下傳選項

Red Hat Enterprise Linux / Oracle Linux

Linux - Generic

Source Code

rpm的安裝方式請參考:

<a>http://blog.itpub.net/26736162/viewspace-1349705/</a>

<a>http://blog.itpub.net/26736162/viewspace-1349787/</a>

官網中相應地有以上三種方式對應的下載下傳連結,其中源碼安裝,對應"Source Code";.tar.gz對應"Linux - Generic",.rpm則對應于"Red Hat Enterprise Linux / Oracle Linux",如下圖所示,

【MySQL】Linux下MySQL 5.5、5.6和5.7的RPM、二進制和源碼安裝-------------------------------------------------------------------------  實驗中用到的SQL總結

1.目錄大小。MySQL 5.7的二進制安裝後大約3G,是以可以配置設定5G空間;而5.5和5.6版本的二進制包安裝可以配置設定2G左右。

2.MySQL 5.7的源碼包需要配置設定10G的空間。cmake最低需要2.8.2版本。

3.下載下傳和上傳後需要校驗md5值,防止上傳的檔案不完整。

4.源碼編譯安裝比較費時費力。

在官網:http://dev.mysql.com/downloads/mysql/中,選擇以下版本的MySQL下載下傳:

【MySQL】Linux下MySQL 5.5、5.6和5.7的RPM、二進制和源碼安裝-------------------------------------------------------------------------  實驗中用到的SQL總結

注意:MD5: dbe7e5e820377c29d8681005065e5728,下載下傳完成後需要校驗。

注意:不要下載下傳rpm類型的包,安裝路徑不靈活,預設路徑不能修改,一台伺服器隻能MySQL安裝一個 MySQL。下圖下載下傳後均是rpm包:

【MySQL】Linux下MySQL 5.5、5.6和5.7的RPM、二進制和源碼安裝-------------------------------------------------------------------------  實驗中用到的SQL總結
【MySQL】Linux下MySQL 5.5、5.6和5.7的RPM、二進制和源碼安裝-------------------------------------------------------------------------  實驗中用到的SQL總結

OS路徑設定:

vgcreate vg_mysqlsoft /dev/sdb1

lvcreate -n lv_mysqlsoft_57 -L 5G vg_mysqlsoft

mkfs.ext4 /dev/vg_mysqlsoft/lv_mysqlsoft_57

mkdir -p /tmp/mysql5719

mkdir -p /var/lib/mysql57

mount /dev/vg_mysqlsoft/lv_mysqlsoft_57  /var/lib/mysql57/

vi /etc/fstab

二進制安裝過程:

md5sum mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz

tar -zxvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz -C /var/lib/mysql57/

mv mysql-5.7.19-linux-glibc2.12-x86_64 mysql5719

useradd -r -g mysql mysql

MySQL 5.6版本:./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql56/mysql5637 --datadir=/usr/local/mysql56/mysql5637/data

MySQL 5.7版本:./bin/mysqld --initialize --user=mysql --basedir=/var/lib/mysql57/mysql5719  --datadir=/var/lib/mysql57/mysql5719/data

more /etc/my.cnf

cp mysql.server /etc/init.d/mysql57

chmod 755 /etc/init.d/mysql57

chkconfig --add mysql57

chkconfig mysql57 on

chkconfig --level 345 mysql57 on

mysqld_safe --user=mysql &amp;

MYSQL_HOME=/var/lib/mysql57/mysql5719

PATH=$PATH:$MYSQL_HOME/bin

source /etc/profile

#MySQL 5.7初始化時有預設密碼,5.6無密碼

mysql -uroot  --socket=/usr/local/mysql56/mysql5637/mysql.sock -p

update mysql.user set authentication_string=password('lhr') where user='root';

grant all privileges on *.* to root@'%' identified by 'lhr';

flush privileges;

源碼安裝:

tar -zxf  /tmp/mysql5.7sc/mysql-5.7.19.tar.gz -C /usr/local/mysql57sc/

tar -zxf  /tmp/mysql5.7sc/mysql-boost-5.7.19.tar.gz -C /usr/local/mysql57sc/

mv mysql-5.7.19 mysql57

yum install -y cmake make gcc gcc-c++ ncurses-devel

#cmake最低需要2.8.2版本的

cmake \

&gt; -DCMAKE_INSTALL_PREFIX=/usr/local/mysql57sc/mysql57 \

&gt; -DMYSQL_DATADIR=/usr/local/mysql57sc/mysql57/data \

&gt; -DMYSQL_USER=mysql \

&gt; -DWITH_INNOBASE_STORAGE_ENGINE=1  \

&gt; -DWITH_ARCHIVE_STORAGE_ENGINE=1   \

&gt; -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

&gt; -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \

&gt; -DWITH_READLINE=1 \

&gt; -DDOWNLOAD_BOOST=1 \

&gt; -DWITH_BOOST=/usr/local/mysql57sc/mysql57/boost/boost_1_59_0/

make &amp;&amp; make install

檢視MySQL的端口:

netstat -lntp | grep mysqld

     本文轉自lhrbest 51CTO部落格,原文連結:http://blog.51cto.com/lhrbest/1960271,如需轉載請自行聯系原作者