【MySQL主从数据库配置 -- master】
[mysqld]
datadir=/real/mysqldb/commentmaster/var
socket=/real/mysqldb/commentmaster/mysql.sock
port=7001
server-id = 7001
binlog_ignore_db=mysql
binlog_ignore_db=information_schema
binlog_ignore_db=test
#binlog_do_db=comment
#binlog_do_db=mdbcomment
log-bin=master-mysql-bin
log-warnings
skip-locking
back_log = 200
key_buffer = 256M
max_allowed_packet = 2M
table_cache = 10000
sort_buffer_size = 8M
net_buffer_length = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 2M
myisam_sort_buffer_size = 32M
thread_cache_size = 8
query_cache_size = 32M
max_connections = 2000
max_connect_errors = 200
connect_timeout = 1000
interactive_timeout = 30
wait_timeout = 30
default_character_set = gbk
[mysqld_safe]
log-error=/real/mysqldb/commentmaster/mysql.log
pid-file=/real/mysqldb/commentmaster/var/mysql.pid
【给主数据库授予一个可以进行复制的用户】
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.33.49' IDENTIFIED BY 'slavepass';
【MySQL主从数据库配置 -- 即是主又是从 master_slave】
[mysqld]
datadir=/real/mysqldb/commentmasterslave/var
socket=/real/mysqldb/commentmasterslave/mysql.sock
port=7002
server-id = 7002
binlog_ignore_db=mysql
binlog_ignore_db=information_schema
binlog_ignore_db=test
relay-log = masterslave-relay-bin
log-bin=masterslave-mysql-bin
log-slave-updates
master-host=192.168.0.48
master-port=7001
master-user=repl
master-password=slavepass
master-connect-retry=60
log-warnings
skip-locking
back_log = 200
key_buffer = 256M
max_allowed_packet = 2M
table_cache = 10000
sort_buffer_size = 8M
net_buffer_length = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 2M
myisam_sort_buffer_size = 32M
thread_cache_size = 8
query_cache_size = 32M
max_connections = 2000
max_connect_errors = 200
connect_timeout = 1000
interactive_timeout = 30
wait_timeout = 30
default_character_set = gbk
[mysqld_safe]
log-error=/real/mysqldb/commentmasterslave/mysql.log
pid-file=/real/mysqldb/commentmasterslave/var/mysql.pid
【MySQL主从数据库配置 -- slave】
[mysqld]
datadir=/real/mysqldb/commentslave/var
socket=/real/mysqldb/commentslave/mysql.sock
port=7003
server-id = 7003
relay-log = slave-relay-bin
#replicate-do-db=comment
#replicate-do-db=mdbcomment
#log-bin=mysql-bin
master-host=192.168.0.49
master-port=7002
master-user=repl
master-password=slavepass
master-connect-retry=60
log-warnings
#skip-slave-start
skip-locking
back_log = 200
key_buffer = 256M
max_allowed_packet = 2M
table_cache = 10000
sort_buffer_size = 8M
net_buffer_length = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 2M
myisam_sort_buffer_size = 32M
thread_cache_size = 8
query_cache_size = 32M
max_connections = 2000
max_connect_errors = 200
connect_timeout = 1000
interactive_timeout = 30
wait_timeout = 30
default_character_set = gbk
[mysqld_safe]
log-error=/real/mysqldb/commentslave/mysql.log
pid-file=/real/mysqldb/commentslave/var/mysql.pid
==================================
注意:commentmaster、commentmasterslave、commentslave需要 chown mysql.mysql
注意:读写分离,slave的mysql用户只需要有读权限,防止用户写入数据,否则会出现同步问题。
grant select on comment.* to comment@'192.168.0.%' identified by 'password'
注意:由于设置了slave的配置信息,mysql在数据库目录下生成master.info 和 relay-log.info
所以如有要修改相关slave的配置要先删除这两个文件,否则修改的配置不能生效。
如果 slave 同步出现问题:
mysql > stop slave
mysql > CHANGE MASTER TO MASTER_HOST='192.168.33.48', MASTER_PORT=7001, MASTER_USER='msuser', MASTER_PASSWORD='MSuser77', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=0;
mysql > start slave
如果解决不了,彻底删除从库,从新创建从库
1、删除master.info、relay-log.info
2、删除所有masterslave-relay-bin
3、复制主库的数据库,拷贝到从库
4、启动从库
==================================
相关的配置参数意义已做了说明,主要就是多了配置主数据库服务器上的复制账号的信息。然后我们启动从数据库服务器,注意启动从数据库服务器后,并没有启动复制线程,我们需要在命令行中执行如下命令来启动复制功能:
slave start
启动后,我们就可以通过如下命令来查看复制的状态了:
show slave status;
然后我们就可以看到系统的输出,第一个就是Slave_IO_State,它的值通常就是Waiting for master to send event,然后我们也还可以看到我们刚才配置的主数据库服务器的IP地址、复制账号等信息。
我们还可以在从数据库服务器上动态的改变对主数据库的配置信息,通过如下命令来进行:
CHANGE MASTER TO MASTER_HOST=’主数据库服务器的IP地址’, MASTER_PORT=3306,MASTER_USER=’主数据库上的复制帐号’, MASTER_PASSWORD=’密码’;
如果从数据库服务器在同步的过程中出现了问题,那么我们可以通过reset slave来重置从数据库服务器的复制线程,从数据库服务器上的通常操作命令有:
Slave start; --启动复制线程
Slave stop; --停止复制线程
Reset slave; --重置复制线程
Show slave status; --显示复制线程的状态
Change master to; --动态改变到主数据库的配置
==================================
#!/bin/sh
/real/mysqldb/commentmaster/bin/mysql -S /real/mysqldb/commentmaster/mysql.sock
#!/bin/sh
/real/mysqldb/commentmaster/bin/mysqld_safe --defaults-file=/real/mysqldb/commentmaster/my.cnf &
#!/bin/sh
/real/mysqldb/commentmaster/bin/mysqladmin shutdown -S /real/mysqldb/commentmaster/mysql.sock
分享到:
相关推荐
mysql主从数据库配置详细步骤,自己实验后得出的步骤文档
MySQL主从数据库配置实战,很实用的教材
MySQL数据库主从配置,配置很详细,按着步骤来做,可以完成数据库主从配置
MySql主从数据库搭建,Linux Mysql数据库安装 ,通用主从备份策略,Mysql 读写分离数据端配置
mysql主从库配置,mysql安装和环境变量设置以及主从库配置
mysql主从数据库的配置说明文档.pdf
本压缩文件包含两个pdf文件,详细讲解了如何在Linux系统中安装Docker、如何在Docker中安装和配置MySQL主数据库、如何在Docker中安装和配置MySQL从数据库以及如何验证主从数据库搭建正常,视频教程:...
Mysql主从数据库搭建 原理与详细步骤,留备自用,按步骤搭建即可,主从数据库的配置,包含出现问题的两种解决方式。
主从单向和双向备份配置,以及操作配置的mysql命令
springboot2.0+mybatis主从数据库双数据源,测试了事务,事务是单独分开的。回滚只回滚主库的事务。
作者:高鹏(网名八怪),《深入理解MySQL主从原理32讲》系列文的作者。2008年开始至今一直从事Oracle/MySQL相关工作,现任易极付高级DBA,Oracle Ocm。有丰富的数据库性能调优,故障诊断经验,并且对MySQL源码有...
学校分发资料。
MYSQL数据库主从复制高可用技术改造环境部署方案。。。
下文分步骤给大家介绍的非常详细,具体详情请看下文吧。 一、准备 ...二、配置master服务器 1. 登录Master服务器,编辑my.cnf #vim /etc/my.cnf 在[mysqld]段添加以下内容: log-bin=mysql-bin serv
本文档是1+X云计算平台运维与开发操作题的解题步骤; mysql数据库主从复制; mysql数据库主从复制; mysql数据库主从复制; mysql数据库主从复制;
(1)首先,mysql主库在事务提交时会把数据库变更作为事件Events记录在二进制文件binlog中;mysql主库上的sys_binlog控制binlog日志刷新到磁盘。 (2)主库推送二进制文件binlog中的事件到...Mysql通过3个线程来完成主从库
本教程使用简洁易懂的文字详细说明了MYSQL数据库建立主从备份的全过程,旨在使MYSQL初学者在拿到这份文档也能配置MYSQL数据库的主从关系