mysql -s 参数_mysql M-S 主从配置

简单的一个完整 M-S 配置:

step1slave是通过msyql连接到master上读取二进制的,所以需要在master上给slave配置权限

mysql>grant replication slave,replication client on *.* to 'repl'@'slave-ip' identified by 'passwowrd'

mysql>flush privileges;

到slave测试连接是否成功

mysql  -urepl -h master-ip -p

step2:在master打开二进制日志,并表示server-id   只是主库开启以下参数

[mysqld]

#general

basedir = /usr/local/mysql

datadir = /usr/local/mysql/data

socket = /tmp/mysql.sock

user = mysql

port = 3306

server_id = 1

log-error = /usr/local/mysql/logs/mysql-master.err

pid = /usr/local/mysql/data/mysql-master.pid

#binlog

log-bin  = /usr/local/mysql/data/mysql-bin

sync-binlog = 1

#InnoDB

innodb_flush_log_at_trx_commit

innodb_support_xa = 1       保持binlog和 innodb redo log数据一致性,

#other

character_set_server = utf8

default_storage_engine =InnoDB

ft_min_word_len = 1

open_files_limit = 65535

[client]

socket = /tmp/mysql.sock

port = 3306

#/service mysqld  restart

step3:制作一个master的完整备份,并执行prepare,用于slave的搭建、

#innobackupex --user=root --password=xxxx  /root/backup

#innobackupex  --use-memory=500m  --apply-log /root/backup/2014-10-10-/

step4:将备份拷贝到slave,并放入数据文件目录

scp -r  /root/backup/2014-10-10-   /usr/local/mysql/data/

chwow -R mysql:msyql /usr/local/mysql/data/

step5

配置slaverelay-log=/usr/local/mysql/data/mysql-relay-bin   good;specifies a path and base name

log_slave_updates=1          允许备库将其重放的事件也记录到自身的二进制日志中

read_only=1              阻止任何没有特权权限的线程修改数据

server_id=2              必须的 ,身份识别

skip_slave_start            阻止备库在奔溃恢复后自动启动复制

/etc/init.d/mysqld  restart

step6:查看并记录二进制日志的position ID

in slave:

pwd  /usr/local/mysql/data/

cat xtrabackup_binlog_info

localhost.000001  120

或者在master上执行

show master status\G;

step7:in slave 配置slave replication ,启动复制

change master to

master_host='master-ip',

master_user='repl',

master_password='123456',

master_log_file='localhost-bin.000001',

master_log_pos=120;

step8:start slave;

show  slave status\G;

如果这两显示yes,说明配置成功

slave_io_running :yes

slave_sql_running :yes

step9:观察线程列表

in master:

mysql> show processlist \G;

*************************** 1. row ***************************

Id: 1

User: repl

Host: 192.168.2.23:26962

db: NULL

Command: Binlog Dump

Time: 96460

State: Master has sent all binlog to slave; waiting for binlog to be updated

Info: NULL

在主库可以看到备库I/O线程向主库发起的链接,即master的binlog dump线程

in salve :

Id: 1

User: system user

Host:

db: NULL

Command: Connect

Time: 364

State: Slave has read all relay log; waiting for the slave I/O thread to update it

Info: NULL

*************************** 2. row ***************************

Id: 2

User: system user

Host:

db: NULL

Command: Connect

Time: 96786

State: Waiting for master to send event

Info: NULL

这些简单的输出有来自一台运行了一段时间的服务器,所以I/O线程在主库和备库上的time值较大。

SQL线程已经空闲了364秒,这意味着,这364秒没有重放任何事件,当sql线程重放时候,info列可能会显示正在查询。

stp1的解释说明

#复制账户事实上只需要主库的replication slave权限,并不一定每段有replication client权限,那么为什么我们还需要把这两宗权限都复制给主/备库呢 ???

1,用来监控和管理复制的账号需要replication client权限,并且针对这两种目的使用的同一个账号更加容易。

2,如果在主库上建立了账号,然后从主库将数据克隆到备份库上时候,北路也设置好了---变成主库所需要的配置,这样以后方便交换主备角色、

step2:的解释说明

请查看mysql的配置参数详解

mysql 主从复制授权多种方案详解:

1,生产授权方案1

主库:  web_app  123paswd  10.1.1.2 3306 (all privileges)

从库:  主库的we_app用户同步到从库,然后收回(insert,update,delete权限

保险起见:

在slave库,设置read-only参数,确保从库只读

2,生产授权方案2

主库:web_w  123paswd  10.1.1.2 3306 (all privileges)

从库:web_R 123paswd  10.1.1.2 3306 (select)

风险:web_w连接从库

开发 :多套用户密码,不专业

保险起见:

在slave库,设置read-only参数,确保从库只读

3,生产授权方案3

不同步mysql库,主从库分别进行如下授权

主库:web    123paswd  10.1.1.2 3306 (all privileges)

从库:web    123paswd  10.1.1.2 3306 (select)

缺陷:从库切换到主库的时候,链接用户权限问题

保险起见:

在slave库,设置read-only参数,确保从库只读

注意:read-only参数

read-only参数可以让slave服务器只允许来自slave服务器线程或具有super权限的用户更新,可以确保slave服务器不接受来自普通用户的更新

以上的super权限是指:

1,某一个具有(all privileges)的用户

2, root 用户

百度做法:

保留一个从库,时刻准备接替master,作为新的master,此时的slave全部复制master,不忽略mysql库

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值