centos7下mysql5.7編譯安裝
?
?
準備工作
mysql安裝包:mysql-5.7.19.tar.gz
編譯依賴包: boost_1_59_0.tar.gz
安裝環境:centos7服務器,磁盤大小20G左右,內存2G或以上
?
?
建立用戶與組
groupadd -g 27 mysql
useradd -u 27 -g mysql -M -s /sbin/nologin mysql
?
?
創建目錄
mkdir /usr/local/mysql?
mkdir /data/mysql
chown mysql:mysql -R /usr/local/mysql
chown mysql:mysql -R /data/mysql
?
?
解壓軟件包
mv mysql-5.7.19.tar.gz /usr/local/src
mv boost_1_59_0.tar.gz /usr/local/src
cd /usr/local/src
tar xf mysql-5.7.19.tar.gz
tar xf boost_1_59_0.tar.gz /usr/local/src
mkdir ./boost
mv boost_1_59_0 ./boost
?
?
配置編譯環境
yum -y install gcc-c++ ncurses-devel cmake
?
?
開始編譯
?
cd /usr/local/src/mysql-5.7.19 cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock -DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/src/boost
?
?
cmake參數解析
?
>-DCMAKE_INSTALL_PREFIX=/usr/local/mysql57#指定安裝路徑
>-DMYSQL_DATADIR=/data/mysql#指定數據庫存放路徑
>-DDEFAULT_CHARSET=utf8
>-DDEFAULT_COLLATION=utf8_general_ci ;#設置字符校驗集
>-DMYSQL_TCP_PORT=3306
>-DMYSQL_UNIX_ADDR=/tmp/mysql.sock????#設置套接字生成路徑
>-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
>-DDOWNLOAD_BOOST=1
>-DWITH_BOOST=/usr/local/src/boost#指定Boost擴展源碼路徑
?
?
開始安裝
make && make install???????#需要時間很久
?
安裝完成後,配置主配置文件,添加以下內容:
vim /etc/my.cnf
[client]
port=3306
socket=/data/mysql/mysql.sock
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
skip-name-resolve
user=mysql
port=3306
basedir=/usr/local/mysql
datadir=/data/mysql
tmpdir=/tmp
socket=/data/mysql/mysql.sock
log-error=/data/mysql/mysql.log
pid-file=/data/mysql/mysqld.pid
?
進入數據庫目錄,進行數據庫初始化
?
cd /data/mysql
/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql
?
?
登錄數據庫,這個時候需要密碼登錄,但我們沒有設置密碼,可以通過數據庫初始化時生成的隨機密碼登錄(查看日誌文件獲取),但只能用一次,登錄後必須立刻設置密碼;
?
cd /data/mysql
cat cat mysql.log
?
找到" root@localhost: "字段後面的密文。
?
?
設置數據庫密碼
?
/usr/local/mysql/support-files/mysql.server start
/usr/local/mysql/bin/mysql -uroot -p"隨機密碼"
mysql> alter user ‘root‘@‘localhost‘ IDENTIFIED BY ‘123456‘;
mysql> grant all on *.* to ‘root‘@‘%‘ identified by ‘123456‘; #授權遠程用戶
mysql> flush privileges;#刷新密碼權限表
mysql> exit
?
??重新登錄測試,這時就可以使用剛才配置的密碼登錄了。
?
?
centos7下mysql5.7編譯安裝