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

sqysl發表於2020-01-20

 

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使用者還沒有設定密碼,所以為空。輸入密碼時,直接點Enter鍵即可。

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 root@"%" 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


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8484829/viewspace-2674132/,如需轉載,請註明出處,否則將追究法律責任。

相關文章