linux下安裝mysql源碼
❶ 在linux安裝Mysql時採用源碼編譯安裝,但是如何讓MySQL的編譯時間縮短呢
可以試試在使用make && make install 時添加-j參數,不限制內核進行編譯安裝。或者-j 後加內核數 。例如 make -j 4 && make install -j 4
優點:速度快會相對提高很多
缺點:消耗大量CPU,內存資源。
我做過一個測試,如果不限定內核 (16核 80GB內存 )的伺服器編譯安裝mysql 5.0.7 安裝時長大致在10分鍾左右,但是測試時伺服器CPU跑滿100% ,內存消耗至少32GB。直接使用 make && make install 安裝耗時45分鍾,內存4GB ,CPU 10%左右。
❷ 怎樣在Linux環境下安裝部署MySQL資料庫系統
如何在linux下安裝mysql資料庫並配置
關於本文
本文將以MySQL 5.0.51為例,以CentOS 5為平台,講述MySQL資料庫的安裝和設置。
2. 關於MySQL
MySQL是最流行的開源SQL資料庫管理系統,它由MySQL AB開發、發布和支持。MySQL AB是一家由MySQL開發人員創建的商業公司,它是一家使用了一種成功的商業模式來結合開源價值和方法論的第二代開源公司。MySQL是MySQL AB的注冊商標。
MySQL是一個快速的、多線程、多用戶和健壯的SQL資料庫伺服器。MySQL伺服器支持關鍵任務、重負載生產系統的使用,也可以將它嵌入到一個大配置(mass-deployed)的軟體中去。
MySQL的官方發音是「My Ess Que Ell」,而不是「My sequel」。但是你也可以使用「My sequel」和其他的方言。
MySQL網站(http://www.mysql.com)提供了關於MySQL和MySQL AB的最新的消息。
MySQL具有如下特點或特性:
MySQL是一個資料庫管理系統;
MySQL是一個關系資料庫管理系統;
MySQL是開源的;
MySQL伺服器是一個快的、可靠的和易於使用的資料庫伺服器;
MySQL伺服器工作在客戶/伺服器或嵌入系統中;
有大量的MySQL軟體可以使用。
3. MySQL的安裝
MySQL有兩種安裝方式:源碼包安裝和二進制包安裝。這兩種方式各有特色:二位制包安裝不需編譯,針對不同的平台有經過優化編譯的不同的二進制文件以及包格式,安裝簡單方便;源碼包則必須先配置編譯再安裝,可以根據你所用的主機環境進行優化,選擇最佳的配置值,安裝定製更靈活。下面分別介紹這兩種安裝方式。
3.1 源碼包方式安裝
3.1.1 在linux系統中添加運行Mysql的用戶和組
/usr/sbin/groupadd mysql
/usr/sbin/useradd -d /var/lib/mysql -s /sbin/nologin -g mysql mysql
3.1.2 下載最新穩定發行版(GA)的MySQL軟體
訪問MySQL網站http://dev.mysql.com/downloads/下載最新穩定發行版的MySQL源碼包。本文使用的是5.0.51版本,在linux系統下用下面的命令下載:
wget http://mysql.mirror.kangaroot.net/Downloads/MySQL-5.0/mysql-5.0.51.tar.gz
3.1.3 解壓縮下載的源碼包
首先建立一個工作目錄( 筆者建議的目錄為/usr/local/src/mysql ) :
mkdir -p /usr/local/src/mysql
將下載的源碼包移至工作目錄:
mv mysql-5.0.51.tar.gz /usr/local/src/mysql
進入工作目錄並用tar命令解壓源碼包:
cd /usr/local/src/mysql
tar zxvf mysql-5.0.51.tar.gz
命令執行結束後,當前工作目錄下將生成一個新的子目錄mysql-5.0.51,此目錄下即為mysql的源碼文件。
3.1.4 配置Makefile文件
進入MySQL源碼目錄:
cd mysql-5.0.51
執行下面的命令可查看可配置選項:
./configure --help
本文使用的配置命令格式如下:
CC=gcc CFLAGS="-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --enable-thread-safe-client --enable-assembler --with-big-tables --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --with-charset=utf8 --with-collation=utf8_general_ci --with-extra-charsets=complex
配置選項說明:
CC:C編譯器的名稱(用於運行configure),本文示例為gcc
CFLAGS:C編譯器的標志(用於運行configure),本文示例為-O3,指定優化級別為3
CXX:C++編譯器的名稱(用於運行configure),本文示例為gcc
CXXFLAGS:C++編譯器的標志(用於運行configure)
--prefix:指定安裝目錄,本文示例為/usr/local/mysql
--localstatedir:指定默認資料庫文件保存目錄,默認為安裝目錄下的var目錄
--enable-thread-safe-client:編譯線程安全版的MySQL客戶端庫
--enable-assembler:使用一些字元函數的匯編版本
--with-client-ldflags:客戶端鏈接參數,本文示例為指定靜態編譯mysql客戶端
--with-mysqld-ldflags:伺服器端鏈接參數,本文示例為指定靜態編譯mysql伺服器
--with-big-tables:在32位平台上支持大於4G行的表
--with-charset:指定默認字元集。mysql默認使用latin1(cp1252)字元集,可以使用此選項更改。字元集可以是big5、cp1251、cp1257、czech、danish、dec8、dos、euc_kr、gb2312、gbk、german1、hebrew、hp8、hungarian、koi8_ru、koi8_ukr、latin1、latin2、sjis、swe7、tis620、ujis、usa7或win1251ukr。
--with-collation:指定默認校對規則。mysql默認使用latin1_swedish_ci校對規則,可以使用此選項更改。
--with-extra-charsets:伺服器需要支持的字元集,有三種可能的值:空格間隔的一系列字元集名;complex ,包括不能動態裝載的所有字元集;all,將所有字元集包括進二進制。本文示例為complex。
注意:要想更改字元集和校對規則,要同時使用--with-charset和--with-collation選項。 校對規則必須是字元集的合法校對規則。(在mysql中使用SHOW COLLATION語句來確定每個字元集使用哪個校對規則)。
3.1.5 編譯源代碼
執行下面的命令編譯源代碼:
make
3.1.6 安裝
執行下面的命令安裝mysql到目標路徑:
make install
3.1.7 復制默認全局啟動參數配置文件到/etc目錄
源碼方式安裝需要手動復制配置文件,配置模板位於源碼樹的support-files目錄,有my-small.cnf、my-medium.cnf、my-large.cnf、my-huge.cnf四個,選擇跟你的環境相接近的一個復制到/etc目錄,並做適當修改。關於mysql配置文件的詳細信息請參閱筆者的其它文章或是mysql官方文檔。
本文示例選擇my-medium.cnf,執行下面的命令將其復制到/etc目錄:
cp ./support-files/my-medium.cnf /etc/my.cnf
3.1.8 初始化授權表
執行下面的命令初始化授權表:
./scripts/mysql_install_db --user=mysql
3.1.9 更改mysql數據目錄屬主和許可權
默認資料庫文件保存目錄為安裝目錄下的var目錄,執行configure命令時可通過--localstatedir參數指定不同的目錄,本文示例為默認位置。
chown -R mysql.mysql /usr/local/mysql/var
chmod -R 700 /usr/local/mysql/var
3.1.10 設置開機自啟動服務控制腳本
執行下面的命令復制啟動腳本到資源目錄:
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
執行下面的命令增加mysqld服務控制腳本執行許可權:
chmod +x /etc/rc.d/init.d/mysqld
執行下面的命令將mysqld服務加入到系統服務:
chkconfig --add mysqld
執行下面的命令檢查mysqld服務是否已經生效:
chkconfig --list mysqld
命令輸出類似下面的結果:
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
表明mysqld服務已經生效,在2、3、4、5運行級別隨系統啟動而自動啟動,以後可以使用service命令控制mysql的啟動和停止。
啟動mysqld服務:
service mysqld start
停止mysqld服務:
service mysqld stop
執行下面的命令關閉開機自啟動:
chkconfig mysqld off
執行下面的命令可以改變開機自啟動的運行級別為3、5:
chkconfig --level 35 mysqld on
3.1.11 將mysql的bin目錄加入PATH環境變數
編輯/etc/profile文件:
vi /etc/profile
在文件最後添加如下兩行:
PATH=$PATH:/usr/local/mysql/bin
export PATH
執行下面的命令使所做的更改生效:
. /etc/profile
3.2 二進制包方式安裝
3.2.1 從安裝媒體安裝
Mysql二進制包已經包含在CentOS 5的安裝媒體中,可以直接從安裝媒體中安裝下面三個rpm包:
mysql-5.0.22-2.1.0.1.i386.rpm
mysql-devel-5.0.22-2.1.0.1.i386.rpm
mysql-server-5.0.22-2.1.0.1.i386.rpm
不同的版本文件名有所不同,請注意區分。
執行下面的命令安裝:
rpm -iUvh mysql-5.0.22-2.1.0.1.i386.rpm
rpm -iUvh mysql-devel-5.0.22-2.1.0.1.i386.rpm
rpm -iUvh mysql-server-5.0.22-2.1.0.1.i386.rpm
3.2.2 通過yum安裝
如果你安裝的機器此時可以連接到互聯網,筆者建議使用yum命令來簡化安裝過程:
yum install mysql-server mysql-devel mysql
yum將自動從centos的鏡像站點查找你指明的軟體的最新二進制包,並檢查軟體包依賴關系,安裝軟體的同時自動安裝其依賴的軟體包。
❸ linux怎麼安裝mysql
一般有下面幾種方法:(以紅帽系Linux為例)
1、yum install mysql mysql-server
這種版本通常比較舊
2、rpm包離線安裝
需要先去MySQL官網下載rpm包
3、源碼編譯安裝
需要先去MySQL官網下載源碼
詳細安裝方法建議網路搜一下MySQL安裝教程。
❹ linux下源碼安裝mysql遇到困難了。菜鳥在線等答,跪謝!!!!!
現在的Linux發行版一般都預先安裝了MySQL,會生成配置文件:/etc/my.cnf。如果你安裝另一版本的MySQL,就會引起沖突。你那個異常可以這樣處理:
修改/etc/my.cnf(如果不在/etc/下,那從別處找),找到有「skip-federated」字樣的那一行,屏蔽之:
#skip-federated
當然,更好的解決方法是徹底移除舊的MySQL。
❺ Linux 下二進制源碼包安裝mysql 詳細過程
安裝之前先把二進制源碼准備好,可以從搜狐鏡像下載:我准備的是mysql-5.5.15-linux2.6-i686.tar.gz
,linux
version
2.6.18-164.el5
實際工作中和虛擬機的配置有些地方可能會不相同
====================================================================
注意:mysql
安裝的時候必須指定到
/usr/local
必須命名為mysql
二進制源碼安裝需要在安裝目錄/usr/local下運行
復制代碼代碼如下:
//創建用戶mysql
*
groupadd
-g
3306
mysql
*
useradd
-g
mysql
-u
3306
-M
mysql
*
id
mysql
*
chown
-R
mysql:mysql
/mydata/
//
mysql對目錄要有寫許可權
*
ll
-d
/mydata/
*
cp
/mysql-5.5.15-linux2.6-i686
/usr/local
*
cd
/usr/local/mysql
//
開始初始化
mysql
*
chown
-R
mysql:mysql
.
*
ln
-sv
/mysql-5.5.15-linux2.6-i686
mysql
*
scripts/mysql_install_db
--user=mysql
--datadir=/mydata/data
//
<span
style="color:#993300;">scripts腳本初始化</span>
初始化
用來生成mysql資料庫
資料庫用來存放表等源數據信息
復制代碼代碼如下:
//安裝完成
下面配置啟動
*
ls
support-files/
//
准備服務啟動腳本
*
cp
support-files/mysql.server
/etc/init.d/mysqld
//
放入init.d
*
chkconfig
--add
mysqld
//
加入服務列表
*
chkconfig
--list
mysqld
//
--list
顯示出來
復制代碼代碼如下:
//此時可以啟動mysql了
但還需要配置mysql
*
ls
/etc/my.cnf
*
ls
support-files/
*
cp
support-files/my-large.cnf
/etc/my.cnf
*
vim
/etc/my.cnf
[mysqld]
//
找到該段
並添加datadir
=
/mydata/data
datadir
=
/mydata/data
*
service
mysqld
start
//
開啟服務
*
netstat
-tnl
//
3306
埠打開
*
echo
$PATH
*
/usr/local/mysql/bin/mysql
*
export
PATH=$PATH:/usr/local/mysql/bin
//
<span
style="color:#cc6600;">注意</span>:不加$
就僅僅剩下你添加的路徑
*
vim
/etc/profile
//
在export
之前添加下面的路徑
PATH=$PATH:/usr/local/mysql/bin
//
永久生效的路徑配置方法
*
mysql
//
此時mysql已經可啟動了
復制代碼代碼如下:
//mysql庫文件的路徑配置
*
ls
*
vim
/etc/ld.so.conf
//
修改庫文件位置
*
vim
/etc/ld.so.conf.d/mysql.conf
//
規范的配置
當前目錄下以.CONF結尾都可以配置
*
ldconfig
-v
|
grep
mysql
//
重新載入所有庫文件的路徑
沒有mysql的庫文件
vim
/etc/ld.so.conf.d/mysql.conf
/usr/local/mysql/lib
//
新建mysql.conf
文件
在文件中添加這些內容
*
ldconfig
-v
|
grep
mysql
//
修改之後在重新載入一次
否則伺服器不知道
//mysql庫文件的路徑配置
*
ls
*
vim
/etc/ld.so.conf
//
修改庫文件位置
*
vim
/etc/ld.so.conf.d/mysql.conf
//
規范的配置
當前目錄下以.CONF結尾都可以配置
*
ldconfig
-v
|
grep
mysql
//
重新載入所有庫文件的路徑
沒有mysql的庫文件
vim
/etc/ld.so.conf.d/mysql.conf
/usr/local/mysql/lib
//
新建mysql.conf
文件
在文件中添加這些內容
*
ldconfig
-v
|
grep
mysql
//
修改之後在重新載入一次
否則伺服器不知道
復制代碼代碼如下:
//頭文件的配置
庫文件有哪些函數以及函數在別人編寫程序的時候怎麼調用
怎麼傳遞參數
參數類型是什麼
返回值類型是是什麼
必須找到庫文件所對應的頭文件
庫文件對應的頭文件在/
usr/include
*
ls
/usr/include/
*
ln
-sv
/usr/local/mysql/include
/usr/include/mysql
//
頭文件的輸出
*
vim
/etc/man
*
vim
/etc/man.config
//
添加Man
MANPATH
/usr/local/mysql/man
OK!
mysql
配置成功---
❻ 怎麼在linux下部署mysql 源碼部署安裝
查找以前是否安裝有mysql,使用下面命令:
rpm -qa|grep -i mysql
如果顯示有如下包則說明已安裝mysql
mysql-4.1.12-3.RHEL4.1
mysqlclient10-3.23.58-4.RHEL4.1
❼ 如何在linux中安裝mysql
我這是centos系統,ubantu不適用!!!
我這是centos系統,ubantu不適用!!!
我這是centos系統,ubantu不適用!!!
點擊右下角展開,否則沒有自動換行!!!!
點擊右下角展開,否則沒有自動換行!!!!
點擊右下角展開,否則沒有自動換行!!!!
重要的事情說三遍
練慣用的話直接yum-yinstallmysqlmysql-server
也可以使用源碼安裝
先把rpm格式的mysql刪除,否則初始化失敗rpm-emysql-servermysql--nodeps//忽略依賴關系刪旅猜除
yum-yinstallncurses-devel//安裝依賴包
tarxfcmake-2.8.12.tar.gz-C/usr/src///mysql需要cmake支持
cd/usr/src/cmake-2.8.12///進入解壓路徑
./configure&&gmake&&gmakeinstall//安裝cmake
groupaddmysql//創建mysql組
useradd-M-s/sbin/nologin-gmysqlmysql//創建mysql用戶,並加入mysql組里
tarxfmysql-5.7.2-m12.tar.gz-C/usr/src///解壓mysqlcd/usr/src/mysql-5.7.2-m12///進入解壓路徑
cmake-DCMAKE_INSTALL_PREFIX=/usr/local/mysql-DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci-DWITH_EXTRA_CHARSETS=all-DSYSCONFDIR=/etc&&make&&makeinstall//安裝選項
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql//主程序安裝目錄
-DDEFAULT_CHARSET=utf8孝配//默認字元集為utf8
-DDEFAULT_COLLATION=utf8_general_ci//默認的字元集校對規則
-DWITH_EXTRA_CHARSETS=all//安裝所有字元集
-DSYSCONFDIR=/etc//配置文件存放目錄
make&&makeinstall//開始make
優化步驟
cpsupport-files/my-default.cnf/etc/my.cnf
cpsupport-files/mysql.server/etc/init.d/mysqld
chmod+x/etc/init.d/mysqld
echo"PATH=$PATH:/usr/local/mysql/bin">>/etc/profile
./etc/profile//注意「.」後面有空格
chown-Rmysql:mysql/usr/local/mysql/
/usr/local/mysql/scripts/mysql_install_db--basedir=/usr/local/mysql/--datadir=/usr/local/mysql/data--user=mysql//初始化
--basedir=/usr/local/mysql///指定安裝目錄(產品目錄)
--datadir=/usr/local/mysql/data//指定數據拆慎型目錄
--user=mysql//指定用戶身份
servicemysqldstart
StartingMySQL..............[確定]
mysqladmin-urootpassword'123456'//設置成自己的密碼
我是5.7的版本有可能一定幾率啟動時報錯,看下mysql的配置文件,裡面的mysql.sock文件找不到,解決方法如下:
find/-namemysql.sock
找到後復制這個路徑
vim /etc/my.cnf
找到sock=/data/sock這一行,把後面的路徑改成剛才找到的路徑然後重啟mysql即可。
如果還報錯就告訴我
❽ 如何在linux下安裝mysql
不同的版本安裝方法不一樣,不同的mysql安裝包安裝方法也不一樣。建議直接看手冊。
rpm包適合centos,redhat;
tar包有tar包的安裝方式;
源碼有源碼的安裝方式;
debia跟ubunt,可以用apt。
rpm包有通用的安裝方式,很麻煩,安裝很多以來包。
yum 安裝最簡單。
因此這個問題沒法具體回答,我猜也沒人什麼安裝方式都用過一遍?
推薦相對簡單的安裝方式:
tar包直接解壓安裝,自己配置環境變數,初始化資料庫,修改許可權,製作mysql符號鏈接。
yum基本上一步到位。
更多看參考手冊,mysql各版本的安裝方式可能還有不同,參考手冊上寫得很詳細。
我安裝過centos與windows的,5.7版本不看參考手冊,網上的安裝方法就是個坑。mysql服務都啟動不起來。
❾ Linux下如何使用源碼安裝mysql且開啟分區 mysql:mysql-5.1.61.tar.gz 求詳細步驟~
1.實現linux下純手動MySQL源碼安裝,首先要下載MySQL的源碼,我下載的是MySQL-5.0.87.tar.gz 2.解壓tar –xvf MySQL-5.0.87.tar.gz 3.進入MySQL-5.0.87 4.檢測環境並指定安裝目錄:./configure --prefix=/usr/local/MySQL 檢測出來缺什麼就安裝什麼。我裝的時候居然連gcc和g++都沒有,沒有編譯器的話就要直接下載rpm包(已編譯好的二進制文件)再安裝到系統。 如下是安裝gcc的命令(要先去下載這個包,這個地址有比較多的rpm包下載http://mirror.oa.com/SLES10-SP1-RPMS-32/): sudo rpm -ivh gcc-4.1.2_20070115-0.11.i586.rpm 安裝這些rpm包的過程中有些是已安裝的,或者是自己依賴自己導致安裝不了,反正安裝不了就用強制安裝並忽略依賴的命令 sudo rpm -ivh gcc-4.1.2_20070115-0.11.i586.rpm –-force –nodeps 可能進過安裝一系列的rmp包後,終於完成了環境檢測。我大概裝了10+個的rmp包才完成。。杯具啊 5.編譯:make 6.安裝:sudo make install 7.實現linux下純手動MySQL源碼安裝中要進行配置。首先可以看到安裝完的目錄如下 在share/MySQL下打命令:ls –l | grep my- 出來的都是MySQL的配置文件,按照需要選擇其中一個拷到/etc下命名為my.cnf /etc/my.cnf是MySQL默認讀的配置文件的路徑 8.修改var的可寫許可權。這是MySQL的資料庫數據文件存放的位置,因為用當前用戶來運行MySQL的後台程序可能沒有這個目錄的可寫許可權。 chmod 777 ./var –r 9.配置系統環境變數,使得可以直接執行MySQL的程序 系統的環境變數是放在/etc/profile下的,而用戶的環境變數是放在用戶的根目錄下的.bashrc下 (1) /etc/profile的配置: PATH=/usr/local/MySQL/bin:$PATH PATH=/usr/local/MySQL/libexec:$PATH export PATH其中/usr/local/mydql/bin是MySQL主要的可執行程序的目錄,而libexec是放MySQL的後台主程序MySQLd的 (2).bashrc的配置: set PATH=/usr/local/MySQL/bin:$PATH set PATH=/usr/local/MySQL/libexec:$PATH export PATH這里注意.bashrc裡面是要加個set的。配置完後重登錄就可以生效了 10.在啟動MySQLd之前要先初始化它,執行MySQL_install_db 11.啟動MySQLd,直接打MySQLd就可以了,因為之前配置過系統環境變數了 12.直接MySQL進入MySQL的命令行控制。默認是以當前用戶名登錄的,默認root是沒有密碼的 13.設置root的密碼:MySQLadmin –u root password 『123456』 14.以root身份登錄:MySQL –uroot –p 15.設置遠程登錄資料庫。用戶創建後默認是只能在本地登錄的。 update user set Host='%』 where user=『kuncai'; 這句是將kuncai這個用戶的允許登錄的地址改成任意,但不包括本地。也就是說這樣kuncai這個用戶就無法在本地登錄了,只能遠程登錄。 只有root用戶才能執行這句,所以要先以root用戶登錄到本地資料庫才行。 flush privileges; 要再執行這句刷新緩存才能生效。以上的相關內容就是對linux下純手動MySQL源碼安裝的介紹,望你能有所收獲。 感謝你們能看到這些,如果大家有興趣開個自己的-淘-寶-網-店,小成本的進行-創-業-嘗試,可以加我Q1300-855-633,進行咨詢聯系
❿ 怎麼在linux上安裝mysql
1. 運行平台:CentOS 6.3 x86_64,基本等同於RHEL 6.3
2. 安裝方法:
安裝MySQL主要有兩種方法:一種是通過源碼自行編譯安裝,這種適合高級用戶定製MySQL的特性,這里不做說明;另一種是通過編譯過的二進制文件進行安裝。二進制文件安裝的方法又分為兩種:一種是不針對特定平台的通用安裝方法,使用的二進制文件是後綴為.tar.gz的壓縮文件;第二種是使用RPM或其他包進行安裝,這種安裝進程會自動完成系統的相關配置,所以比較方便。
3. 下載安裝包:
a. 官方下載地址:
http://dev.mysql.com/downloads/mysql/#downloads
或鏡像文件下載:
http://dev.mysql.com/downloads/mirrors.html
2. 下載文件(根據操作系統選擇相應的發布版本):
a. 通用安裝方法
mysql-5.5.29-linux2.6-x86_64.tar.gz
b. RPM安裝方法:
MySQL-server-5.5.29-2.el6.x86_64.rpm
MySQL-client-5.5.29-2.el6.x86_64.rpm
4. 通用安裝步驟
a. 檢查是否已安裝,grep的-i選項表示匹配時忽略大小寫
[root@localhost JavaEE]#rpm -qa|grep -i mysql
mysql-libs-5.1.61-4.el6.x86_64
*可見已經安裝了庫文件,應該先卸載,不然會出現覆蓋錯誤。注意卸:載時使用了--nodeps選項,忽略了依賴關系:
[root@localhost JavaEE]#rpm -e mysql-libs-5.1.61-4.el6.x86_64 --nodeps
b. 添加mysql組和mysql用戶,用於設置mysql安裝目錄文件所有者和所屬組。
[root@localhost JavaEE]#groupadd mysql
[root@localhost JavaEE]#useradd -r -g mysql mysql
*useradd -r參數表示mysql用戶是系統用戶,不可用於登錄系統。
c. 將二進制文件解壓到指定的安裝目錄,我們這里指定為/usr/local
[root@localhost ~]# cd/usr/local/
[root@localhost local]#tar zxvf /path/to/mysql-5.5.29-linux2.6-x86_64.tar.gz
*加壓後在/usr/local/生成了解壓後的文件夾mysql-5.5.29-linux2.6-x86_64,這名字太長,我們為它建立一個符號鏈接mysql,方便輸入。
[root@localhost local]#ln -s mysql-5.5.29-linux2.6-x86_64 mysql
d. /usr/local/mysql/下的目錄結構
Directory
Contents of Directory
bin
Client programs and the mysqld server
data
Log files, databases
docs
Manual in Info format
man
Unix manual pages
include
Include (header) files
lib
Libraries
scripts
mysql_install_db
share
Miscellaneous support files, including error messages, sample configuration files, SQL for database installation
sql-bench
Benchmarks
e. 進入mysql文件夾,也就是mysql所在的目錄,並更改所屬的組和用戶。
[root@localhost local]#cd mysql
[root@localhost mysql]#chown -R mysql .
[root@localhost mysql]#chgrp -R mysql .
f. 執行mysql_install_db腳本,對mysql中的data目錄進行初始化並創建一些系統表格。注意mysql服務進程mysqld運行時會訪問data目錄,所以必須由啟動mysqld進程的用戶(就是我們之前設置的mysql用戶)執行這個腳本,或者用root執行,但是加上參數--user=mysql。
[root@localhost mysql]scripts/mysql_install_db --user=mysql
*如果mysql的安裝目錄(解壓目錄)不是/usr/local/mysql,那麼還必須指定目錄參數,如
[root@localhost mysql]scripts/mysql_install_db --user=mysql \
--basedir=/opt/mysql/mysql \
--datadir=/opt/mysql/mysql/data
*將mysql/目錄下除了data/目錄的所有文件,改回root用戶所有,mysql用戶只需作為mysql/data/目錄下所有文件的所有者。
[root@localhost mysql]chown -R root .
[root@localhost mysql]chown -R mysql data
g. 復制配置文件
[root@localhost mysql] cp support-files/my-medium.cnf /etc/my.cnf
h. 將mysqld服務加入開機自啟動項。
*首先需要將scripts/mysql.server服務腳本復制到/etc/init.d/,並重命名為mysqld。
[root@localhostmysql] cp support-files/mysql.server /etc/init.d/mysqld
*通過chkconfig命令將mysqld服務加入到自啟動服務項中。
[root@localhost mysql]#chkconfig --add mysqld
*注意服務名稱mysqld就是我們將mysql.server復制到/etc/init.d/時重命名的名稱。
*查看是否添加成功
[root@localhost mysql]#chkconfig --list mysqld
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
i. 重啟系統,mysqld就會自動啟動了。
*檢查是否啟動
[root@localhost mysql]#netstat -anp|grep mysqld
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2365/mysqld
unix 2 [ ACC ] STREAM LISTENING 14396 2365/mysqld /tmp/mysql.sock
*如果不想重新啟動,那可以直接手動啟動。
[root@localhost mysql]#service mysqld start
Starting MySQL.. SUCCESS!
j. 運行客戶端程序mysql,在mysql/bin目錄中,測試能否連接到mysqld。
[root@localhost mysql]#/usr/local/mysql/bin/mysql
Welcome to the MySQLmonitor. Commands end with ; or \g.
Your MySQL connection idis 2
Server version:5.5.29-log MySQL Community Server (GPL)
Copyright (c) 2000, 2012,Oracle and/or its affiliates. All rights reserved.
Oracle is a registeredtrademark of Oracle Corporation and/or its affiliates. Other names may betrademarks of their respective owners.
Type 'help;' or '\h' forhelp. Type '\c' to clear the current input statement.
mysql> quit
Bye
*此時會出現mysql>命令提示符,可以輸入sql語句,輸入quit或exit退出。為了避免每次都輸入mysql的全路徑/usr/local/mysql/bin/mysql,可將其加入環境變數中,在/etc/profile最後加入兩行命令:
MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin
這樣就可以在shell中直接輸入mysql命令來啟動客戶端程序了
[root@localhost mysql]#mysql
Welcome to the MySQLmonitor. Commands end with ; or \g.
Your MySQL connection idis 3
Server version:5.5.29-log MySQL Community Server (GPL)
Copyright (c) 2000, 2012,Oracle and/or its affiliates. All rights reserved.
Oracle is a registeredtrademark of Oracle Corporation and/or its
affiliates. Other namesmay be trademarks of their respective
owners.
Type 'help;' or '\h' forhelp. Type '\c' to clear the current input statement.
mysql>
5. RPM安裝步驟
a. 檢查是否已安裝,grep的-i選項表示匹配時忽略大小寫
[root@localhost JavaEE]#rpm -qa|grep -i mysql
mysql-libs-5.1.61-4.el6.x86_64
可見已經安裝了庫文件,應該先卸載,不然會出現覆蓋錯誤。注意卸載時使用了--nodeps選項,忽略了依賴關系:
[root@localhost JavaEE]#rpm -e mysql-libs-5.1.61-4.el6.x86_64 --nodeps
2. 安裝MySQL的伺服器端軟體,注意切換到root用戶:
[root@localhost JavaEE]#rpm -ivh MySQL-server-5.5.29-2.el6.x86_64.rpm
安裝完成後,安裝進程會在Linux中添加一個mysql組,以及屬於mysql組的用戶mysql。可通過id命令查看:
[root@localhost JavaEE]#id mysql
uid=496(mysql)gid=493(mysql) groups=493(mysql)
MySQL伺服器安裝之後雖然配置了相關文件,但並沒有自動啟動mysqld服務,需自行啟動:
[root@localhost JavaEE]#service mysql start
Starting MySQL.. SUCCESS!
可通過檢查埠是否開啟來查看MySQL是否正常啟動:
[root@localhost JavaEE]#netstat -anp|grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 34693/mysqld
c. 安裝MySQL的客戶端軟體:
[root@localhost JavaEE]#rpm -ivh MySQL-client-5.5.29-2.el6.x86_64.rpm
如果安裝成功應該可以運行mysql命令,注意必須是mysqld服務以及開啟:
[root@localhost JavaEE]#mysql
Welcome to the MySQLmonitor. Commands end with ; or \g.
Your MySQL connection idis 1
Server version: 5.5.29MySQL Community Server (GPL)
Copyright (c) 2000, 2012,Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademarkof Oracle Corporation and/or its affiliates. Other names may be trademarks oftheir respective owners.
Type 'help;' or '\h' forhelp. Type '\c' to clear the current input statement.
mysql>
d. RPM安裝方式文件分布
Directory
Contents of Directory
/usr/bin
Client programs and scripts
/usr/sbin
The mysqld server
/var/lib/mysql
Log files, databases
/usr/share/info
Manual in Info format
/usr/share/man
Unix manual pages
/usr/include/mysql
Include (header) files
/usr/lib/mysql
Libraries
/usr/share/mysql
Miscellaneous support files, including error messages, character set files, sample configuration files, SQL for database installation
/usr/share/sql-bench
Benchmarks