在Centos7源碼包編譯安裝MySQL5.7


1、通過國內鏡像下載源碼包

下載包含boost的源碼包

wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-boost-5.7.23.tar.gz

2、解壓

tar xf mysql-boost-5.7.23.tar.gz

3、創建mysql用戶

useradd -s/sbin/nologin mysql

4、創建數據庫數據目錄

mkdir -p /data/mysql/data
chown -R mysql:mysql /data/mysql

5、環境准備

yum install gcc gcc-c++ ncurses-devel perl autoconf cmake -y

6、編譯-安裝

編譯過程需要3~4g的內存,且過程比較漫長。

是虛擬機的話可以添加內存;

不選擇加內存的話,可以新增臨時的swap空間,用磁盤暫時代替內存 ,編譯完后在刪除臨時的swap。

#開啟臨時swap分區
dd if=/dev/zero of=/swapfile bs=1M count=2048
mkswap /swapfile
swapon /swapfile
#進入源碼包目錄
cd mysql-5.7.23
#編譯安裝
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_BOOST=boost
make
make install

#關閉臨時swap分區
swapoff /swapfile
rm /swapfile

7、編寫配置my.cnf

mkdir /usr/local/mysql/etc
vim /usr/local/mysql/etc/my.cnf

[mysqld]
user=mysql
port=3306
basedir = /usr/local/mysql
datadir=/data/mysql/data
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql-error.log
pid-file=/data/mysql/mysql.pid
tmpdir=/tmp

[mysqld_safe]
log-error=/data/mysql/mysql-error.log
pid-file=/data/mysql/mysql.pid

[client]
socket=/tmp/mysql.sock

8、mysql初始化

/usr/local/mysql/bin/mysqld   --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data --pid-file=/data/mysql/mysql.pid --tmpdir=/tmp

--initialize-insecure root用戶無密碼

mysql安裝好后可以用mysqladmin -uroot password “新密碼”設置root密碼

這一步容易報錯,有報錯可以看日志排錯

9、拷貝mysql服務啟動腳本並做修改

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
#修改/etc/init.d/mysqld中basedir、datadir、conf的值
sed -i "s|^basedir=.*|basedir=\/usr\/local\/mysql|" /etc/init.d/mysql
sed -i "s|^datadir=.*|datadir=\/data\/mysql\/data|" /etc/init.d/mysql
sed -i "s|conf=.*|conf=${INSTALL_DIR}\/mysql\/etc\/my.cnf|" /etc/init.d/mysql

10、把mysql命令添加環境變量中

echo "export PATH=$PATH:/usr/local/mysql/bin" >>/etc/profile
source /etc/profile

11、啟動mysql服務並登錄

/etc/init.d/mysql start
#登錄
mysql


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM