【一】、首先安裝多個數據庫服務【192.168.1.114】【192.168.1.113】【192.168.1.106】
====================================安裝mysql===============================================
解壓
[1]->tar -zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
[2]->cd /usr/local
重命名
[3]->mv mysql-5.7.21-linux-glibc2.12-x86_64 mysql-5.7.21 mysql-5.7.21
[4]->cd mysql-5.7.21
添加用戶 組
#添加用戶組
groupadd mysql
#添加用戶mysql 到用戶組mysql
useradd -g mysql mysql
創建數據目錄
#在/usr/local/mysql-5.7.21目錄下新建data文件夾,以後的數據庫文件將放在這裏
# pwd
/usr/local/mysql-5.7.21
# mkdir data
移除本地得my.cnf【文件沒用防止初始化失敗】
rm -rfv /etc/my.cnf
賦權限
# chown -R mysql:mysql ./
#mysql_install_db 被廢棄了,取而代之的是 mysqld –-initialize (需要注意的是,有時候使用這個指令出錯的話,將--initialize放在命令的最後面,即: ./bin/mysqld --user=xxx --basedir=xx --initizlize)
cd /usr/local/mysql/bin
初始化並記住密碼
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql-5.7.20/ --datadir=/usr/local/mysql-5.7.20/data/
#將mysql/目錄下除了data/目錄的所有文件,改回root用戶所有
# chown -R root .
#mysql用戶只需作爲mysql-5.7.21/data/目錄下所有文件的所有者
# chown -R mysql data
賦值啓動文件
# cp support-files/mysql.server /etc/init.d/mysqld
# chmod 755 /etc/init.d/mysqld
# cp /usr/local/mysql-5.7.21/bin/my_print_defaults /usr/bin/
修改腳本及環境變量
#修改啓動腳本
# vi /etc/init.d/mysqld
#修改項:
basedir=/usr/local/mysql-5.7.21/
datadir=/usr/local/mysql-5.7.21/data
port=3306
#啓動服務
# service mysqld start
#加入環境變量,編輯 /etc/profile,這樣可以在任何地方用mysql命令了
# vi /etc/profile
#添加mysql路徑
export PATH=$PATH:/usr/local/mysql-5.7.21/bin
#刷新立即生效
# source /etc/profile
# mysql -uroot -p
修改密碼
mysql> set password for 'root'@'localhost'=password('MyNewPass4!');
設置其他用戶
mysql> GRANT ALL PRIVILEGES ON *.* TO test@'%' IDENTIFIED BY 'test' WITH GRANT OPTION;
提交
flush privileges;
【二】配置一主二備
====================================主備設置=================================================
- 連接到主服務(192.168.1.114)服務器上,給從節點分配賬號權限。
GRANT REPLICATION SLAVE ON *.* TO 'root'@'192.168.1.113' IDENTIFIED BY 'admin';
GRANT REPLICATION SLAVE ON *.* TO 'root'@'192.168.1.106' IDENTIFIED BY 'admin';
- 在主服務my.ini文件新增 114
server-id=200 log-bin=mysql-bin relay-log=relay-bin relay-log-index=relay-bin-index |
重啓mysql服務
service mysqld restart
- 在從服務my.ini文件新增 113&106
server-id = 210 replicate-do-db =test#需要同步數據庫 |
重啓mysql服務
service mysqld restart
- 從服務同步主數據庫
stop slave; change master to master_host='192.168.1.114',master_user='root',master_password='admin'; start slave; show slave status; |
【三】mycat配置====================================================================================
環境依賴
JAVA
mycat-eye 依賴 jdk1.7+ 的環境
Mycat
1、Mycat的下載地址(https://github.com/MyCATApache/Mycat-download/blob/master/1.6-RELEASE/Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz)
2、解壓
直接解壓到目標目錄,這裏解壓到/use/local/mycat
3、配置
主要按照規則修改conf目錄下的
1]、修改/usr/local/conf/schema.xml,URL、用戶名、密碼修改,其餘不變
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<schema name="mydb" checkSQLschema="false" sqlMaxLimit="100" dataNode="my1" />
<dataNode name="my1" dataHost="test1" database="test" />
<dataHost name="test1" maxCon="1000" minCon="10" balance="1" writeType="0" dbType="mysql" dbDriver="native" >
<heartbeat>select user()</heartbeat>
<writeHost host="hostM1" url="192.168.1.114:3306" user="root" password="admin" >
<readHost host="hostS1" url="192.168.1.113:3306" user="root" password="admin" />
</writeHost>
</dataHost>
</mycat:schema>
3]、修改/usr/local/conf/server.xml,用戶名、密碼修改,其餘不變
<user name="mycat">
<property name="password">mycat</property>
<property name="schemas">mydb</property>
</user>
<user name="mycatread">
<property name="password">mycat</property>
<property name="schemas">mydb</property>
<property name="readOnly">true</property>
</user>
4、啓動
進入 /usr/local/mycat/bin (默認數據端口爲8066)
啓動命令:/usr/local/mycat/bin/mycat start
連接mycat: