記錄本人在阿裡雲伺服器上編譯安裝MySQL5.7.29的全過程(2020/8/13 12:00)
安裝的方式都差不多,可以按自己的需要下載其他版本
直接上步驟,看官按需修改即可:
這一步很簡單,就是去MySQL的官網下載MySQL社羣版5.7.29的原始碼包
地址:https://downloads.mysql.com/archives/community/
上傳Linux可以使用Xftp或者Linux的lrzsz命令中的rz命令
解壓原始碼包:
rpm -ivh mysql-community-5.7.29-1.el7.src.rpm
安裝解決MySQL軟體依賴關係的包:
yum install cmake ncurses-devel gcc gcc-c++ bzip2 openssl-devel -y
新建使用者:
useradd -r -s /sbin/nologin mysql
新建資料夾:
mkdir -p /data/mysql
修改數據目錄的擁有者爲mysql:
chown mysql:mysql /data/mysql
進入目錄:
cd /root/rpmbuild/SOURCES
解壓原始碼包並移動:
tar xf mysql-5.7.29.tar.gz
tar xf boost_1_59_0.tar.bz2
mv boost_1_59_0 mysql-5.7.29
進入目錄:
cd mysql-5.7.29
編譯前的設定:
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc -DMYSQL_USER=mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_BOOST=boost_1_59_0
參數講解:
啓動2個進程去編譯,加快速度:
make -j 2
這裏的數位2爲進程,根據cpu核數自行修改
安裝編譯好的二進制檔案到指定的目錄:
make install
cp /etc/my.cnf /root/mysql.cnf.bak
>/etc/my.cnf
第一行是備份,第二行是清空
進入目錄:
cd /usr/local/mysql/bin
初始化:
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql &>/root/temp_password.txt
echo 'PATH=$PATH:/usr/local/mysql/bin' >>/etc/bashrc
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
service mysqld start
從儲存的臨時密碼檔案裡,擷取出臨時密碼,賦值給一個變數temp_pwd
temp_pwd=$(cat /root/temp_password.txt |tail -1|awk '{print $11}')
給MySQL設定密碼:
mysql -uroot -p$temp_pwd --connect-expired-password -e 「set password=‘此處填寫密碼’」
進入MySQL:
mysql -uroot -p"此處填寫密碼"
my.conf設定
#socket是用來指定socket檔案的路徑,方便用戶端連線找到
[client]
socket=/data/mysql/mysql.sock
[mysqld]
socket=/data/mysql/mysql.sock