Ubuntu 16.04下 Mysql5.7.17原始碼編譯與安裝
Ubuntu 16.04下 Mysql5.7.17原始碼編譯與安裝
系統環境
ubuntu 16.04 64位
官方文件說明:http://dev.mysql.com/doc/refman/5.7/en/source-installation.html
一、 系統安裝條件
1.cmake
MySQL使用cmake跨平臺工具預編譯原始碼,用於設定mysql的編譯引數。
sudo apt-get install cmake
- 1
2.bison
Linux下C/C++語法分析器
sudo apt-get install bison
- 1
3.ncurses
字元終端處理庫
sudo apt-get install libncurses5-dev
- 1
4. gcc
GCC是Linux下的C語言編譯工具,mysql原始碼編譯完全由C和C++編寫。Ubuntu預設已裝。
5. Boost 1.59.0
mysql原始碼中用到了C++的Boost庫,要求必須安裝boost1.59.0
下載Boost1.59.0原始碼,並解壓到/usr/local/目錄下:
wget -O https://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gztar -zxvf boost_1_59_0.tar.gz -C /usr/local/
- 1
- 2
二、 下載MySQL原始碼
從github上下載mysql的原始碼
https://github.com/mysql/mysql-server.git
三、 編譯MySQL原始碼
1. 新增Mysql使用者
groupadd mysqluseradd -r-g mysql mysql
- 1
- 2
2. 建立Mysql安裝程式的目錄和資料檔案的目錄
mkdir /usr/local/mysqlmkdir /home/MysqlDatachown -R mysql.mysql /user/local/mysqlchown -R mysql.mysql /home/MysqlData
- 1
- 2
- 3
- 4
3. 解壓縮Mysql5.7原始碼,並編譯
tar -zxvf mysql-server-5.7.zipcd mysql-server-5.7
- 1
- 2
用cmake配置mysql預編譯引數:
-DCMAKE_INSTALL_PREFIX:安裝路徑
-DMYSQL_DATADIR:資料存放目錄
-DWITH_BOOST:boost原始碼路徑
-DSYSCONFDIR:my.cnf配置檔案目錄
-DEFAULT_CHARSET:資料庫預設字元編碼
-DDEFAULT_COLLATION:預設排序規則
-DENABLED_LOCAL_INFILE:允許從本檔案匯入資料
-DEXTRA_CHARSETS:安裝所有字符集
更多預編譯配置引數請參考mysql官方文件說明:http://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html#cmake-general-options
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_DATADIR=/home/MysqlData \-DWITH_BOOST=/usr/local/boost_1_59_0 \-DSYSCONFDIR=/etc \-DEXTRA_CHARSETS=all
- 1
- 2
- 3
- 4
- 5
編譯並安裝(兩個命令分開進行):
sudo makesudo make install
- 1
- 2
三、 安裝配置MySQL
1. 初始化Mysql資料庫
cd/usr/local/mysql./bin/mysql_install_db--user=mysql--basedir=/usr/local/mysql--datadir=/home/MysqlData#5.7.6之後版本初始系統資料庫指令碼(本文使用上種方式)./bin/mysqld--initialize-insecure--user=mysql--basedir=/usr/local/mysql--datadir=/home/MysqlData./bin/mysql_ssl_rsa_setup
- 1
- 2
- 3
- 4
- 5
注意:如果使用–initialize引數初始化系統資料庫之後,會在~/.mysql_secret檔案中生成root使用者的一個臨時密碼,同時也在初始化日誌中列印出來了
2.配置檔案
cp support-files/my-default.cnf /etc/my.cnfvim /etc/my.cnf[client]port=3306socket=/usr/local/mysql/mysql.sock[mysqld]port=3306basedir=/usr/local/mysqldatadir=/home/MysqlDatasocket=/usr/local/mysql/mysql.sockpid-file=/usr/local/mysql/mysql.pidmax_connections=500default-storage-engine=MYISAM
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
3.配置Mysql服務
由於Ubuntu沒有chkconfig命令,用update-rc.d命令將Mysql服務加入到系統服務中。
cp support-files/mysql.server /etc/init.d/mysqlupdate-rc.d mysql defaultsupdate-rc.d mysql start 2345 . stop 016
- 1
- 2
- 3
4.啟動Mysql服務
shell> service mysqld start # 啟動mysql服務shell> service mysqld stop # 停止mysql服務shell> service mysqld restart # 重新啟動mysql服務
- 1
- 2
- 3
5.設定資料庫密碼
my.cnf中加上一行skip-grant-tables
免密登入後修改user表
再去掉skip-grant-tables,重啟Mysql
6.配置mysql環境變數
shell> vim /etc/profileshell> export PATH=/usr/local/mysql/bin:$PATHshell> source /etc/profile
- 1
- 2
- 3
四、其它注意事項
如果中途編譯失敗了,需要刪除cmake生成的預編譯配置引數的快取檔案和make編譯後生成的檔案,再重新編譯。
shell> cd mysql-server-5.7shell> rm -f CMakeCache.txtshell> make clean
相關文章
- Ubuntu 16.04原始碼編譯安裝Apache 2.4.25教程Ubuntu原始碼編譯Apache
- 04 原始碼編譯安裝與介紹原始碼編譯
- Ubuntu20.04 從原始碼編譯安裝 python3.10Ubuntu原始碼編譯Python
- 原始碼編譯安裝Redis原始碼編譯Redis
- 原始碼編譯安裝的原理原始碼編譯
- 【轉】MySQL原始碼編譯安裝MySql原始碼編譯
- ubuntu編譯安裝pcl教程。Ubuntu編譯
- ubuntu編譯安裝kernel教程。Ubuntu編譯
- MySQL5.7.16原始碼編譯安裝MySql原始碼編譯
- 阿里雲mysql原始碼編譯安裝阿里MySql原始碼編譯
- nginx原始碼編譯安裝(詳解)Nginx原始碼編譯
- linux-原始碼的編譯安裝和解除安裝Linux原始碼編譯
- Greenplum_原始碼編譯安裝和RPM包安裝原始碼編譯
- Linux環境PostGIS原始碼編譯安裝Linux原始碼編譯
- PostgreSQL原始碼學習 win10原始碼編譯安裝SQL原始碼Win10編譯
- ubuntu系統編譯安裝OpenCV 4.4Ubuntu編譯OpenCV
- Centos7下原始碼編譯安裝apacheCentOS原始碼編譯Apache
- Ubuntu 18.04系統編譯安裝Memcached教程。Ubuntu編譯
- Ubuntu 18.04系統編譯安裝Redis教程。Ubuntu編譯Redis
- Ubuntu 18.04系統編譯安裝Apache教程。Ubuntu編譯Apache
- Ubuntu 18.04系統編譯安裝PHP教程。Ubuntu編譯PHP
- Ubuntu 18.04系統編譯安裝Tomcat教程。Ubuntu編譯Tomcat
- Ubuntu 18.04系統編譯安裝Docker教程。Ubuntu編譯Docker
- Ubuntu 20.04系統編譯安裝Apache教程。Ubuntu編譯Apache
- Ubuntu 20.04系統編譯安裝PHP教程。Ubuntu編譯PHP
- Ubuntu 20.04系統編譯安裝phpMyAdmin教程。Ubuntu編譯PHP
- Ubuntu 20.04系統編譯安裝Tomcat教程。Ubuntu編譯Tomcat
- Ubuntu 20.04系統編譯安裝Docker教程。Ubuntu編譯Docker
- Ubuntu 20.04系統編譯安裝Redis教程。Ubuntu編譯Redis
- Ubuntu 20.04系統編譯安裝Memcached教程。Ubuntu編譯
- ubuntu22.04編譯安裝R4.4.1Ubuntu編譯
- Mysql5.6 for Centos6.5原始碼編譯安裝MySqlCentOS原始碼編譯
- [環境搭建] 透過原始碼編譯安裝 Redis原始碼編譯Redis
- Nginx1.19 php8.0 原始碼編譯安裝NginxPHP原始碼編譯
- Centos7安裝(四)抓包工具wireshark原始碼編譯安裝CentOS原始碼編譯
- Ubuntu環境編譯OpenJDK11原始碼Ubuntu編譯JDK原始碼
- Ubuntu 15.04編譯Android 6.0.1原始碼-Nexus5真機編譯Ubuntu編譯Android原始碼
- Xopsed的編譯與安裝編譯