CentOS 7 源碼編譯安裝MySQL 5.7.20
一、添加用戶和組
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