LAMP架构之4——MySQL源码编译及使用
目錄
一、MYSQL源碼編譯
1、Mysql的下載
2、MySQL的編譯/安裝
3、配置MySQL
4、數據庫的首次使用
本章總結:
一、MYSQL源碼編譯
1、Mysql的下載
MySQL官網:
MySQL :: Download MySQL Community Server (Archived Versions)https://downloads.mysql.com/archives/community/
?2、MySQL的編譯/安裝
(1)獲取編譯包,并解壓
(2)安裝編譯器
MySQL用到的編譯器是<cmake>。同時需要<gcc>和<gcc-c++>兩個編譯包。
?(3)cmake
以下為源碼編譯的官網文檔,此頁面中有cmake的各項參數的詳細介紹。
第一步: 添加好參數后,cmake校驗依賴性
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock -DWITH_INNOBASE_STORAGE_ENGINE=1 -DSYSCONFDIR=/etc -DWITH_EXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_BOOST=/mnt/mysql-5.7.31/boost/boost_1_59_0這里尤其注意最后一項的路徑。
?發現警告,可以不用處理,只有發生錯誤時一定需要處理。
?注意:cmake檢查依賴性時,會將之前的報錯信息存在下圖標出的緩存文件中,所以第二次校驗時要比第一次快得多。如果有更改或者警告修復后,一定要可以把這個緩存文件刪除,cmake就會從頭開始重新校驗依賴。
第二步:make
make后它會開始編譯,編譯速度取決于電腦配置。比較慢,要等很久。?
編譯花費大概40分鐘,編譯完成后,查看電腦閑置內存由之前的15G變為9.6G。
第三步:make install
安裝到了</usr/local/mysql>目錄下?
3、配置MySQL
(1)創建mysql用戶和組
(2)創建mysql的執行命令腳本
(3)創建數據目錄并設置權限
這里將這個數據目錄的所有人和所有組都設置為mysql,并將其權限設置為750(這里是755,不影響)
(4)更改/etc下mysql的配置文件
這個</etc/my.cnf>的文件中主要更改對應的mysql數據目錄的路徑。和編譯時保持一致。
(5)在系統的環境變量中添加mysql的bin路徑,并<source>命令使其立即生效。
(6)mysql初始化,使用用戶“mysql”的用戶屬性來初始化
mysqld --initialize --user=mysql?初始化完成后,會生成一個臨時密碼(結尾顯示的就是)
(7)啟動mysql數據庫
(8)登錄mysql
mysql -p第一次登錄mysql時需要輸入初始化密碼,上一步中生成的就是。但是這個臨時密碼登錄后什么都干不了。
(9)更改mysql的初始化密碼
mysql_secure_installation?初始化密碼時,需要先輸入默認的臨時密碼,然后再輸入自己的密碼。按照每一步驟,操作者自己選擇yes或no
(10)重新登錄mysql數據庫
注意:如果使用明文密碼登錄的話,這里會有警告;所以一般都不在<-p>參數后加明文密碼
4、數據庫的首次使用
在nginx的發布目錄下創建phpMyadmin的測試文件,并創建一個軟連接。
測試的準備工作:
首先開啟server1的php,否則上述的suoyouphp文件都將無法訪問
?然后再更改nginx的配置,使其支持php網頁。更改完成后重新載入nginx設置。
測試:
瀏覽器訪問<172.25.254.1/myadmin>,訪問數據庫的網頁管理界面。
登錄mysql數據庫:
直接訪問時報錯,說是連接不到指定的文件/目錄。這是因為server1的php服務中還無法讀取mysql的數據目錄。
?故障排查:在php的配置中添加mysql的數據目錄。
更改</usr/local/php/etc/php.ini>中以下兩個位置,添加上mysql的數據庫目錄。更改完成后重新載入php的服務配置<systemctl reload php-fpm>
重新測試:
登錄后,進入到mysql數據庫的管理頁面。
本章總結:
?1、MySQL官方文檔
MySQL :: MySQL 5.7 Reference Manual :: 2.9 Installing MySQL from Sourcehttps://dev.mysql.com/doc/refman/5.7/en/source-installation.html2、mysql參數幫助:
3、mysql服務器的主從ID必須不同,ID為0時表示不允許任何主機復制。
4、mysql數據庫刷新命令
flush privileges; #刷新數據庫總結
以上是生活随笔為你收集整理的LAMP架构之4——MySQL源码编译及使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于springboot+mysql的房
- 下一篇: ArcGIS版本更新对比