1. 程式人生 > >CentOS 7 源碼編譯安裝MySQL 5.7.20

CentOS 7 源碼編譯安裝MySQL 5.7.20

centos 7 源碼 mysql5.7

一、添加用戶和組

1. 進入root:

su

2. 添加組:

groupadd mysql

3. 添加用戶:

useradd -r -g mysql -s /bin/false mysql

二、安裝

1. 首先到MySQL官網下載最新版的MySQL 5.7.14,進入http://dev.mysql.com/downloads/mysql/,選擇Source Code下的Generic Linux。

2. 解壓

tar zxvf mysql-5.7.20.tar.gz

3. 安裝MySQL所需要的工具:

(1) CMake,一個跨平臺的安裝(編譯)工具;

(2) gcc-c++, C++編譯器;

(3) Boost庫,C++語言標準庫的擴展庫(這裏很可能會出現坑

);

(4) perl,一種編程序言;

(5) bison, 一個語法分析器生成器;

(6) git,版本控制工具;

(7) curses,圖形函數庫。

yum install cmake gcc-c++ perl-Data-Dumper bison git ncurses-devel

4. 進入解壓完的mysql-5.7.20目錄,編譯源碼並生成makefile。

(1) 如果你的系統安裝了Boost-1.59庫,並且設置了環境變量,那麽執行:

cmake .

(2) 如果你的系統安裝了boost-1.59庫,那麽執行:

cmake . -DWITH_BOOST=path of boost

(3 如果系統提示Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH),說明cmake的這兩個參數的值不對,那麽你在上面的基礎上加上兩個參數:

-DCURSES_LIBRARY=/usr/lib/libncurses.so -DCURSES_INCLUDE_PATH=/usr/include

5. 編譯:

make

6. 安裝:

make install

MySQL將會安裝到/usr/local/mysql目錄。

7. 進入安裝目錄:

cd /usr/local/mysql

8. 創建data目錄:

mkdir -m 777 data

9. 創建MySQL配置文件並進行配置:

vi /etc/my.cnf

進入編輯器之後修改以下幾行(註意去掉#號):

basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
socket = /usr/local/mysql/tmp/mysql.sock  #tmp目錄需要手工建立,註意權限為mysql
port = 3306
註意:[client][mysqld][mysqld_safe]的socket參數必須相同,否則可能第一次登陸失敗
[root@Master mysql]# bin/mysql -uroot 
ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/usr/local/mysql/tmp/mysql.sock‘ (2)

10. 權限設置:

chown -R mysql.mysql .

11. 初始化數據庫:

bin/mysqld --initialize --user=mysql

執行完這一句後mysql會分配一個初始的密碼,這個密碼得備份下來。

繼續執行:

bin/mysql_ssl_rsa_setup

12. 啟動MySQL:

bin/mysqld_safe --user=mysql &
或者
/usr/local/mysql/support-files/mysql.server start
或者
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
可以使用service mysqld start | restart | status | status管理
也可以使用systemctl start | restart | status | status mysqld.service

13. 登錄mysql:

bin/mysql -u root -p    #必須使用上面初始化產生的臨時密碼登錄,如果忘記需要重新初始化

14. 修改密碼:

ALTER USER ‘root‘@‘localhost‘ IDENTIFIED BY ‘new_password‘;

15. 遠程登錄權限:

GRANT ALL PRIVILEGES ON *.* TO root@‘%‘ IDENTIFIED BY ‘passwd2017‘;
FLUSH PRIVILEGES;


本文出自 “夜色” 博客,請務必保留此出處http://liuqun.blog.51cto.com/3544993/1983831

CentOS 7 源碼編譯安裝MySQL 5.7.20