rhel6下,源碼編譯安裝mysql 5.6.14

更多博文請關注:沒有傘的孩子必須努力奔跑(www.xuchanggang.cn)
mysql


從mysql 5.5開始,mysql編譯採起了cmake編譯,來取代原來的configure,所以,咱們下面的編譯安裝,也是使用cmake編譯安裝。
須要準備的源碼包:c++

mysql源碼包:mysql-5.6.14.tar.gzsql

cmake源碼包:cmake-2.8.10.2.tar.gz [cmake咱們也採起編譯安裝,並下載最新版本]數據庫

1.對於全新的系統環境,源碼編譯安裝,須要不少包,可是,系統光盤裏基本上提供了,因此,建議你們先配置yum源,這裏不作演示[可參考博客裏 「yum倉庫配置」一文]。這裏默認你們已經配置好yum源:vim

  1. [root@client100 ~]# yum -y install gcc-c++ ncurses-devel make perl bison ncurses緩存

2.進入存放源碼包的目錄,解壓cmake源碼包安全

  1. # 解壓源碼包服務器

  2. [root@client100 tmp]# tar -xf cmake-2.8.10.2.tar.gzsocket

  3. # 進入解壓目錄ide

  4. [root@client100 tmp]# cd cmake-2.8.10.2

  5. # 配置安裝參數

  6. [root@client100 cmake-2.8.10.2]# ./configure --prefix=/usr/local/cmake

  7. # 編譯源碼

  8. [root@client100 cmake-2.8.10.2]# gmake

  9. # 安裝

  10. [root@client100 cmake-2.8.10.2]# make install

  11. # 修改配置文件

  12. [root@client100 cmake-2.8.10.2]# vim /etc/profile

  13. # 在文件的最後,添加以下兩行[即修改PATH的路徑,指定cmake命令的路徑]

  14. PATH=/usr/local/cmake/bin:$PATH

  15. export path

  16. # 使配置文件當即生效

  17. [root@client100 cmake-2.8.10.2]# source /etc/profile

  18. # 執行以下操做,若是能顯示具體版本,cmake就安裝成功

  19. [root@client100 cmake-2.8.10.2]# cmake --version

  20. cmake version 2.8.10.2

3.mysql編譯前,準備工做:

  1. # 建立mysql用戶組

  2. [root@client100 tmp]# groupadd mysql

  3. # 建立用戶並加入用戶組,並取消login權限

  4. [root@client100 tmp]# useradd -g mysql -s '/sbin/nologin' mysql

  5. # 創建mysql安裝目錄

  6. [root@client100 test]# mkdir -p /usr/local/mysql

  7. # 創建mysql數據存放目錄

  8. [root@client100 test]# mkdir -p /home/mysql/data

  9. # 創建mysql安裝目錄的屬主

  10. [root@client100 mysql-5.6.14]# chown mysql.mysql -R /usr/local/mysql

  11. # 修改mysql數據存放目錄的所屬者

  12. [root@client100 mysql-5.6.14]# chown mysql.mysql -R /home/mysql/data

4.開始編譯安裝mysql

  1. # 解壓mysql 源碼包

  2. [root@client100 tmp]# tar -xf mysql-5.6.14.tar.gz

  3. # 進入mysql源碼包目錄

  4. [root@client100 mysql-5.6.14]# cd mysql-5.6.14

  5. # 用cmake配置安裝選項[ 每行結尾的 \ ,是由於一行寫不下,換到下行繼續,並去除後面的空格或回車]

  6. [root@client100 mysql-5.6.14]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

  7. -DMYSQL_DATADIR=/home/mysql/data \

  8. -DSYSCONFDIR=/etc \

  9. -DWITH_MYISAM_STORAGE_ENGINE=1 \

  10. -DWITH_INNOBASE_STORAGE_ENGINE=1 \

  11. -DWITH_MEMORY_STORAGE_ENGINE=1 \

  12. -DWITH_READLINE=1 \

  13. -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysqld.sock \

  14. -DMYSQL_TCP_PORT=3306 \

  15. -DENABLED_LOCAL_INFILE=1 \

  16. -DWITH_PARTITION_STORAGE_ENGINE=1 \

  17. -DEXTRA_CHARSETS=all \

  18. -DDEFAULT_CHARSET=utf8 \

  19. -DDEFAULT_COLLATION=utf8_general_ci

  20. # /* 如下爲配置參數註解 */

  21. # /* -DCMAKE_INSTALL_PREFIX=/usr/local/mysql # 指定mysql安裝位置

  22. # /* -DMYSQL_DATADIR=/home/mysql/data # 數據文件存放位置

  23. # /* -DSYSCONFDIR=/etc # 配置文件my.cnf的位置

  24. # /* -DWITH_MYISAM_STORAGE_ENGINE=1 # 支持MyIASM引擎

  25. # /* -DWITH_INNOBASE_STORAGE_ENGINE=1 # 支持InnoDB引擎

  26. # /* -DWITH_MEMORY_STORAGE_ENGINE=1 # 支持Memory引擎

  27. # /* -DWITH_READLINE=1 # 快捷鍵功能

  28. # /* -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysqld.sock # 鏈接數據庫socket路徑

  29. # /* -DMYSQL_TCP_PORT=3306 # 端口

  30. # /* -DENABLED_LOCAL_INFILE=1 # 容許從本地導入數據

  31. # /* -DWITH_PARTITION_STORAGE_ENGINE=1 # 安裝支持數據庫分區

  32. # /* -DEXTRA_CHARSETS=all # 安裝全部的字符集

  33. # /* -DDEFAULT_CHARSET=utf8 # 默認字符

  34. # /* -DDEFAULT_COLLATION=utf8_general_ci

  35. # 開始編譯

  36. [root@client100 mysql-5.6.14]#gmake

  37. # 安裝mysql到剛纔參數配置的目錄

  38. [root@client100 mysql-5.6.14]# make install

  39. # /* 注意事項 */

  40. 從新編譯時,須要清除舊的對象文件和緩存信息[若是能夠,就把解壓的目錄刪掉,從新解壓目錄或者執行以下操做]

  41. # /* make clean

  42. # /* rm -f CMakeCache.txt

  43. # /* rm -rf /etc/my.cnf

