# mysql源代碼編譯安裝(可自擬版本) centOS7 mysql5.6.40為例 ## 準備 關閉防火牆的條件下 1.yum安裝 ``` yum install ncurses-devel libaio-devel gcc make cmake -y ``` 2.rpm查詢一下 ``` rpm ...
mysql源代碼編譯安裝(可自擬版本)
centOS7 mysql5.6.40為例
準備
關閉防火牆的條件下
1.yum安裝
yum install ncurses-devel libaio-devel gcc make cmake -y
2.rpm查詢一下
rpm -qa ncurses-devel libaio-devel
3.創建mysql用戶,用於授權目錄
-s /sbin/nologin 不允許用戶進行任何交互操作
-M 不要自動創建用戶的 home 目錄
mysql 為用戶名
useradd -s /sbin/nologin -M mysql
查看用戶是否已經存在
id mysql
安裝步驟
在想要指定目錄下載 這裡我以/opt/mysql為例
cd /opt
mkdir mysql
cd mysql
1.下載源碼
可以換別的版本mysql官方下載鏈接 找到對應tar.gz包 點擊download後複製下載連接即可
wget https://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.40.tar.gz
2.解壓縮安裝mysql
tar -zxvf mysql-5.6.40.tar.gz
3.進入mysql目錄 cmake
cd mysql-5.6.40
cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.40 -DMYSQL_DATADIR=/application/mysql-5.6.40/data -DMYSQL_UNIX_ADDR=/application/mysql-5.6.40/tmp/mysql.sock -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITH_EXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_unicode_ci -DWITH_ZLIB=bundled -DWITH_SSL=bundled -DENABLED_LOCAL_INFILE=1 -DWITH_EMBEDDED_SERVER=1 -DENABLE_DOWNLOADS=1 -DWITH_DEBUG=0
4.cmake編譯參數設置執行完後,就會自動生成makefile,可以執行
make
make install
5.創建軟鏈接
ln -s /application/mysql-5.6.40/ /application/mysql
6.mysql初始化操作
/application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data --user=mysql
7.使用mysql初始化自動生成的管理腳本
cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld
cp /application/mysql/support-files/my-default.cnf /etc/my.cnf
chmod 700 /etc/init.d/mysqld
8.創建tmp 修改屬主屬組 啟動mysql
mkdir -p /application/mysql/tmp
chown -R mysql.mysql /application/mysql-5.6.40/
/etc/init.d/mysqld start
9.添加到環境變數
vim /etc/profile
在最下麵添加一行
export PATH=/application/mysql/bin:$PATH
保存退出 重新讀取以下配置文件
source /etc/profile
10.登錄使用mysql
mysql -uroot -p
mysql安全配置
修改密碼 預設沒有密碼,不安全
註意:要先輸入你的密碼 這裡密碼為空直接回車
[root@localhost bin]# mysqladmin -uroot -p password
Enter password:
New password:
Confirm new password:
將mysql添加到系統服務
先把mysql關掉
/etc/init.d/mysqld stop
vim /usr/lib/systemd/system/mysql.service
註意這裡的路徑要跟你的安裝路徑一致 pid文件路徑可以通過 開啟mysql服務時 ps -ef | grep mysql來查看
PIDFile=/application/mysql-5.6.40/data/localhost.localdomain.pid
ExecStart=/application/mysql-5.6.40/support-files/mysql.server start
[Unit]
Description=Mysql
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/application/mysql-5.6.40/data/localhost.localdomain.pid
ExecStart=/application/mysql-5.6.40/support-files/mysql.server start
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=false
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemclt start mysql