第一步:修改mysql实例的server_id和server_uuid
1.修改server_id
[root@zhu ~]# cat /etc/my.cnf
[mysqld]
basedir = /application/mysql
datadir = /application/mysql/data
socket = /tmp/mysql.sock
log_bin=mysql-bin
server_id = 11 #这个id必须不一样
port = 3306
log_error = /application/mysql/data/oldboy_mysql.err
[mysql]
socket = /tmp/mysql.sock
prompt = oldboy [\d]>
2.如若server_uuid一样则不修改,若不一样,修改方法如下:
[root@zhu /application/mysql/data]# cat /application/mysql/data/auto.cnf
[auto]
server-uuid=4723932a-7458-11e9-b7ab-000c2934cf2a #这个uuid必须不一样
[root@zhu /application/mysql/data]# uuidgen #生成uuid
5daa05f2-59fe-432f-a2c7-ff4c0166885f
#把生成的uuid在 /application/mysql/data/auto.cnf 中替换
重启mysql
第二步:在master上面创建一个主从复制的账号,这个账号必须有replication权限
mysql>GRANT REPLICATION SLAVE ON *.* to 'replication'@'%' identified by '123456';
第三步:在master上锁表,--全局读锁
flush tables with read lock
第四步:在master上查看master binlog状态
oldboy [(none)]>show master status\G;
*************************** 1. row ***************************
File: mysql-bin.000002 #这个是binlog日志文件
Position: 444 #这个binlog位置点
Binlog_Do_DB:
Binlog_Ignore_DB:
Executed_Gtid_Set:
1 row in set (0.00 sec)
第五步:备份master数据库
mysqldump -uroot -poldboy123 -A -B |gzip >/tmp/all.sql。gz
scp到slave的/tmp下
第六步:slave上还原数据库
gzip -d /tmp/all.sql.gz
mysql -uroot -poldboy123 < /tmp/all.sql
第七步:解锁
unlock tables;
第八步:在slave上执行change master
1.语法说明:
change master to master_host='master ip地址’\
master_user='复制的用户' \
master_password='复制用户的密码' \
master_log_file='主库上binlog文件' \
master_log_pos='主库binlog文件位置';
2. 配置例子:
master_host='172.16.1.199',master_user='replication',master_password='123456',master_log_file='mysql-bin.000002',master_log_pos=444;
第九步:启动slave
start slave;
第十步:查看slave状态
show slave status\G; ###主要看以下两行
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
安装完毕,测试主从复制:
oldboy [(none)]>select user,host from mysql.user; #查看
数据库及对应的主机
+---------------+------------+
| user | host |
+---------------+------------+
| replication | % |
| JPress | 172.16.1.% |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+---------------+------------+
5 rows in set (0.00 sec)
master上创建数据库:
master oldboy [(none)]>create database keyan;
slave
slave上检查是否备份成功:
oldboy [(none)]>show databases; ###检查是否成功
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。