MYSQL双主配置(二)

2023-10-02 17:06:10 百科 悟空

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

# 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

发表评论: