CentOS7 源碼安裝 MySQL 5.6

[php] view plain copy
  1. 第一部分:目錄  
  2.   
  3. 1.準備工作  2. 運行環境     3. 確認你的安裝版本  4.下載MySQL  5.安裝MySQL    6.準備安裝環境    7.編譯和安裝   8.配置MySQL  
  4.   
  5. 9.單實例配置    10.單實例配置方法  11.添加防火牆    12.啓動MySQL   13.重啓MySQL   14.實例配置  15.什麼是多實例  16.多實例配置方法  
  6.   
  7. 17.創建啓動文件   18.初始化數據庫   19.配置防火牆   20.啓動MySQL   21.登陸MySQL   22.重啓MySQL   23.準備工作  24.運行環境  
  8.   
  9.   
  10. 第二部分:確認你的安裝版本  
  11.   
  12. mysql分爲開發版本和穩定版本(GA),開發版本擁有最新的特性,但是並不穩定,也沒有完全經過測試,可能存在嚴重的bug,而穩定版本是經過了長時間的測試,消除了具有已知的bug,其穩定性和安全性都得到一定的保障。  
  13.   
  14. 對於一個mysql的版本號如:mysql-5.6.1-m1,這個版本號意味着什麼呢?  
  15. 1.對於5.6.1的解釋:第一個數字5代表了文件格式,第二個數字6代表了發行級別,第三個數字1代表了版本號。更新幅度較小時,最後的數字會增加,出現了重大特性更新時,第二個數字會增加,文件格式改變時,第一個數字會增加   
  16. 2.對於m1的解釋:這是用來表明這個mysql版本的穩定性級別的,如果沒有這個後綴,那麼這個版本就是一個穩定版(GA);如果這個後綴是mN(例如m1,m2)格式,表明了這個版本加入了一些經過徹底測試的新特性,可以認爲這是一個試生產的模具;如果這個後綴是rc,表明了這是一個候選版本,已經修改了已知的重要bug,但是沒有經過足夠長時間的使用來確認所有的bug已經被修復。  
  17.   
  18. 一旦選擇了版本號,就要選擇使用哪個發行版,你可以使用二進制發行版如RPM包或Zip壓縮包等,但是如果你要實現如下的功能,就要選擇源碼安裝(本文正是選擇源碼安裝的方式):  
  19. 1.l把mysq安裝到指定位置   
  20. 2.l使用mysql的一些特性(標準的二進制版本中並沒有這些特性)如:TCP封包支持,調試mysql   
  21. 3.二進制版本中默認支持所有的字符集,但你可以在編譯安裝源碼時指定字符集,從而使得安裝的mysql更小  
  22.   
  23.   
  24. 第三部分:  
  25.   
  26. 1、CentOs7版本默認情況下安裝了mariadb-libs,必須先卸載纔可以繼續安裝MySql  
  27.   
  28. 卸載原有MySQL或者Mariadb  
  29.   
  30. 安裝程序  
  31. 1、卸載原有MySQL或者Mariadb安裝程序  
  32.   
  33. a)  查找以前是否安裝mariadb-libs   
  34.   
  35. [root@localhost ~]# rpm -qa | grep -i mariadb-libs  
  36. mariadb-libs-5.5.35-3.el7.x86_64  
  37.   
  38. b)卸載已經安裝的mariadb-libs  
  39. [root@localhost ~]# yum remove mariadb-libs-5.5.35-3.el7.x86_64  
  40.   
  41. 2、查找以前是否安裝MySQL   
  42. [root@localhost ~]# rpm -qa | grep -i mysql  
  43.   
  44. 如果顯示有數據 說明已經安裝了 MySQL 程序  
  45.   
  46. a) 停止mysql服務  
  47. [root@localhost ~]# service mysql stop  
  48.   
  49.  或者:  
  50.  [root@localhost ~]# ps -A | grep mysql  
  51.   
  52.  [root@localhost ~]# kill -9 進程號  
  53.   
  54. b)刪除之前安裝的mysql  
  55.   
  56.  [root@localhost ~]# rpm -ve  文件名稱   例如:MySQL-server-5.6.24-1.linux_glibc2.5.x86_64  
  57.   
  58.  [root@localhost ~] # rpm -ve 文件名稱   例如:MySQL-client-5.6.24-1.linux_glibc2.5.x86_64  
  59.   
  60. c) 查找之前老版本mysql的目錄、並且刪除老版本mysql的文件和庫  
  61.   
  62.  [root@localhost ~]# find / -name mysql  
  63.   
  64. 【查找結果如下:一下目錄是我之前的目錄、有可能咱們的目錄不一樣、不過沒關係、按照查找出來的目錄刪除即可。】  
  65.   
  66.  [root@localhost ~]# find / -name mysql      
  67.   
  68. /var/lib/mysql  
  69.   
  70. /usr/lib64/mysql  
  71.   
  72. /usr/local/mysql  
  73.   
  74. /usr/local/mysql/data/mysql  
  75.   
  76.    
  77.   
  78. 【刪除對應的目錄】  
  79.   
  80.  [root@localhost ~]# rm -rf /var/lib/mysql  
  81.   
  82.  [root@localhost ~]# rm -rf /usr/lib64/mysql  
  83.   
  84.  [root@localhost ~]# rm -rf /usr/local/mysql   
  85.   
  86. 【刪除配置文檔】  
  87.   
  88.  [root@localhost ~]# rm -rf /etc/my.cnf  
  89.   
  90. d) 再次查找機器是否安裝mysql  
  91.   
  92. [root@localhost ~]# rpm -qa | grep -i mysql  
  93.   
  94. 【無結果,說明已經卸載徹底、接下來直接安裝mysql 即可】  
  95.   
  96. 第一步:下載 Mysql   下載地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads  
  97.   
  98. 下載完後需要檢查文件的MD5,以確認是否從官網下載的原版本(以防被人篡改過該軟件)  
  99.   
  100.   
  101. 我從windows下載後上傳到linux的,密令是 Linux 的 rz   然後在使用md5sum命令來檢查:加密的字符串 是否跟當時自己下載的一致、一致代表沒問題、否則請重新下載。  
  102.   
  103. [root@localhost ~]# md5sum mysql-5.6.32.tar.gz  
  104. cca05ccb4b64ad0addc8fa5c3b9e1619  mysql-5.6.32.tar.gz  
  105.   
  106.   
  107. 第二步:安裝mysql         準備安裝環境              首先再次檢查是否已經安裝過mysql:  
  108.   
  109. [root@localhost wengpengle]# rpm -qa | grep mysql  
  110.   
  111. //有的話就卸載掉以前安裝的mysql:  
  112.   
  113. [root@localhost ~]# rpm -e --nodeps xxx(xxx是搜索結果)  
  114.   
  115. //並刪除所有的相關文件:  
  116.   
  117. /etc/my.cnf  
  118.   
  119. 第三步:編譯和安裝     安裝編譯代碼所需要的包有以下。一下的包centos7 自帶的都有、我建議在重新安裝或者是更新一下。  
  120.   
  121. 1.安裝 所需小環境  
  122.   
  123. [root@localhost ~]# yum -y install make bison-devel ncures-devel libaio  
  124.   
  125. [root@localhost ~]# yum -y install libaio libaio-devel  
  126.   
  127. [root@localhost ~]# yum -y install perl-Data-Dumper  
  128.   
  129. [root@localhost ~]# yum -y install net-tools  
  130.   
  131. 2.安裝bison  
  132.   
  133. bison下載地址:http://www.gnu.org/software/bison/  
  134.   
  135.    
  136.   
  137. [root@localhost ~]# tar zxvf bison-2.5.tar.gz   
  138.   
  139. [root@localhost ~]# cd bison-2.5   
  140.   
  141. [root@localhost ~]# ./configure   
  142.   
  143. [root@localhost ~]# make   
  144.   
  145. [root@localhost ~]# make install   
  146.   
  147. 3.安裝gcc-c++  
  148.   
  149. gcc-c++下載地址:http://www.gnu.org/software/gcc/  
  150.   
  151.    
  152.   
  153. [root@localhost ~]# tar zxvf gcc-c++-4.4.4.tar.gz   
  154.   
  155. [root@localhost ~]# cd gcc-c++-4.4.4   
  156.   
  157. [root@localhost ~]#./configure   
  158.   
  159. [root@localhost ~]# make   
  160.   
  161. [root@localhost ~]# make install   
  162.   
  163. 4.安裝cmake  
  164.   
  165. cmake下載地址:http://www.cmake.org/  
  166.   
  167.    
  168.   
  169. [root@localhost ~]# tar zxvf cmake-2.8.4.tar.gz   
  170.   
  171. [root@localhost ~]# cd cmake-2.8.4   
  172.   
  173. [root@localhost ~]#./configure   
  174.   
  175. [root@localhost ~]# make   
  176.   
  177. [root@localhost ~]# make install   
  178.   
  179. 5.安裝ncurses  
  180.   
  181. ncurses下載地址:http://www.gnu.org/software/ncurses/  
  182.   
  183.    
  184.   
  185. [root@localhost ~]# tar zxvf ncurses-5.8.tar.gz   
  186.   
  187. [root@localhost ~]# cd ncurses-5.8   
  188.   
  189. [root@localhost ~]#./configure   
  190.   
  191. [root@localhost ~]# make   
  192.   
  193. [root@localhost ~]# make install   
  194.   
  195.   
  196. 第四步:解壓剛剛下載的Mysql安裝包    
  197.   
  198. [root@localhost ~]#tar -zxvf mysql-5.6.32.tar.gz  
  199.   
  200. 第五步:編譯安裝  
  201.   
  202. [root@localhost mysql-5.6.32]# cmake \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql56 -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc/my.cnf  -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci  
  203.   
  204. 以下是每一個的解釋  
  205.   
  206. # -DCMAKE_INSTALL_PREFIX=/usr/local/mysql56  \    #安裝路徑  
  207.   
  208. # -DMYSQL_DATADIR=/usr/local/mysql/data      \    #數據文件存放位置  
  209.   
  210. # -DSYSCONFDIR=/etc                         \    #my.cnf路徑  
  211.   
  212. # -DWITH_MYISAM_STORAGE_ENGINE=1            \    #支持MyIASM引擎  
  213.   
  214. # -DWITH_INNOBASE_STORAGE_ENGINE=1          \    #支持InnoDB引擎  
  215.   
  216. # -DWITH_MEMORY_STORAGE_ENGINE=1            \    #支持Memory引擎  
  217.   
  218. # -DWITH_READLINE=1                         \    #快捷鍵功能(我沒用過)  
  219.   
  220. # -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock        \    #連接數據庫socket路徑  
  221.   
  222. # -DMYSQL_TCP_PORT=3306                     \    #端口  
  223.     
  224. # -DENABLED_LOCAL_INFILE=1                  \    #允許從本地導入數據  
  225.   
  226. # -DWITH_PARTITION_STORAGE_ENGINE=1         \    #安裝支持數據庫分區  
  227.   
  228. # -DEXTRA_CHARSETS=all                      \    #安裝所有的字符集  
  229.   
  230. # -DDEFAULT_CHARSET=utf8                    \    #默認字符  
  231.   
  232. # -DDEFAULT_COLLATION=utf8_general_ci  
  233.   
  234. [root@localhost ~] make && make install  
  235. 至此 MySQL 安裝完成  
  236.   
  237. 第六步:配置mysql  
  238.   
  239. 檢查系統是否已經有mysql用戶,如果沒有則創建  
  240.   
  241. [root@localhost mysql-5.6.32]# cat /etc/passwd | grep mysql  
  242. [root@localhost mysql-5.6.32]# cat /etc/group | grep mysql  
  243.   
  244. 創建mysql用戶(但是不能使用mysql賬號登陸系統)  
  245.   
  246. [root@localhost mysql-5.6.32]# groupadd mysql -s /sbin/nologin  
  247. [root@localhost mysql-5.6.32]# useradd -g mysql mysql  
  248.   
  249. 修改權限  
  250.   
  251. [root@localhost mysql-5.6.32]# chown -R mysql:mysql /usr/local/mysql  
  252.   
  253. 至此 配置完成  
  254.   
  255. 7.完成後,繼續下面的操作  
  256.   
  257. # cd /usr/local/mysql   
  258.   
  259. chown -R mysql:mysql .    (#這裏最後是有個.的大家要注意# 爲了安全安裝完成後請修改權限給root用戶)  
  260.   
  261. # scripts/mysql_install_db --user=mysql    (先進行這一步再做如下權限的修改)  
  262.   
  263. chown -R root:mysql .     (將權限設置給root用戶,並設置給mysql組, 取消其他用戶的讀寫執行權限,僅留給mysql "rx"讀執行權限,其他用戶無任何權限)  
  264.   
  265. chown -R mysql:mysql ./data    (數據庫存放目錄設置成mysql用戶mysql組)  
  266.   
  267. chmod -R ug+rwx  .     (賦予讀寫執行權限,其他用戶權限一律刪除僅給mysql用戶權限)  
  268.   
  269.    
  270.   
  271. 下面的命令是將mysql的配置文件拷貝到/etc  
  272.   
  273. # cp support-files/my-default.cnf  /etc/my.cnf  
  274.   
  275. (5.6之前的版本用如下命令)  
  276.   
  277. # cp support-files/my-medium.cnf /etc/my.cnf  (5.6之前的版本是此操作,讀者也可在此時自己進入support-files文件夾下面,看是配置文件的真正名稱,那個存在,就拷貝那個。。)  
  278.   
  279. 修改my.cnf配置  
  280.   
  281.    # vi /etc/my.cnf  
  282.   
  283.       
  284.   
  285. #[mysqld] 下面添加:  
  286.   
  287.  user=mysql  
  288.   
  289.     datadir=/data/mysql  
  290.   
  291.  default-storage-engine=MyISAM  
  292.   
  293.    
  294. 8.啓動mysql  
  295.   
  296. # bin/mysqld_safe --user=mysql &        或者直接進入bin文件夾下面  
  297.   
  298. # cd bin  
  299.   
  300. #./mysqld                              \ 這裏說明,mysqld_safe或者mysqld都可以啓動的  
  301.   
  302. 啓動mysql,看是否成功   
  303.   
  304. # ps –ef|grep mysql  
  305.   
  306.    
  307.   
  308.    
  309.   
  310. # netstat -tnl|grep 3306   
  311.   
  312. 上面是一種啓動mysql的方法,還有一種簡單的方便,如下:  
  313.   
  314. 將mysql的啓動服務添加到系統服務中   
  315.   
  316. # cp support-files/mysql.server  /etc/init.d/mysql   
  317.   
  318. 現在可以使用下面的命令啓動mysql   
  319.   
  320. # service mysql start   
  321.   
  322. 停止mysql服務   
  323.   
  324. # service mysql stop   
  325.   
  326. 重啓mysql服務   
  327.   
  328. # service mysql restart  
  329.   
  330. 9.修改root用戶密碼  
  331.   
  332.    
  333.   
  334. # chkconfig --add mysql  
  335.   
  336. 修改默認root賬戶密碼,默認密碼爲空  
  337.   
  338. 修改密碼 cd 切換到mysql所在目錄  
  339.   
  340. # cd /usr/local/mysql  
  341.   
  342. # ./bin/mysqladmin -u root password  
  343. 回車在接下來的提示中設置新密碼即可。。  
  344.   
  345. 最後  
  346.   
  347. # service mysql restart;              (重啓mysql服務器)  
  348.   
  349. # cd /usr/local/mysql/bin/        (進入mysql basedir下面的bin中)  
  350.   
  351. # ./mysql                                (開啓客戶端)  
  352.    



轉自:http://blog.csdn.net/wplblog/article/details/52179299

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章