我放了一份我的配置文件在下面:
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
#datadir=/var/lib/mysql
#socket=/var/lib/mysql/mysql.sock
datadir=/data/mysql_data/mysql
socket=/data/mysql_data/mysql/mysql.sock
character-set-server=utf8
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
max_connections=1000
server-id=19 ? ? ? ? ? ? ? ? ?#server的唯一標(biāo)識(2臺主機(jī)不同)
log-bin = mysql-bin ? ? ? ? ? ? #打開二進(jìn)制功能,MASTER主服務(wù)器必須打開此項(xiàng)
replicate-ignore-db = mysql ? ? #忽略不同步主從的數(shù)據(jù)庫
replicate-ignore-db = information_schema
auto_increment_offset=1 ? ? ? ? #自增id起始值
auto_increment_increment=2 ? ? ?#每次自增數(shù)字
binlog_format=mixed ? ? ? ? ? ? ? ? ? ? ? ? ? ? # 主從復(fù)制的格式(mixed,statement,row,默認(rèn)格式是 statement)
#max_binlog_size=1024M ? ? ? ? ?#binlog單文件最大值
binlog_checksum = none ? ? ? ? ? ? ? ? ?#跳過現(xiàn)有的采用checksum的事件,mysql5.6.5以后的版本中binlog_checksum=crc32,而低版本都l是binog_checksum=none
slave-skip-errors = all ? ? ? ? ? ? ? ? #跳過主從復(fù)制中遇到的所有錯(cuò)誤或指定類型的錯(cuò)誤,避免 slave 端復(fù)制中斷?
expire_logs_days=0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?# 二進(jìn)制日志自動(dòng)刪除/過期的天數(shù)。默認(rèn)值為 0,表示不自動(dòng)刪除。
sync_binlog = 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #確保binlog日志寫入后與硬盤同步
port=3306
?
[client]
default-character-set=utf8
socket=/data/mysql_data/mysql/mysql.sock
7、雙主同步設(shè)置
#啟動(dòng)mysql
service mysqld start
#登錄mysql
mysql -uroot -pabcd@test2021
#在另外一臺mysql上查看偏移量mysql-bin
show master status;
#master A的數(shù)據(jù)為master B的相關(guān)參數(shù),如果是master B則是master B的參數(shù)
change master to master_host='192.168.3.3',master_user='salve_sync', master_password='slave@test2021', master_port=3306, master_log_file='mysql-bin.000001'
#開始同步
start slave;
#查看同步狀態(tài)
show slave status\G
7、雙主同步設(shè)置
#啟動(dòng)mysql
service mysqld start
#登錄mysql
mysql -uroot -pabcd@test2021
#在另外一臺mysql上查看偏移量mysql-bin
show master status;
#master A的數(shù)據(jù)為master B的相關(guān)參數(shù),如果是master B則是master B的參數(shù)
change master to master_host='192.168.3.3',master_user='salve_sync', master_password='slave@test2021', master_port=3306, master_log_file='mysql-bin.000001'
#開始同步
start slave;
#查看同步狀態(tài)
show slave status\G
8、將1-7步驟在master B也做一次
#查看同步狀態(tài)
show slave status\G
出現(xiàn)以下東西mysql狀態(tài)正常
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
9、測試
在master A上創(chuàng)建一個(gè)數(shù)據(jù)庫:
#創(chuàng)建數(shù)據(jù)庫
create database mydb;
#創(chuàng)建數(shù)據(jù)表
use mydb;
#創(chuàng)建表
create table test
(
id int,
name varchar(255),
)
在masterB上面查看
#查看數(shù)據(jù)庫
show databases;
#查看表
use mydb;
show tables;
#刪除表
drop table test;
#這時(shí)master A上面應(yīng)該沒有test表了。
#刪除庫
drop database mydb;
#這時(shí)master A上面應(yīng)該沒有mydb庫了。
mysql雙主完成。
附錄
mysql啟動(dòng)方式
#一、啟動(dòng)方式
#1、使用linux命令service 啟動(dòng):
service mysqld start
#2、使用 mysqld 腳本啟動(dòng):
/etc/inint.d/mysqld start
#3、使用 safe_mysqld 啟動(dòng):
safe_mysqld&
#二、停止
#1、使用 service 啟動(dòng):
service mysqld stop
#2、使用 mysqld 腳本啟動(dòng):
/etc/inint.d/mysqld stop
#3、 mysqladmin shutdown
#三、重啟
#1、使用 service 啟動(dòng):
service mysqld restart
#2、使用 mysqld 腳本啟動(dòng):
/etc/inint.d/mysqld restart
#備注:查看mysql端口是否已經(jīng)使用,使用netstat -anp 命令查看服務(wù)器端口使用情況。
#第二部分,linux下重啟mysql數(shù)據(jù)庫的各種方法?
#1、通過rpm包安裝的MySQL
#代碼示例:
service mysqld restart
/etc/inint.d/mysqld start
#2、從源碼包安裝的MySQL?
#代碼示例:
#// linux關(guān)閉MySQL的命令
$mysql_dir/bin/mysqladmin -uroot -p shutdown
#// linux啟動(dòng)MySQL的命令
$mysql_dir/bin/mysqld_safe &
#其中mysql_dir為MySQL的安裝目錄,mysqladmin和mysqld_safe位于MySQL安裝目錄的bin目錄下。
#3、以上方法都無效時(shí),通過強(qiáng)行命令:
#代碼示例:
killall mysqld #關(guān)閉mysql