mysql搭建手册
mysql搭建手冊(cè)
主從搭建
搭建mysql
關(guān)閉防火墻:systemctl stop firewalld 如果失敗先安裝 yum install iptables-services
配置數(shù)據(jù)庫(kù) /etc/my.cnf,配置同步數(shù)據(jù)庫(kù)等
-
主庫(kù)配置信息
[mysqld] datadir=/usr/local/mysql/data log-error=/usr/local/mysql/data/error.log port = 3306 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES symbolic-links=0 max_connections=400 innodb_file_per_table=1 #表名大小寫不明感,敏感為 lower_case_table_names=1 #主從配置 #服務(wù)的唯一編號(hào) server-id=1 #每次執(zhí)行寫入操作binlog和磁盤同步 sync-binlog=1 # 開啟mysql binlog功能 log-bin = mysql-bin # binlog記錄內(nèi)容的方式,記錄被操作的每一行 binlog_format = ROW # 減少記錄日志的內(nèi)容,只記錄受影響的列 binlog_row_image = minimal # 指定需要同步復(fù)制的數(shù)據(jù)庫(kù)名,不指定其它庫(kù)都會(huì)同步操作 binlog-do-db = lagou #忽略的庫(kù) binlog_ignore-db=performance_schema binlog_ignore-db=information_schema binlog_ignore-db=sys -
從庫(kù)配置:
[mysqld] datadir=/usr/local/mysql/data log-error=/usr/local/mysql/data/error.log port = 3306 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES symbolic-links=0 max_connections=400 innodb_file_per_table=1 #表名大小寫不明感,敏感為 lower_case_table_names=1 #主從配置 #服務(wù)的唯一編號(hào) server-id=2 #每次執(zhí)行寫入操作binlog和磁盤同步 sync-binlog=1 # 開啟mysql binlog功能 log-bin = mysql-bin # binlog記錄內(nèi)容的方式,記錄被操作的每一行 binlog_format = ROW # 減少記錄日志的內(nèi)容,只記錄受影響的列 binlog_row_image = minimal # 指定需要同步復(fù)制的數(shù)據(jù)庫(kù)名,不指定其它庫(kù)都會(huì)同步操作 binlog-do-db = lagou #忽略的庫(kù) binlog_ignore-db=performance_schema binlog_ignore-db=information_schema binlog_ignore-db=sys #修改從庫(kù)relay log名字 relay_log=mysql-relay-bin #修改只讀 read_only=1
服務(wù)重啟 systemctl restart mysqld
開放遠(yuǎn)程連接權(quán)限,進(jìn)入mysql命令行:
- grant replication slave on . to ‘root’@’%’ identified by ‘root’;
- grant all privileges on . to ‘root’@’%’ identified by ‘root’; flush privileges;
- show master status;
修改從庫(kù)配置信息:
-
指定唯一服務(wù)id:server-id
-
修改從庫(kù)relay log名字:relay_log=mysql-relay-bin
-
修改只讀:read_only=1
注意:普通的應(yīng)用用戶進(jìn)行insert、update、delete等會(huì)產(chǎn)生數(shù)據(jù)變化的DML操作時(shí),都會(huì)報(bào)出數(shù)據(jù)庫(kù)處于只讀模式不能發(fā)生數(shù)據(jù)變化的錯(cuò)誤,但具有super權(quán)限的用戶,例如在本地或遠(yuǎn)程通過root用戶登錄到數(shù)據(jù)庫(kù),還是可以進(jìn)行數(shù)據(jù)變化的DML操作;
配置master連接,進(jìn)入mysql命令行:
-
change master to master_host=‘39.96.204.209’, master_port=3306,master_user=‘root’,master_password=‘root’,master_log_file=‘mysql-bin.000001’,master_log_pos=154;
注意master_log_pos配置信息可以在master的mysql中查看
-
開啟從庫(kù):start slave;
-
查看轉(zhuǎn)態(tài):show slave status \G;
創(chuàng)建數(shù)據(jù)庫(kù)表:
- CREATE TABLE position_detail (
id int(11) NOT NULL AUTO_INCREMENT,
pid int(11) DEFAULT NULL,
description text,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8; - CREATE TABLE position (
id int(8) NOT NULL AUTO_INCREMENT,
name varchar(255) DEFAULT NULL,
salary varchar(10) DEFAULT NULL,
city varchar(255) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
查看創(chuàng)建的數(shù)據(jù)表是否同步到從庫(kù)中,至此主從搭建完成
主從搭建-半同步復(fù)制方式
安裝插件,進(jìn)入mysql命令行,記得主從都需要安裝插件:
-
查看是否支持動(dòng)態(tài)加載:select @@have_dynamic_loading;
-
查看插件:show plugins;
-
安裝插件:install plugin rpl_semi_sync_master soname ‘semisync_master.so’;
-
查看半同步復(fù)制參數(shù)信息:show variables like ‘%semi%’;
-
開啟半同步OFF->NO,以及設(shè)置temeout:
- set global rpl_semi_sync_master_enabled=1;
- set global rpl_semi_sync_master_timeout=1000;
- show variables like ‘%semi%’;
-
命令行重啟從庫(kù)重啟:
- stop slave;
- start slave;
-
在主庫(kù)添加寫,從庫(kù)查看是否正常,如果發(fā)現(xiàn)從庫(kù)沒有同步
-
show slave status \G;
)
由于主鍵沖突導(dǎo)致日志同步失敗,刪除沖突數(shù)據(jù)即可。
從庫(kù)沖突錯(cuò)誤:https://www.cnblogs.com/langdashu/p/5920436.html
-
MHA高可用架構(gòu)搭建
? 使用三臺(tái)機(jī)器來完成本次MHA的搭建:
IP 主機(jī)名 系統(tǒng)版本 角色 節(jié)點(diǎn) 172.25.5.1 weijie1 Centos master node node1 172.25.5.2 weijie2 Centos slave1 node node2 172.25.5.3 weijie3 Centos slave2 node+manager node3MHA下載:
wget https://github.com/yoshinorim/mha4mysql-manager/releases/download/v0.58/mha4mysql-manager-0.58.tar.gz wget https://github.com/yoshinorim/mha4mysql-node/releases/download/v0.58/mha4mysql-node-0.58.tar.gz配置集群免密登錄:所有節(jié)點(diǎn)都要操作
cd /root/.ssh/ ssh-keygen -t dsa -P '' -f id_dsa cat id_dsa.pub >> authorized_keys主庫(kù)接收slave上的密鑰
scp 172.25.5.3:/root/.ssh/authorized_keys ./authorized_keys.3 scp 172.25.5.4:/root/.ssh/authorized_keys ./authorized_keys.4MHA沒有搭建成功,日后補(bǔ)充吧!!!
總結(jié)
- 上一篇: java.lang.NoSuchMeth
- 下一篇: sparkSQL操作hiveSQL