版本:linux7.6 一.編譯安裝 1.下載epel源 [root@db01 ~]# wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo 2.安裝依賴 [root@db01 ~]# yum i ...
版本:linux7.6
一.編譯安裝
1.下載epel源
[root@db01 ~]# wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
2.安裝依賴
[root@db01 ~]# yum install -y ncurses-devel libaio-devel autoconf cmake gcc gcc-c++ glibc
3.解壓MySQL源碼包
[root@db01 ~]# tar xf mysql-5.6.40.tar.gz
4.進去源碼包目錄
[root@db01 ~]# cd mysql-5.6.40/
5.創建目錄
[root@db01 ~]# mkdir /application
6.生成編譯文件
[root@db01 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 \ #使用utf8字元集 -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 \ #啟用zlib庫支持(zib、gzib相關) -DWITH_SSL=bundled \ #啟用SSL庫支持(安全套接層) -DENABLED_LOCAL_INFILE=1 \ #啟用本地數據導入支持 -DWITH_EMBEDDED_SERVER=1 \ #編譯嵌入式伺服器支持 -DENABLE_DOWNLOADS=1 \ # mysql5.6支持了google的c++mock框架了,允許下載,否則會安裝報錯。 -DWITH_DEBUG=0 #禁用debug(預設為禁用)
7.編譯安裝
[root@db01 mysql-5.6.40]# make && make install
8.創建MySQL用戶
[root@db01 mysql-5.6.40]# useradd mysql -s /sbin/nologin -M
9.做軟鏈接
[root@db01 mysql-5.6.40]# ln -s /application/mysql-5.6.40 /application/mysql
10.進去其他文件目錄
[root@db01 mysql-5.6.40]# cd /application/mysql/support-files
11.拷貝MySQL配置文件
[root@db01 support-files]# cp my-default.cnf /etc/my.cnf cp: overwrite ‘/etc/my.cnf’? y
12.拷貝啟動腳本
[root@db01 support-files]# cp mysql.server /etc/init.d/mysqld
13.進去初始化目錄
[root@db01 support-files]# cd /application/mysql/scripts
14.初始化MySQL
[root@db01 scripts]# ./mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/application/mysql/data
15.創建socket文件所在目錄
[root@db01 scripts]# mkdir /application/mysql-5.6.40/tmp
16.授權MySQL服務目錄
[root@db01 scripts]# chown -R mysql.mysql /application/mysql*
17.添加環境變數
[root@db01 scripts]# vim /etc/profile.d/mysql.sh export PATH="/application/mysql/bin:$PATH"
18.載入環境變數
[root@db01 scripts]# source /etc/profile
19.啟動MySQL
[root@db01 scripts]# /etc/init.d/mysqld start
20用systemctl管理
[root@db01 ~]# vim /usr/lib/systemd/system/mysqld.service [Unit] Description=MySQL Server Documentation=man:mysqld(8) Documentation=https://dev.mysql.com/doc/refman/en/using-systemd.html After=network.target After=syslog.target [Install] WantedBy=multi-user.target [Service] User=mysql Group=mysql ExecStart=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf LimitNOFILE = 5000 [root@db01 ~]# /etc/init.d/mysqld stop Shutting down MySQL.. SUCCESS! [root@db01 ~]# systemctl start mysqld
二.二進位安裝
1.解壓二進位包
[root@db02 ~]# tar xf mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz
2.創建MySQL安裝目錄
[root@db02 ~]# mkdir /application
3.啟動MySQL程式到安裝目錄下
[root@db02 ~]# mv mysql-5.6.40-linux-glibc2.12-x86_64 /application/mysql-5.6.40
4.做軟鏈接
[root@db02 ~]# ln -s /application/mysql-5.6.40 /application/mysql
5. 進入其他文件目錄
[root@db02 ~]# cd /application/mysql/support-files
6.拷貝配置文件
[root@db02 support-files]# cp my-default.cnf /etc/my.cnf cp: overwrite ‘/etc/my.cnf’? y
7. 拷貝啟動腳本
[root@db02 support-files]# cp mysql.server /etc/init.d/mysqld
8.進入初始化目錄
[root@db02 support-files]# cd ../scripts/
9.創建MySQL用戶
[root@db02 scripts]# useradd mysql -s /sbin/nologin -M
10.安裝初始化依賴
[root@db02 scripts]# yum install -y autoconf libaio-devel
11.初始化
[root@db02 scripts]# ./mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/application/mysql/data
12.啟動mysq
[root@db02 scripts]# /etc/init.d/mysqld start
13.添加環境變數
[root@db02 scripts]# vim /etc/profile.d/mysql.sh export PATH="/application/mysql/bin:$PATH"
14.修改
[root@db02 scripts]# sed -i 's#/usr/local#/application#g' /etc/init.d/mysqld /application/mysql/bin/mysqld_safe
15.用systemctl管理.在/etc/my.cnf添加兩行信息
[root@db02 mysql]# cat /etc/my.cnf basedir = /application/mysql datadir = /application/mysql/data
16.啟動加入開機自啟動
[root@db02 mysql]# /etc/init.d/mysqld stop [root@db02 mysql]# /etc/init.d/mysqld start [root@db02 mysql]# systemctl start mysqld [root@db02 mysql]# systemctl enable mysqld