1. 程式人生 > >Mysql for Linux安裝配置之—— 原始碼安裝

Mysql for Linux安裝配置之—— 原始碼安裝

1.安裝

--假設已經有mysql-5.5.10.tar.gz以及cmake-2.8.4.tar.gz兩個原始碼壓縮檔案1)先安裝cmake(mysql5.5以後是通過cmake來編譯的)   # tar -zxv -f cmake-2.8.4.tar.gz  # cd cmake-2.8.4  # ./configure  # make  # make install

2)建立mysql安裝目錄及資料目錄

  # mkdir -p /usr/local/mysql                 --mysql安裝目錄   # mkdir -p /usr/local/mysql/data            --mysql資料目錄

3)建立mysql使用者及使用者組

 # groupadd mysql # useradd -r -g mysql mysql

 4)安裝mysql

  # tar -zxv -f mysql-5.5.10.tar.gz  # cd mysql-5.5.10  # cmake .   -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  -DMYSQL_DATADIR=/usr/local/mysql/data  -DDEFAULT_CHARSET=utf8  -DDEFAULT_COLLATION=utf8_general_ci   -DEXTRA_CHARSETS=all   -DENABLED_LOCAL_INFILE=1  --注:    上述命令中引數:    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql        --安裝目錄    -DINSTALL_DATADIR=/usr/local/mysql/data        --資料庫存放目錄    -DDEFAULT_CHARSET=utf8                       --使用utf8字元    -DDEFAULT_COLLATION=utf8_general_ci            --校驗字元    -DEXTRA_CHARSETS=all                          --安裝所有擴充套件字符集    -DENABLED_LOCAL_INFILE=1                      --允許從本地匯入資料

  # make  # make install

 --注:   重新編譯時,需要清除舊的物件檔案和快取資訊。  # make clean  # rm -f CMakeCache.txt  # rm -rf /etc/my.cnf

2.配置及管理1)設定目錄許可權

  # cd /usr/local/mysql  # chown -R root:mysql . //把當前目錄中所有檔案的所有者所有者設為root,所屬組為mysql  # chown -R mysql:mysql data

2)拷貝mysql引數檔案

  # cp support-files/my-medium.cnf /etc/my.cnf 

3)初始化資料庫(建立系統資料庫)

  # cd /usr/local/mysql  # scripts/mysql_install_db --user=mysql

4)設定環境變數   # vi /root/.bash_profile  PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib  #source /root/.bash_profile

5)手動啟動和關閉mysql  --啟動mysql  # cd /usr/local/mysql  # ./bin/mysqld_safe --user=mysql &   --啟動mysql,但不能用該命令停止mysql,啟動日誌寫在此檔案下:/usr/local/mysql/data/localhost.err  --關閉MySQL服務  # mysqladmin -u root -p shutdown    --此時,mysql root使用者還沒有設定密碼,所以為空。輸入密碼時,直接點回車鍵即可。

6)通過服務啟動和關閉mysql(前提是,mysql已新增至系統服務中)

  # service mysql.server start    # service mysql.server stop  # service mysql.server restart  --如執行上述命令時出現:mysql.server 未識別的服務資訊,則可能是mysql未新增至系統服務所導致,可通過如下方法新增。

  # cp support-files/mysql.server  /etc/init.d/mysql --將mysql.server拷貝至系統服務目錄/etc/init.d中,並將其命名為mysql  # chkconfig --add mysql  # chkconfig --list  --將mysql服務設定為3、5等級自動啟動  # chkconfig --level 35 mysql on  --將mysql服務設定為2、3、4、5等級自動啟動  # chkconfig mysql on  --注:    有些系統中,mysql.server在/usr/local/mysql/share/mysql/目錄下,而非本文中的/usr/local/mysql/support-files/目錄下。

7)修改mysql使用者root密碼以及開啟遠端連線授權  # mysql -u root mysql  mysql> use mysql;  mysql> desc user;  mysql> GRANT ALL PRIVILEGES ON *.* TO [email protected]"%" IDENTIFIED BY "root";    --開啟使用者root遠端連線許可權  or   mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '******' WITH GRANT OPTION;      --如不能進行遠端連線,且報出錯誤mysql error number 1130  mysql> update user set Password = password('xxxxxx') where User='root';   --更改使用者root密碼  mysql> select Host,User,Password  from user where User='root';   mysql> flush privileges;  mysql> exit  --注:    如果還不能進行遠端連線,可以關閉防火牆試試,命令如下。    # /etc/rc.d/init.d/iptables stop