mysql5.6.30源码安装_Centos7.1 for MySQL5.6.30源码安装及多实例配置
預備工作:
OS:Centos7.1
DATABASE: mysql-5.6.30.tar.gz
wget http://ftp.ntu.edu.tw/MySQL/Downloads/MySQL-5.6/mysql-5.6.30.tar.gz
1. 創建mysql帳號
創建用戶和用戶組
[root@localhost ~]# groupadd mysql
[root@localhost ~]# useradd -g mysql mysql
[root@localhost ~]# passwd mysql
2.驗證安裝包
解壓mysql源碼包mysql-5.6.30.tar.gz
[root@localhost ~]# mkdir -p /opt/mysql-5.6/
[root@localhost ~]# tar zxvf mysql-5.6.30.tar.gz -C /opt/mysql-5.6
[root@localhost ~]# cd /opt/mysql-5.6/
驗證之前是否安裝過mysql,若存在mysql相關包,則rpm -e逐個刪除(建議先刪devel包,再mysql包,最后強制刪除libs包,centos 7默認為中為mariadb.*,依次刪除)
[root@localhost mysql-5.6]# rpm -qa|grep mysql
再驗證以下編譯必備安裝包是否安裝:
gcc* gcc-c++* cmake autoconf* automake* zlib* ncurses-devel* libtool* bison
wKiom1eF0Y-DRDgNAACpVNxcfKc895.jpg-wh_50
當缺少相關安裝包時,需要通過rpm -ivh ***.rpm或yum install RPM_NAME安裝
3.源碼編譯過程
[root@localhost mysql-5.6]# cmake .
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6 ?#安裝目錄
-DWITH_INNOBASE_STORAGE_ENGINE=1 ? #支持InnoDB引擎
-DWITH-READLINE=1 #支持快捷鍵
-DEXTRA_CHARSETS=all ?#安裝所有字符集
-DENABLED_LOCAL_INFILE=1 ?#從本地導入數據
-DWITH_EMBEDDED_SERVER=1 #編譯Embedded Mysql庫
-DWITH_SSL=bundled ?#
-DDEFAULT_CHARSET=utf8 ? ?#默認字符集
[root@localhost mysql-5.6]# make
[root@localhost mysql-5.6]# make install
[root@localhost mysql-5.6]# ln -s /usr/local/mysql-5.6 /usr/local/mysql
4.創建mysql數據目錄及/etc/my.cnf
數據存放目錄,默認為basedir下的data目錄(實際場景下,建議mount專用盤作為data):
[root@localhost mysql-5.6]# cd /usr/local/mysql
[root@localhost mysql]# mkdir -p /opt/mysql/data1
[root@localhost mysql]# chown -R mysql:mysql /opt/mysql
[root@localhost ?mysql]# ?chown -R mysql:mysql /usr/local/mysql
[root@localhost mysql]# vi /etc/my.cnf
[client]
port = 3306
socket =/opt/mysql/data1/mysqld.sock
[mysqld_safe]
user = mysql
nice = 0
[mysqld]
port = 3306
pid-file = /opt/mysql/data1/mysqld.pid
socket = /opt/mysql/data1/mysqld.sock
basedir = /usr/local/mysql
datadir = /opt/mysql/data1/
tmpdir = /opt/mysql/data1/
log-error = /opt/mysql/data1/mysqld.log
slow_query_log =1
slow_query_log_file = /opt/mysql/data1/mysql-slow.log
log_bin = /opt/mysql/data1/mysql-bin.log
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
default-character-set = utf8
[mysql]
default-character-set = utf8
4.初始化mysql
建議進入/usr/local/mysql目錄下,通過以下方式進行初始化,否則可能會報錯
[root@localhost ?mysql]# ./scripts/mysql_install_db --defaults-file=/etc/my.cnf
[root@localhost ?mysql]# ./bin/mysql_secure_installation
5.將mysql服務加入init.d管理
建議進入/usr/local/mysql目錄下,通過以下方式進行初始化,否則可能會報錯
[root@localhost ?mysql]# cp ./bin/mysql /etc/init.d/mysql
[root@localhost ?mysql]# chkconfig --add mysql
[root@localhost ?mysql]# chkconfig mysql on
[root@localhost ?mysql]# chkconfig --list
同時更改環境變量 vi ~/.bash_profile,在PATH變量后添加:/usr/local/mysql/bin
6.啟動mysql服務的幾種方式
mysqld與mysqld_safe的區別在于mysqld_safe宕機后仍能重啟
[root@localhost mysql]# service mysql start
[root@localhost mysql]# mysqld_safe --defaults-file=/etc/my.cnf &
[root@localhost mysql]# mysqld --defaults-file=/etc/my.cnf &
Mysql多實例安裝
多實例的幾個好處:mysql多實例共用同一個mysql程序,但是使用不同的配置文件(可以相同)及端口(必須不同)來啟動程序,數據文件存放在不同的文件夾中。這些多實例任務相互獨立, 可以有效的利用資源,實現資源的邏輯隔離。
上述1-6歩主要安裝了使用3306端口的實例,我們同樣可以生成其他端口的實例。這里我們通過以下步驟安裝3310端口的MySQL實例。
1.創建使用3310端口的mysql數據目錄及/etc/my3310.cnf
[root@localhost mysql-5.6]# cd /usr/local/mysql
[root@localhost mysql]# mkdir -p /opt/mysql/data2
[root@localhost mysql]# vi /etc/my3010.cnf
[client]
port = 3310
socket =/opt/mysql/data2/mysqld.sock
[mysqld_safe]
user = mysql
nice = 0
[mysqld]
port = 3310
pid-file = /opt/mysql/data2/mysqld.pid
socket = /opt/mysql/data2/mysqld.sock
basedir = /usr/local/mysql
datadir = /opt/mysql/data2/
tmpdir = /opt/mysql/data2/
log-error = /opt/mysql/data2/mysqld.log
slow_query_log =1
slow_query_log_file = /opt/mysql/data2/mysql-slow.log
log_bin = /opt/mysql/data2/mysql-bin.log
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
default-character-set = utf8
[mysql]
default-character-set = utf8
2.初始化使用3310端口的mysql
建議進入/usr/local/mysql目錄下,通過以下方式進行初始化,否則可能會報錯
[root@localhost mysql]# ./scripts/mysql_install_db --defaults-file=/etc/my3310.cnf
[root@localhost mysql]# ./bin/mysql_secure_installation ?--defaults-file=/etc/my3310.cnf
3.編輯多實例mysql的配置文件
[root@localhost mysql]# vi /etc/mysql_multi.cnf
[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
[mysqld3306]
port = 3306
pid-file = /opt/mysql/data1/mysqld.pid
socket = /opt/mysql/data1/mysqld.sock
basedir = /usr/local/mysql
datadir = /opt/mysql/data1/
tmpdir = /opt/mysql/data1/
log-error = /opt/mysql/data1/mysqld.log
slow_query_log =1
slow_query_log_file = /opt/mysql/data1/mysql-slow.log
log_bin = /opt/mysql/data1/mysql-bin.log
[mysqld3310]
[client]
port = 3310
socket =/opt/mysql/data2/mysqld.sock
[mysqld_safe]
user = mysql
nice = 0
[mysqld]
port = 3310
pid-file = /opt/mysql/data2/mysqld.pid
socket = /opt/mysql/data2/mysqld.sock
basedir = /usr/local/mysql
datadir = /opt/mysql/data2/
tmpdir = /opt/mysql/data2/
log-error = /opt/mysql/data2/mysqld.log
slow_query_log =1
slow_query_log_file = /opt/mysql/data2/mysql-slow.log
log_bin = /opt/mysql/data2/mysql-bin.log
[mysqldump]
quick
quote-names
max_allowed_packet ?= 16M
default-character-set ?= utf8
[mysql]
default-character-set = utf8
4.啟動mysql多實例
[root@localhost mysql]# mysqld_multi --defaults-file=/etc/mysql_multi.cnf start 3306
[root@localhost ?mysql]# ?mysqld_multi ?--defaults-file=/etc/mysql_multi.cnf start 3310
?著作權歸作者所有:來自51CTO博客作者退而結網ZP的原創作品,如需轉載,請注明出處,否則將追究法律責任
mysql服務器數據庫MySQL
總結
以上是生活随笔為你收集整理的mysql5.6.30源码安装_Centos7.1 for MySQL5.6.30源码安装及多实例配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql tcp ip_通过TCP/I
- 下一篇: php5.5 mysql网站空间_PHP