# MYSQL双主配置(二）

> 来源：梦飞idc云平台 | 原文：https://www.mfisp.com/21081.html | 发布：2023-06-07 | 更新：2023-06-07 | 分类：建站教程

`我放了一份我的配置文件在下面:`

 

# 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的唯一标识（2台主机不同）  
log-bin = mysql-bin #打开二进制功能,MASTER主服务器必须打开此项  
replicate-ignore-db = mysql #忽略不同步主从的数据库  
replicate-ignore-db = information_schema

 

auto_increment_offset=1 #自增id起始值  
auto_increment_increment=2 #每次自增数字  
binlog_format=mixed # 主从复制的格式(mixed,statement,row,默认格式是 statement)  
#max_binlog_size=1024M #binlog单文件最大值  
binlog_checksum = none #跳过现有的采用checksum的事件，mysql5.6.5以后的版本中binlog_checksum=crc32,而低版本都l是binog_checksum=none  
slave-skip-errors = all #跳过主从复制中遇到的所有错误或指定类型的错误,避免 slave 端复制中断   
expire_logs_days=0 # 二进制日志自动删除/过期的天数。默认值为 0,表示不自动删除。  
sync_binlog = 1 #确保binlog日志写入后与硬盘同步  
port=3306

  

[client]  
default-character-set=utf8  
socket=/data/mysql_data/mysql/mysql.sock

 

## 7、双主同步设置

 

#启动mysql  
service mysqld start  
#登录mysql  
mysql -uroot -pabcd@test2021  
#在另外一台mysql上查看偏移量mysql-bin  
show master status;  
#master A的数据为master B的相关参数,如果是master B则是master B的参数  
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;  
#查看同步状态  
show slave status\G

 

## 7、双主同步设置

 

#启动mysql  
service mysqld start  
#登录mysql  
mysql -uroot -pabcd@test2021  
#在另外一台mysql上查看偏移量mysql-bin  
show master status;  
#master A的数据为master B的相关参数,如果是master B则是master B的参数  
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;  
#查看同步状态  
show slave status\G

 

## 8、将1-7步骤在master B也做一次

 

#查看同步状态  
show slave status\G

 

出现以下东西mysql状态正常

 

Slave_IO_Running: Yes  
Slave_SQL_Running: Yes

 

## 9、测试

 

在master A上创建一个数据库：

 

#创建数据库  
create database mydb；  
#创建数据表  
use mydb;  
#创建表  
create table test  
(  
id int,  
name varchar(255),  
)

 

在masterB上面查看

 

#查看数据库  
show databases;  
#查看表  
use mydb;  
show tables;  
#删除表  
drop table test;  
#这时master A上面应该没有test表了。  
#删除库  
drop database mydb;  
#这时master A上面应该没有mydb库了。

 

mysql双主完成。

 

## 附录

 

## mysql启动方式

 

#一、启动方式  
#1、使用linux命令service 启动：  
service mysqld start  
#2、使用 mysqld 脚本启动：  
/etc/inint.d/mysqld start  
#3、使用 safe_mysqld 启动：  
safe_mysqld&

 

#二、停止  
#1、使用 service 启动：  
service mysqld stop  
#2、使用 mysqld 脚本启动：  
/etc/inint.d/mysqld stop  
#3、 mysqladmin shutdown

 

#三、重启  
#1、使用 service 启动：  
service mysqld restart  
#2、使用 mysqld 脚本启动：  
/etc/inint.d/mysqld restart

 

#备注：查看mysql端口是否已经使用，使用netstat -anp 命令查看服务器端口使用情况。

 

#第二部分，linux下重启mysql数据库的各种方法

 

#1、通过rpm包安装的MySQL

 

#代码示例:

 

service mysqld restart  
/etc/inint.d/mysqld start

 

#2、从源码包安装的MySQL

 

#代码示例:

 

#// linux关闭MySQL的命令  
$mysql_dir/bin/mysqladmin -uroot -p shutdown  
#// linux启动MySQL的命令  
$mysql_dir/bin/mysqld_safe &

 

#其中mysql_dir为MySQL的安装目录，mysqladmin和mysqld_safe位于MySQL安装目录的bin目录下。

 

#3、以上方法都无效时，通过强行命令：

 

#代码示例:

 

killall mysqld #关闭mysql

 

``

---
本页由 梦飞idc云平台（https://www.mfisp.com）提供。站点导航见 https://www.mfisp.com/llms.txt