5.後續mysql相關操做:

  1. # 進入mysql安裝目錄下的腳本目錄

  2. [root@client100 /]# cd /usr/local/mysql/scripts/

  3. # 安裝mysql默認數據庫,指明數據庫安裝目錄,數據目錄,用戶

  4. [root@client100 scripts]# ./mysql_install_db --basedir=/usr/local/mysql --datadir=/home/mysql/data --user=mysql

  5. # 進入mysql配置文件目錄

  6. [root@client100 mysql]# cd /usr/local/mysql/support-files/

  7. # 複製配置文件到/etc目錄下,並更名爲my.cnf[若是目錄下有my.cnf文件,選擇覆蓋或者刪除或者在上面進行修改]

  8. [root@client100 support-files]# cp my-default.cnf /etc/my.cnf

  9. # 修改/etc/my.cnf的屬主

  10. [root@client100 support-files]# chown mysql:mysql /etc/my.cnf

  11. # 將安裝目錄屬主改成mysql[上面更改,到這裏又變成root屬主了,因此能夠選擇更改成mysql]

  12. [root@client100 support-files]# chown mysql:mysql -R /usr/local/mysql

  13. # 修改/etc/my.cnf配置文件

  14. [root@client100 support-files]# vim /etc/my.cnf

  15. # 配置文件內容以下: [目前,這裏只作簡單配置,下篇文章會詳述]

  16. [mysqld]

  17. innodb_buffer_pool_size = 128M

  18. basedir =/usr/local/mysql

  19. datadir =/home/mysql/data

  20. port =3306

  21. server_id =100

  22. socket =/usr/local/mysql/mysqld.sock

  23. join_buffer_size = 128M

  24. sort_buffer_size = 2M

  25. read_rnd_buffer_size = 2M

  26. sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

  27. # 複製啓動腳本文件到/etc/init.d/目錄下

  28. [root@client100 support-files]# cp mysql.server /etc/init.d/mysqld

  29. # 修改啓動腳本權限

  30. [root@client100 support-files]#chmod 755 /etc/init.d/mysqld

  31. # 修改啓動腳本

  32. [root@client100 support-files]# vim /etc/init.d/mysqld

  33. # 僅修改以下兩行,指定mysql安裝目錄,數據存放目錄

  34. basedir=/usr/local/mysql

  35. datadir=/home/mysql/data

  36. # 編譯配置文件,將mysql相關命令路徑放到PATH環境變量裏

  37. [root@client100 support-files]# vim /etc/profile

  38. PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:/usr/local/cmake/bin:$PATH

  39. export path

  40. # 重讀配置文件,當即生效

  41. [root@client100 support-files]# source /etc/profile

  42. # 啓動mysql數據庫

  43. [root@client100 mysql]# /etc/init.d/mysqld start

  44. # 登錄測試[默認第一次登錄,沒有密碼]

  45. [root@client100 mysql]# mysql

  46. #/* 下面是mysql的一些簡答操做 */

  47. #/* 安裝mysql後,設置root用戶密碼

  48. [root@client100 mysql]# mysqladmin -uroot password 'kongzhong'

  49. # 設置完密碼後,在直接用mysql登錄,是登錄不了

  50. [root@client100 mysql]# mysql

  51. ERROR 1045 (28000): Access denied foruser 'root'@'localhost' (using password: NO)

  52. # 須要使用此種方式登錄

  53. [root@client100 mysql]# mysql -uroot -pkongzhong

  54. # 下面是刪除mysql數據庫中,密碼爲空的用戶

  55. mysql> use mysql

  56. mysql> select Host,User,Password fromuser;

  57. mysql> delete fromuser where password='';

  58. # 刷新受權表

  59. mysql> flush privileges;

  60. # 可選:運行安全設置腳本,修改MySQL用戶root(不是系統的root)的密碼,禁止root遠程鏈接(防止破解密碼),移除test數據庫和匿名用戶,強烈建議生產服務器使用:/usr/local/mysql/bin/mysql_secure_installation [在咱們的安裝環境中,命令行直接輸入mysql_secure_installation 便可]

相關文章
相關標籤/搜索