1. 程式人生 > >Linux下安裝MySQL和啟動

Linux下安裝MySQL和啟動

一、MySQL各類安裝方法的比較

在Linux系統下,MySQL有3種主要的安裝方式,分別是:RPM安裝、二進位制安裝、原始碼安裝。三種安裝方式的優缺點如下表所示:

RPM安裝二進位制安裝原始碼安裝
優點安裝簡單,適合初學者安裝簡單,可以安裝到任何路徑下可以根據使用需要定製編譯,靈活,效能最好
缺點需要單獨下載服務端和客戶端,安裝路徑不夠靈活,預設路徑不能修改已經經過編譯,效能不如原始碼安裝的好,無法靈活定製編譯引數安裝過程複雜,編譯時間長
檔案佈局
  • /usr/bin(客戶端程式和指令碼)
  • /usr/sbin(mysqld伺服器)
  • /var/lib/mysql(日誌檔案和資料庫)
  • /usr/include/mysql(標頭檔案)
  • /usr/lib/mysql(庫檔案)
  • /usr/share/mysql(錯誤訊息和字符集檔案)
  • bin(mysqld伺服器和客戶端程式)
  • data(日誌檔案和資料庫)
  • include(標頭檔案)
  • lib(庫檔案)
  • scripts(mysql_install_db指令碼)
  • share/mysql(錯誤訊息)

二、RPM安裝過程說明

訪問http://dev.mysql.com/downloads/mysql/5.6.html#downloads,選擇下載對應版本和位數的rpm安裝包,如下圖所示:

執行如下命令即可完成安裝。

1rpm -ivh MySQL-devel-5.6.31-1.el6.x86_64.rpm

三、二進位制安裝過程說明

(1)、增加mysql使用者和使用者組

12groupadd mysqluseradd -g mysql mysql

(2)、解壓二進位制安裝包,放到指定的目錄下。

(3)、初始化資料庫,建立資料庫的基礎表。

1./mysql_install_db --user=mysql

(4)、根據實際需要,設定相應目錄許可權。

四、原始碼安裝過程說明

(1)、下載,解壓原始碼包。

(2)、安裝必要的軟體包。

12341.cmake2.ncurses-develyum install cmake ncurses-devel -y

(3)、建立使用者和組

12groupadd mysqluseradd mysql -s /sbin/nologin -M -g mysql

(4)、編譯引數及安裝

12345678910111213141516171819cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.28 \-DMYSQL_DATADIR=/usr/local/mysql-5.6.28/data \-DMYSQL_UNIX_ADDR=/usr/local/mysql-5.6.28/tmp/mysql.sock \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=uft8_general_ci \-DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \-DENABLED_LOCAL_INFILE=ON \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_FEDERATED_STORAGE_ENGINE=1 \-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \-DWITH_FAST_MUTEXES=1 \-DWITH_ZLIB=bundled \-DENABLED_LOCAL_INFILE=1 \-DWITH_READLINE=1 \-DWITH_EMBEDDED_SERVER=1 \-DWITH_DEBUG=0make && make install

(5)、生成連結目錄

1ln -s /usr/local/mysql-5.6.28 /usr/local/mysql

(6)、新增環境變數

12echo 'export PATH=/usr/local/mysql/bin:$PATH' >> /etc/profilesource /etc/profile

(7)、修改目錄許可權

1chown -R mysql.mysql /usr/local/mysql-5.6.28

(8)、初始化資料庫,生成基礎表

12/usr/local/mysql/scripts./mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

(9)、配置MySQL啟動檔案

123cd /usr/local/mysql/support-filescp mysql.server /etc/init.d/mysqldchmod +x /etc/init.d/mysqld

五、MySQL的啟動與關閉

(1)、對於使用RPM安裝的,可以使用系統服務來啟動與關閉MySQL。

12service mysqld start  #啟動mysqlservice mysqld stop  #關閉mysql

(2)、對於二進位制和原始碼安裝,可以從安裝目錄中找出mysql的啟動檔案(參考編譯安裝過程第9步,當然,你也可以自己編寫一個),然後拷貝到/etc/init.d/mysqld,用來來啟動和關閉MySQL,也可以用chkconfig命令將其加入系統服務中。

123/etc/init.d/mysqld start    #啟動mysql/etc/init.d/mysqld stop      #關閉mysql/etc/init.d/mysqld restart  #重啟mysql

(3)、MySQL啟動基本原理

/etc/init.d/mysqld是一個shell指令碼,在啟動過程中會呼叫mysqld_safe指令碼,最後呼叫mysqld服務啟動mysql。如下所示,/etc/init.d/mysqld指令碼中呼叫mysqld_safe的程式。

1$bindir/mysql_safe --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null 2>&1 &

(4)、另外我們還可以使用mysqladmin命令關閉MySQL

1mysqladmin -uroot -ppassword shutdown #只有具有mysql的root使用者才能執行關閉操作。

(5)、非測試環境不推薦的MySQL關閉方法

123killall mysqldpkill mysqldkillall -9 mysqld