Mysql主从复制代码

主从复制
第一步创建用户和组
groupadd mysql 创建mysql组
useradd -r -g mysql -s /bin/false mysql 创建用户mysql并设定为系统用户放在mysql组中,shell脚本放在/bin/false路径下

第二步解压安装文件
mysql-5.7.19-linux-glibc2.12-x86_64.tar 为下载好的mysql压缩包
tar xvf /tmp/mysql-5.7.19-linux-glibc2.12-x86_64.tar 解压缩
mv mysql-5.7.19-linux-glibc2.12-x86_64/ mysql 将解压之后的文件重命名为mysql
mv mysql /usr/local/ 将mysql文件移动到/usr/local/目录下
cd /usr/local/ 进入/usr/local/
chown -R mysql.mysql mysql/ 改变文件权限,改成mysql
mkdir -p /data/mydb3306/创建实例目录
mkdir -p /data/mydb3307/创建实例目录
chown -R mysql.mysql mydb3306实例目录赋权
chown -R mysql.mysql mydb3307实例目录赋权

第三步修改配置文件
cp my.cnf /etc/my.cnf 复制my.cnf放在配置文件中
vi /etc/my.cnf 进入my.cnf
将里面的内容改成
[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
[mysqld3306]
port = 3306
server_id = 1
basedir =/usr/local/mysql
datadir =/data/mydb3306
socket =/tmp/mysql3306.sock
user=mysql
log-bin=mysql3306-bin
relay-log=mysql3306-relay-bin
log-slave-updates
log-error=mysql3306
report-host=localhost
report-port=3306
relay-log-recovery=1
master-info-repository=TABLE
relay-log-info-repository=TABLE
[mysqld3307]
port = 3307
server_id = 2
basedir =/usr/local/mysql
datadir =/data/mydb3307
socket =/tmp/mysql3307.sock
user=mysql
log-bin=mysql3307-bin
relay-log=mysql3307-relay-bin
log-slave-updates
log-error=mysql3307
report-host=localhost
report-port=3307
relay-log-recovery=1
master-info-repository=TABLE
relay-log-info-repository=TABLE

第四步配置系统变量
cd
vi .bash_profile
PATH= P A T H : PATH: PATH:HOME/bin:/usr/local/mysql/bin
source .bash_profile

第五步初始化数据库
cd /usr/local/mysql 进入/usr/local/mysql
bin/mysqld --initialize --user=mysql --datadir=/data/mydb3306初始化数据库会得到一个密码
bin/mysqld --initialize --user=mysql --datadir=/data/mydb3307初始化数据库会得到一个密码

第六步开启MySQL
bin/mysqld_multi start 3306,3307

第七步进入主数据库
mysql -uroot -h127.0.0.1 -P3306 -p
set password=password(‘新密码’)
PROMPT 1>
SHOW MASTER STATUS \G 获取日志位置

第八步创建用户数据库以及表
创建用户,授予REPLICATION SLAVE权限
CREATE USER ‘repl’@‘127.0.0.1’ IDENTIFIED BY ‘oracle’;
GRANT REPLICATION SLAVE ON . TO ‘repl’@‘127.0.0.1’;
CREATE DATABASE world_innodb;
USE world_innodb
SET autocommit=0;
SOURCE /labs/world_innodb.sql 运行一个world_innodb.sql 的脚本
SET autocommit=1;

第九步用另一个实例登陆
mysql -uroot -h127.0.0.1 -P3307 -p
set password=password(‘新密码’)
PROMPT 2>

第十步 发出备份申请
CHANGE MASTER TO
MASTER_HOST=‘127.0.0.1’,
MASTER_PORT=3306,
MASTER_LOG_FILE=‘mysql1-bin.000001’,
MASTER_LOG_POS=120,
MASTER_USER=‘repl’,
MASTER_PASSWORD=‘oracle’;

第十一步 查看备份情况
SHOW DATABASES;
START SLAVE;
SHOW DATABASES;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值