mysql多實例(多個配置文件方式)

CleverCode最近在研究MySQL的多實例,發現有兩種方式:
          第一種是使用多個配置文件啓動不一樣的進程來實現多實例。這種方式的優點邏輯簡單,配置簡單,缺點是管理起來不太方便。
          第二種是經過官方自帶的mysqld_multi。使用單獨的配置文件來實現多實例,這種方式定製每一個實例的配置不太方面,優勢是管理起來很方便,集中管理。
          推薦使用多個配置文件方式。這種實際應用中好,耦合性不強,配置方便,特別是主從複製的時候。
          這裏分兩次介紹,先介紹多個配置文件方式。
mysql


1 環境介紹:sql



1)簡介
mysql 版本:mysql-5.5.27
cmake:cmake-2.8.8
操做系統:CentOS6.5
mysql實例數:3個
實例佔用端口分別爲:330六、330七、3308


2)本次安裝全部的軟件資源包下載地址
http://download.csdn.net/detail/clevercode/8662323




2 配置防火牆
1) 在防火牆配置文件中添加3306,3307,3308(容許3306,3307,3308端口經過防火牆) 
# vi /etc/sysconfig/iptables   #編輯防火牆配置文件 
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3307 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3308 -j ACCEPT
2)重啓防火牆
# /etc/init.d/iptables restart  #最後重啓防火牆使配置生效


3 安裝cmake
解壓
# cd /usr/local/src/mysql
# tar zxvf cmake-2.8.8.tar.gz
# cd cmake-2.8.8


配置
# ./configure


編譯
# make


安裝
# make install


查看版本
# cmake -version


4 安裝Mysql
1) 建立用戶
# groupadd mysql  #添加mysql組    
# useradd -g mysql mysql -s /bin/false  #建立用戶mysql並加入到mysql組,不容許mysql用戶直接登陸系統


2) 解壓
# cd /usr/local/src/mysql
# tar zxvf mysql-5.5.27.tar.gz
# cd mysql-5.5.27


4) 配置
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql 


PS: cmake的時候,參數能夠不用那麼多,只要一個-DCMAKE_INSTALL_PREFIX=/usr/local/mysql就好了,咱們能夠在 my.cnf裏面配置。[mysqld]中的內容,看看你copy後的my.cnf有沒有這些設置,有就不用了在設置了。  


5)編譯
# make


6)安裝
# make install


5 初始化數據庫
# mkdir -p /data0/dbdata/mysql/3306
# mkdir -p /data0/dbdata/mysql/3307
# mkdir -p /data0/dbdata/mysql/3308


# chown -R mysql:mysql /data0/dbdata/mysql/3306
# chown -R mysql:mysql /data0/dbdata/mysql/3307
# chown -R mysql:mysql /data0/dbdata/mysql/3308


# /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data0/dbdata/mysql/3306 --user=mysql
# /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data0/dbdata/mysql/3307 --user=mysql
# /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data0/dbdata/mysql/3308 --user=mysql




6 修改配置文件
# cp /usr/local/mysql/support-files/my-huge.cnf /data0/dbdata/mysql/3306/my.cnf
# cp /usr/local/mysql/support-files/my-huge.cnf /data0/dbdata/mysql/3307/my.cnf
# cp /usr/local/mysql/support-files/my-huge.cnf /data0/dbdata/mysql/3308/my.cnf


# vi /data0/dbdata/mysql/3308/my.cnf   #編輯配置文件(3306,3307同理)
#在 [client]部分修改一下數據
port = 3308
socket = /tmp/mysql3308.sock




#在 [mysqld] 部分修改數據
port = 3308
socket = /tmp/mysql3308.sock
datadir = /data0/dbdata/mysql/3308  #添加MySQL數據庫路徑 
   
:wq!  #保存退出 


7 建立自動啓動文件 
# cp /usr/local/mysql/support-files/mysql.server  /etc/rc.d/init.d/mysqld3306
# cp /usr/local/mysql/support-files/mysql.server  /etc/rc.d/init.d/mysqld3307
# cp /usr/local/mysql/support-files/mysql.server  /etc/rc.d/init.d/mysqld3308
# chmod 755 /etc/rc.d/init.d/mysqld3306
# chmod 755 /etc/rc.d/init.d/mysqld3307
# chmod 755 /etc/rc.d/init.d/mysqld3308


# vi /etc/rc.d/init.d/mysqld3308  #編輯 (3306,3307同理)   
basedir=/usr/local/mysql   #MySQL程序安裝路徑    
datadir=/data0/dbdata/mysql/3308  #MySQl數據庫存放目錄 


修改
$bindir/mysqld_safe --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null 2>&1 &
變成
$bindir/mysqld_safe --defaults-file="$datadir/my.cnf" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null 2>&1 &


8 啓動330六、330七、3308的mysql 
# service mysqld3306 restart
# service mysqld3307 restart
# service mysqld3308 restart


9 查看端口是否監聽,若是出現3306,3307,3308則啓動正常
# netstat -anp | grep 3308


tcp        0      0 0.0.0.0:3308                0.0.0.0:*                   LISTEN      2348/mysqld         
unix  2      [ ACC ]     STREAM     LISTENING     10780  2348/mysqld         /tmp/mysql3308.sock  


10 初始化密碼而且受權遠程登陸(3306,3307同理)
# /usr/local/mysql/bin/mysqladmin -u root password "pwd3308" -S /tmp/mysql3308.sock
# /usr/local/mysql/bin/mysql -uroot -ppwd3308 -S  /tmp/mysql3308.sock
mysql> grant all privileges on  *.* to 'root'@'%' identified by 'pwd3308' with grant option;
mysql> flush privileges;數據庫

本文出自http://blog.csdn.net/clevercode/article/details/47610619socket

相關文章
相關標籤/搜索