編譯安裝mysql
一、準備工作
1.1 解除安裝系統自帶mysql
檢視系統是否自帶MySQL, 如果有就解除安裝了, 解除安裝方式有兩種yum, rpm, 這裡通過yum解除安裝
rpm -qa | grep mysql //檢視系統自帶mysql
yum -y remove mysql-* //解除安裝mysql
rpm -e --nodeps mysql-5.1.73-3.el6_5.x86_64 //解除安裝mysql
- 1
- 2
- 3
- 1
- 2
- 3
1.2 解除安裝系統自帶boost,並安裝boost_1_59_0
mysql 5.7 依賴於boost_1_59_0或更高版本, 檢視系統是否自帶boost, 如果有就解除安裝了
rpm -qa | grep boost //檢視系統自帶boost
yum -y remove boost-* //解除安裝boost
rpm -e --nodeps boost-filesystem-1.41.0-11.el6_1.2.x86_64 //解除安裝boost
- 1
- 2
- 3
- 1
- 2
- 3
安裝 boost_1_59_0 , cmake 編譯時加上 -DWITH_BOOST=/usr/local/boost
tar -zxvf boost_1_59_0.tar.gz
mv boost_1_59_0 /usr/local/boost
- 1
- 2
- 1
- 2
1.3 安裝依賴包
yum install gcc gcc-c++ ncurses ncurses-devel bison libgcrypt perl
- 1
- 1
1.4 安裝cmake
tar -zxvf cmake-3.4.1.tar.gz
./configure
make && make install
- 1
- 2
- 3
- 1
- 2
- 3
1.5 下載 mysql 原始碼包 mysql-5.7.10.tar.gz
通過wget下載
wget http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.10.tar.gz
- 1
- 1
windows中下載需要的原始碼包,通過檔案傳輸工具rzsz上傳
yum install lrzsz //安裝rzsz
rz //上傳
- 1
- 2
- 1
- 2
1.6 建立使用者組mysql和使用者mysql
檢查系統是否已經有mysql使用者,如果沒有則建立
cat /etc/group | grep mysql //檢視是否存在mysql使用者組
cat /etc/passwd | grep mysql //檢視是否存在mysql使用者
groupadd mysql //建立使用者組
useradd -r -g mysql mysql //建立使用者
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
1.7 建立mysql目錄和資料庫目錄,並賦予使用者mysql許可權
建立mysql目錄和資料庫目錄
mkdir /usr/local/mysql //建立mysql目錄
mkdir /usr/local/mysql/data //建立資料庫目錄
mkdir /usr/local/mysql/log //建立日誌檔案目錄
chown -R mysql:mysql /usr/local/mysql //賦予許可權
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
二、編譯、安裝、配置mysql
2.1 編譯、安裝mysql
編譯時帶上一些引數如安裝根目錄、資料庫目錄、編碼、埠號、預設儲存引擎等
編譯的時候記得帶上 -DWITH_BOOST=/usr/local/boost
tar -zxvf mysql-5.7.10.tar.gz
cd mysql-5.7.10
cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_USER=mysql \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DENABLE_DOWNLOADS=1 \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/boost
make && make install
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
配置選項參考地址, [http://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html][1]
2.2 編譯出錯, 重新編譯前要刪除編譯失敗的檔案
重新編譯時,需要清除舊的物件檔案和快取資訊
make clean
rm -f CMakeCache.txt
- 1
- 2
- 1
- 2
2.3 配置my.cnf
my.cnf檔案可以根據自己的需求選擇合適的配置, 網上有很多, 可以參考, 這裡不在詳細說明。記得把 my.cnf 放到 /etc 目錄下
mv my.cnf /etc/my.cnf
- 1
- 1
2.4 初始化系統資料表
自 mysql5.7 開始,初始化系統表不再使用 mysql_install_db
工具, 而是使用
mysqld --initialize-insecure --user=mysql
, 其中 --initialize
表示預設生成一個安全的密碼,
--initialize-insecure
表示不生成密碼, 密碼為空
cd /usr/local/mysql
bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
- 1
- 2
- 1
- 2
2.5 新增環境變數, 註冊成系統服務
新增環境變數, 在 PATH 中新增引數 :/usr/local/mysql/bin:/usr/local/mysql/lib
vim /root/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib
source /root/.bash_profile
- 1
- 2
- 3
- 1
- 2
- 3
註冊成系統服務
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig mysqld on
service mysqld start/stop/restart/status
- 1
- 2
- 3
- 1
- 2
- 3
首次登陸設定密碼
- 直接使用 mysqladmin 設定密碼
mysqladmin -uroot -p password 123456 //登入時候
- 1
- 1
- 或者在使用空密碼登入mysql後,在mysql客戶端執行下面修改密碼命令
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456'); //登入之後
- 1
- 1
檢視程式
netstat -lntp | grep 3306
pkill mysqld
相關文章
- Mysql 5.7.17 編譯安裝MySql編譯
- 【MySQL安裝】Linux下安裝MySQL(預編譯)MySqlLinux編譯
- MySQL5.5.24編譯安裝MySql編譯
- MySQL 5.6.19編譯安裝MySql編譯
- 如何編譯安裝MySQL8.0編譯MySql
- 編譯安裝nginx-php-mysql編譯NginxPHPMySql
- MySQL 5.6 for REHL 6.4編譯安裝MySql編譯
- 原始碼編譯安裝MySQL 5.7.9原始碼編譯MySql
- [LAMP]Mysql-5.6.28編譯安裝LAMPMySql編譯
- 【轉】MySQL原始碼編譯安裝MySql原始碼編譯
- MySQL 5.6原始碼編譯安裝流程MySql原始碼編譯
- 在solrais下編譯安裝MySQL(轉)SolrAI編譯MySql
- orthanc 編譯安裝mysql S3編譯MySqlS3
- 阿里雲mysql原始碼編譯安裝阿里MySql原始碼編譯
- MySQL免編譯安裝及登入(5.6.36)MySql編譯
- MySQL5.7.16原始碼編譯安裝MySql原始碼編譯
- Cnetos7編譯安裝MySQL教程。編譯MySql
- centos手動編譯安裝apache、php、mysqlCentOS編譯ApachePHPMySql
- CentOS 6.4下編譯安裝MySQL 5.6.14CentOS編譯MySql
- CentOS 7 原始碼編譯安裝 Mysql 5.7CentOS原始碼編譯MySql
- MySQL 5.7.9原始碼編譯安裝說明MySql原始碼編譯
- MAC M3 編譯安裝mysql 5.7.44Mac編譯MySql
- 編譯安裝zabbix編譯
- apache編譯安裝Apache編譯
- 編譯安裝nmon編譯
- swoole 編譯安裝編譯
- 編譯安裝Nginx編譯Nginx
- nginx編譯安裝Nginx編譯
- 安裝編譯ffmpeg編譯
- Griffin編譯安裝編譯
- Centos 7.6 下Mysql8.0.16編譯安裝CentOSMySql編譯
- Centos6.3編譯安裝Nginx+php+MysqlCentOS編譯NginxPHPMySql
- MySQL5.6一鍵編譯安裝指令碼MySql編譯指令碼
- CentOS 6.5 原始碼編譯安裝 MySQL 5.5 5.6CentOS原始碼編譯MySql
- Mysql安裝過程中CMAKE編譯出錯MySql編譯
- MySQL-5.6.29原始碼編譯安裝記錄MySql原始碼編譯
- MySQL 5.6.19編譯安裝詳細步驟MySql編譯
- CentOS6.5編譯安裝最新MySQL 5.7.11CentOS編譯MySql