1,從官方網址下載MySQL5.7.19源碼包
2,安裝好CentOS6.7 64位操作系統。
3. 預先安裝依賴軟件包:yum -y install  gcc gcc-c++ autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* make cmake  libaio libaio-devel autoconf bzr bison libtool   //相關依賴包
4
1 查看是否安裝過mysql
 rpm -qa | grep mysql
如果安裝了,那就停止MySQL服務并且將其卸載
service  mysqld   stop
如果是rpm包安裝的就用rpm  -e  卸載,如果yum安裝就用yum   -y  remove卸載。并且刪除安裝目錄等
正式安裝MySQL
2 添加MySQL用戶和所屬組(要先查看是否已經存在mysql用戶和組)
cat  /etc/passwd  | grep  mysql          //查看是否已存在mysql用戶
cat   /etc/group  | grep  mysql          //查看是否已存在mysql組
groupadd mysql          //如果先執行下面的命令會提示沒有mysql這個組
useradd -r -g mysql mysql            
3 創建mysql安裝目錄和數據目錄
cd /home
 mkdir mysql              //創建目錄作為MySQL5.7.19安裝路徑
 mkdir data                      //創建目錄作為MySQL5.7.19數據路徑
4、    修改MySQL目錄所有者
chown -R mysql:mysql  /home/mysql
5   解壓源碼包
把兩個包放到/home目錄下
tar -zxvf mysql-5.7.11.tar.gz
tar –zxvf boost_1_59_0.tar.gz boost會自動解壓到mysql目錄
 
編譯安裝
cmake \
-DCMAKE_INSTALL_PREFIX=/home/mysql \
-DMYSQL_DATADIR=/home/data/ \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_BOOST=./boost/
 
 
make    
 make install
再次確認,返回 0  說明安裝成功沒有問題
echo $?
 
切換到安裝目錄:
 cd /home/mysql/bin
初始化數據庫:
 ./mysqld --initialize --user=mysql --datadir=/home/data/ --basedir=/home/mysql --socket=/tmp/mysql.sock
版本初始化以后會給root用戶一個初始密碼
 
 添加MySQL服務,拷貝mysql配置文件
 cd /home/mysql/support-files/
 cp  -a  mysql.server /etc/init.d/mysql    
 
// 添加下面的,這里為了簡潔,省去其他的,都是按照默認的
[root@Allen support-files]# vim /etc/my.cnf
[mysqld]
port=3306
basedir=/home/mysql
datadir=/home/data
socket=/tmp/mysql.sock
user=mysql
 
6、    重啟MySQL、并設置開機自啟
[root@Allen support-files]# service mysql  start
Starting MySQL. SUCCESS!
[root@Allen support-files]#chkconfig   mysql  on  //設置開機自啟,要養成一個好習慣
注意:親測mysql5.7.17 設置服務啟動是mysql    而不是mysqld,上面沒有打錯。可能是因為版本的原因。本人一開始就是編譯mysql5.7.17的。
[root@Allen support-files]# ps -ef        //查看是啟動
 
7、    登錄MySQL
[root@Allen ~]#cd /home/mysql/bin
[root@Allen bin]# ./mysql -uroot –p
 
mysql> SET PASSWORD = PASSWORD('qwe12345');   
 
mysql 新設置用戶或更改密碼后需用flush privileges刷新MySQL的系統權限相關表,否則會出現拒絕訪問,還有一種方法,就是重新啟動mysql服務器,來使新設置生效
mysql> flush privileges;
mysql> quit;
             
允許mysql遠程訪問
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;