mysql安裝為什麼大部分使用二進位制安裝。而不是原始碼手動去編譯?
mysql使用的glibc進行開發的。glibc庫是乙個底層api,所以只要是linux,都會有glibc庫。所以,mysql安裝不需要考慮環境是否符合要求。移植性很方便。直接將編譯好的二進位制**複製到另外乙個機器上,也是可以用的。
原理性東西:一般在linux下安裝乙個軟體,不同軟體所需要的函式庫不同。於是會遇到乙個現象:乙個軟體複製到另外乙個平台可能無法執行。安裝軟體需要先偵測環境就是出於此考慮。因為mysql使用的是通用的glibc函式庫。沒有對其他東西的依賴性。所以,從乙個平台複製到另外乙個平台能夠通用。並不需要去偵測環境。直接使用編譯好的二進位制即可
手動編譯安裝,顯得步驟麻煩。基於mysql的特點,二進位制安裝完全可以。
注:mysql5.5安裝的時候,需要用到cmake命令,所以需要保證你的機器上安裝了該命令。沒有的話,還要去安裝該cmake。也顯得麻煩。我暫時不想去安裝最新版本的了。
如果使用二進位制安裝公升級怎麼進行?
公升級獲取的還是二進位制壓縮包。那麼,直接將指向目錄切換到新的目錄即可。
不需要涉及到像php一樣,手動編譯可以達到自己定製模組的好處。而mysql安裝的時候不需要涉及到模組
mysql官方建議安裝方式:二進位制安裝。
實踐過程
大致思路就是:解壓二進位制檔案放到指定的目錄。然後安裝基本的資料庫,許可權方面會用到。
然後,啟動mysql就行了。
第一步:建立乙個使用者組和使用者。
組名和使用者名稱的名字都為mysql。
命令:1.groupadd mysql
2.useradd -r -g mysql mysql
第二步:解壓二進位制壓縮包。
一般放到"/usr/local/src"目錄下去。
結果會變成:/usr/local/src/mysql安裝目錄
有很多種方式。一般可以直接進去要解壓要存放的目錄。
執行命令:tar zxvf 壓縮包源 注釋:第二個引數可以填要解壓到的位置。第二個引數不填,就會將壓縮包源解壓到執行tar命令的當前目錄。一般都是使用這種特性進行解壓:你要解壓到**就先進入**執行tar命令。
第三步:建立乙個軟鏈結。
在"usr/local"下建立乙個軟鏈結(自己定義名為mysql)。軟鏈結的目錄是為了指向"/usr/local/src/mysql安裝目錄"
命令:ln -s /usr/local/src/mysql安裝目錄 /usr/local/mysql 引數說明:-s引數表示建立軟鏈結
ln命令的格式為,ln -s 快捷方式指向的位置(目錄) 快捷方式名稱(位置)
去local目錄下檢視,看是否成功生成了乙個軟鏈結。使用"ls -al"檢視,特點是軟連線上會有個箭頭符號。
其實這一步就是為了提供一種快捷操作的方式。其實不建立軟連線也是可以用的,為什麼要這樣做?
公升級管理有用:新版本單獨建立乙個目錄存放的。假如你公升級mysql了。只要將這個軟連線指向的目錄修改即可。
第四步:許可權檢查與修改
主要是保證"mysql安裝目錄"的所有者為mysql使用者,所屬組也為mysql組。
1.chown -r mysql . //將當前目錄的所有者改為mysql使用者 要加上-r引數。這個引數表示迴圈遍歷子節點。子節點都起作用
2.chgrp -r mysql . //將當前目錄的所有組改為mysql組
常見的問題:忘記加上-r引數。結果下面節點沒有許可權。啟動錯誤,訪問錯誤等等一系列的問題。
第五步:安裝初始化資料庫
執行mysql安裝目錄下的檔案:/scripts/mysql_install_db
命令備忘:scripts/mysql_install_db --user=mysql //這是進入mysql安裝目錄下進行執行的,所以需要輸入路徑"scripts/"
注意:必須在安裝目錄下執行。不能切換到scripts目錄下,然後執行"./mysql_install_db --user=mysql",否則會報如下錯誤:
fatal error: could not find ./bin/my_print_defaults
因為指令碼mysql_install_db裡面所使用的是這種形式的相對路徑"./bin/my_print_defaults",所以必須是在"mysql安裝目錄"下,才能找得到所需檔案。
第二次試驗的時候,還報出乙個錯誤:./bin/my_print_defaults: cannot execute binary file
第六步:my.cnf配置檔案拷貝
將my.cnf檔案移到etc/目錄下去。
命令:cp support-files/my-medium.cnf /etc/my.cnf
第七步:啟動mysql
馬上啟動mysql的命令是:bin/mysqld_safe --user=mysql & //"&"表示在後台執行
這裡使用&的經驗備忘:執行上面命令後,一直定在乙個地方。沒有任何反應了。並沒有報錯資訊。還是成功的。此時使用ctrl+c。然後去看看
之後,想讓伺服器啟動的時候就跟著啟動mysql伺服器,在乙個目錄下放乙個檔案:
cp support-files/mysql.server /etc/init.d/mysql.server
support-files/mysql.server在二進位制安裝目錄下可以找到的。
完成後進行的步驟:
第一步:如何檢視mysql是否安裝成功。
乙個方法是:去檢視3306埠是否開啟
命令:netstat -ntl 可以列出所有偵聽的埠
第二個方法:使用mysql命令連線一次伺服器
命令: mysql -u root
小技巧:為了省去每次執行客戶端都要進入目錄的麻煩。將客戶端的路徑加入環境變數中去。
shell命令:export path=$path:/usr/local/src/mysql-5.1/bin/
export命令備忘: export 變數名=變數值,這裡變數名是path 變數值設定成在原來的$path基礎上加,有多個值,那麼值之間以分號":"隔開。
這樣,在任意路徑中。都可以通過:"mysql -u 使用者名稱 -p" 的形式使用客戶端了。
所遇問題總結
linux基於二進位制的格式安裝mysql5 6
步驟一 安裝相關包 yum y install libaio numactl libs perl data dumper步驟 二 建立mysql使用者名稱和使用者組 groupadd r g 27 mysql useradd r u 27 g mysql s sbin nologin c mysql...
Linux下通用二進位制方式安裝MySQL
2.檢視mysql使用者和mysql組是否存在 使用者和組的資訊存在 etc passwd裡 沒有的話要建立 root bogon soft cat etc passwd grep mysql 新增mysql使用者名稱和mysql組,以安全方式執行程序 306是自己自由指定的編號,不要和其他組的編號...
二進位制如何安裝mysql 二進位制安裝mysql
1.建立安裝目錄 wget 3.解壓二進位製包 root db01 tar xf mysql 5.6.40 linux glibc2.12 x86 64.tar.gz 4.移動解壓目錄 5.做mysql軟連線 6.建立mysql使用者 root db01 useradd mysql s sbin n...