1,MySQL官網下載:https://www.mysql.com/
下載歷史版本:https://downloads.mysql.com/archives/
2,Linux下載MySQL
wget https://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.44.tar.gz
# 沒有wget可以直接 yum -y install wget
3,安裝MySQL擴展包: yum -y install ncurses-devel libaio-devel cmake gcc-c++ perl-Data-Dumper boost boost-doc boost-devel
(MySQL5.7以後,需要安裝boost,在後續安裝過程也可能boost報錯,需要對應的版本,自己去下載安裝)
4,adduser -s /sbin/nologin -M mysql
5,tar -zxvf mysql-5.6.44.tar.gz
6,cd mysql-5.6-44
7,cmake,MySQL高版本都必須cmake,不使用./configure
`cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql5.6 \ #mysql的安裝目錄
-DMYSQL_DATADIR=/data \ #數據的存放目錄
-DMYSQL_UNIX_ADDR=/usr/local/mysql5.6/tmp/mysql.sock \ #本地連接數據庫的方式,默認在tmp下
-DDEFAULT_CHARSET=utf8 \ #指定數據庫字符集,默認是拉丁語
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \ #是否擴展其他字符集支持
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ # 後面四個是存儲引擎,可以不加,默認就是這四個
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_ZLIB=bundled \
-DWITH_SSL=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_DEBUG=0 \
-DWITH_BOOST=/usr/include/boost`
8,make (最好make和make install分開,編譯mysql經常會報錯,先解決錯誤
9,make install
10,ln -s /usr/local/mysql-5.6.44 /usr/local/mysql (這個根據個人喜好設置)
11,初始化
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/data --user=mysql --port=3306
12,設置權限/創建文件
chown -R mysql.mysql /usr/local/mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld (或者在添加一份到全局命令中 /usr/sbin/mysqld )
mkdir -p /usr/local/mysql/tmp
chown -R mysql.mysql /usr/local/mysql/tmp
13,開啓服務
systemctl start mysqld 或者 /etc/init.d/mysqld start 或者 mysqld start
14,這個時候MySQL的root是沒有密碼的,不能登錄,直接運行:/usr/local/mysql/bin/mysql
,進入MySQL,設置密碼
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456'); # mysql5.7後面設置密碼和此處不同
至此,MySQL編譯安裝完成