1. 首先解除安裝系統自帶的 mysql
# yum remove mysql
2.安裝 ncurses 和 bison 和 gcc-c++
# yum update && yum -y install ncurses-devel bison gcc-c++
3.安裝cmake
# wget https://github.com/Kitware/CMake/releases/download/v3.14.0/cmake-3.14.0.tar.gz
# tar -vxzf cmake-3.14.0.tar.gz -C /usr/local
# cd /usr/local/cmake-3.14.0
# ./configure
# make
# make install
檢視 cmake 版本
# cmake -version
4. 建立mysql組和使用者
# groupadd mysql
# useradd -g mysql mysql
5. 建立資料庫目錄及配置設定通路權限
# mkdir -p /opt/app/mysql
# chown -R root:mysql /opt/app/mysql
# mkdir -p /opt/app/mysql/data
# chown -R mysql:mysql /opt/app/mysql/data
6. 編譯安裝mysql 下載下傳mysql源碼
下載下傳位址:
https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz5.7 linux 通用版
# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz
# tar -vxzf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz -C /usr/local
# cd /usr/local/mysql-5.7.18-linux-glibc2.5-x86_64
# cmake -DCMAKE_INSTALL_PREFIX=/opt/app/mysql -DMYSQL_DATADIR=/opt/app/mysql/data -DSYSCONFDIR=/etc
參數說明:
-DCMAKE_INSTALL_PREFIX //安裝根目錄
-DINSTALL_DATADIR //資料存儲目錄
-DSYSCONFDIR //配置檔案(my.cnf)目錄
# make
# make install
7. 配置 mysql
# cd /opt/app/mysql
# cp ./support-files/my-default.cnf /etc/my.cnf
# vim /etc/my.cnf
在 [mysqld] 段修改
basedir = /opt/app/mysql
datadir = /opt/app/mysql/data
儲存退出編輯。:wq(儲存退出vim)
8. 初始化資料庫
# cd /opt/app/mysql
# ./scripts/mysql_install_db --basedir=/opt/app/mysql --datadir=/opt/app/mysql/data --defaults-file=/etc/my.cnf --user=mysql
# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
# chmod 755 /etc/rc.d/init.d/mysqld
# chkconfig --add mysqld
9. 設定啟動腳本變量
# vim /etc/rc.d/init.d/mysqld
basedir=/opt/app/mysql
datadir=/opt/app/mysql/data
儲存退出。 :wq(儲存退出vim)
10. 設定變量環境
# echo "PATH=$PATH:/opt/app/mysql/bin" >> /etc/profile (永久生效)
# source /etc/profile 使配置檔案立即生效
# export PATH=$PATH:/opt/app/mysql/bin (目前生效)
11. 啟動服務
# service mysqld start
/etc/init.d/mysqld: line 46: /u/app/mysql: is a directory
/etc/init.d/mysqld: line 47: /u/app/mysql/data: is a directory
Starting MySQL. [ OK ]
12. 設定資料庫管理者root密碼
# mysqladmin -u root password 'xxxxxx'
13.設定root使用者授權 可在任意機器登入
#mysql -u root -p
輸入密碼 此時密碼不可見直接輸入即可
grant all privileges on *.* to 'root'@'%' identified by 'xxxxxx' with grant option;
flush privileges;