永发信息网

搭建mysql主从服务器 百度文库

答案:2  悬赏:20  手机版
解决时间 2021-03-02 08:10
搭建mysql主从服务器 百度文库
最佳答案
1、首先要在本地建立两个mysql服务(参考这里),指定不同的端口。我这里一个主(3306),一个从(3307)。
2、然后修改主配置文件:
[mysqld]
server-id = 1
binlog-do-db=test #要同步的数据库
#binlog-ignore-db=mysql #不同步的数据库,如果指定了binlog-do-db这里应该可以不用指定的
log-bin=mysql-bin #要生成的二进制日记文件名称
修改从配置文件:
[mysqld]
server-id = 2
log-bin = mysql-bin
replicate-do-db=test
3、在主库添加一个用户 repl 并指定replication权限
create user 'repl'@'127.0.0.1' identified by 'asdf';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'127.0.0.1'; -- --这里我指定数据库(test.*)时报错,而指定全库(*.*)时会成功。
4、保持主从mysql的test数据库初始状态一致。
一般是先将所有的表加读锁,然后copy磁盘上的数据库文件夹。我这里直接停止服务,然后将数据文件拷贝过去。
5、在主数据库里面运行show master status;记下file和position字段对应的参数。
mysql> show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 | 107 | test | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
6、在从库设置它的master:
mysql> change master to master_host='127.0.0.1',master_port=3306,master_user='repl',master_password='asdf',master_log_file='mysql-bin.000001',master_log_pos=107;
Query OK, 0 rows affected (0.19 sec)
这里的master_log_file和master_log_pos对应刚才show master status记下的参数。
7、在从库开启从数据库复制功能。
slave start;
mysql> slave start;
Query OK, 0 rows affected (0.00 sec)
在从库可以通过show slave status来查看一些参数。
8. 此时在主库创建表或插入数据,在从库就会很快也能看到了。
-- 主库
mysql> create table tianyc_02(b int);
Query OK, 0 rows affected (0.16 sec)
mysql> insert into tianyc_02 values(2013);
Query OK, 1 row affected (0.13 sec)
-- 从库
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| tianyc_01 |
| tianyc_02 |
+----------------+
2 rows in set (0.00 sec)
mysql> select * from tianyc_02;
+------+
| b |
+------+
| 2013 |
+------+
1 row in set (0.00 sec)
同理,可以搭建第二、第三个从节点。
我的服务器用的是小鸟云的,挺不错的。
全部回答
备份: [sql] view plain copy mysqldump -uroot -p -s /tmp/mysql3306.sock --single-transaction --add-drop-database --master-data=1 --database tms,test >test_backup.sql --single-transaction : 一致性备份,在备份开始前, 先执行start transaction命令,以此来获得备份的一致性,当前该参数只对innodb存储引擎有效。当启用该参数并进行备份时, 确保没有其他任何的ddl语句执行,因为一致性读并不能隔离ddl语句。 --add-drop-database: 备份里会有创建删除数据库的命令, 要和-database一起使用。 --master-data:通过该参数产生的备份转存文件主要用来建立一个slave replication。 当value的值为1时,转存文件中记录change master语句,当value的值为2时,change master语句被写成sql注释。默认情况下, value的值为空。 停止原从库的slave复制: [sql] view plain copy mysql> stop slave; query ok, 0 rows affected (0.00 sec) mysql> reset slave all; query ok, 0 rows affected (0.08 sec) mysql> show slave status\g; empty set (0.00 sec) 在从库进行source: [sql] view plain copy source /apps/test_backup.sql 待恢复完成后,可以根据备份文件里提供的binlog postion来启动rep: [sql] view plain copy mysql> change master to master_host='192.168.0.93',master_port=3306,master_user='replication',master_password='replication',master_log_file='mysql-bin.000005',master_log_pos=69295895; query ok, 0 rows affected (0.00 sec) mysql> flush privileges; query ok, 0 rows affected (0.04 sec)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
借呗怎么用?在哪里开通?
小四骑行店地址在什么地方,想过去办事
i hope the weather is good this weekend这
广东南华工商职业技术学院往年录取分数是多少
安富恒智能门窗.辉浩名门地址在什么地方,想
怎样才能加入俄罗斯欧瑞莲?
你好,想请教一个问题。关于企业法人被列入黑
下列关于泡沫灭火系统的泡沫产生装置调试的叙
请问 ponycar能上高速吗?
派多格宠物(滨江店)我想知道这个在什么地方
这件灰色斗篷大衣搭配什么衣服跟鞋好看呢?
古代铜印上有蟾蜍什么意思?是不是官印?求回
1800*80*80的鱼缸用多少的加热捧
四个点的符号什么意思
潍坊新方源太阳能设备有限公司在哪里啊,我有
推荐资讯
已知关于x的一元二次方程(m-1)x2-4x+m2-1=0
俩个“木 和 一个耳刀旁” 念什么子?
急急急!!!!谁能帮我把这个图片里面的俄罗
单选题Hehas________enoughmoney________fo
太原有什么私立学校
咨询购车贷款金融服务费是按照什么标准收取的
手机号看运势
恋恋交友软件里面一元能买多少魔豆?
中国古代历史中不同的时期具有不同的历史特征
专升本看什么书
瑞舒伐汀钙片副作用
户县森林旅游景区开发有限公司我想知道这个在
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?