搭建mysql主从集群的步骤,mysql主从集群
前提条件是:需要在linux上安装4个mysql数据库,都需要配置完相应的信息。 需要搭建: mysql 01: 主数据库 master mysql 02 : 从数据库 slave01 mysql 03 : 从数据库 slave02 mysql 04 : 从数据库 slave03 第一步: 在主服务器上的my.cnf 上编辑 二进制文件格式:log-bin=mysql-bin; 二进制的格式: binlog-format=mixed 第二步: 在从服务器上: 有几台从服务器都需要配置: 二进制的日志: 每台从服务器在 my.cnf 中配置 二进制日志: relay-log=mysql-relay 注释:在每台从数据库上的my.cnf上都需要配置 第三步: 在主服务器上配置server-id 这个每台的server-id是唯一的,不能重复。一般是每台主机的ip地址后面的数量 主: server-id=166 从: server-id=167 ,server-id=168 ,server-id=169, 第四步: 如果出现了连接不上数据库的问题: 可以使用以下命令: /usr/libexec/mysqlld --skip-grant-tables 分别登录到mysql数据库中。 ./mysql -h 192.168.1.166 -uroot -p -P 3306(端口号) 第五步: 进入主数据库界面: 进行授权,建立一个账号,共从数据库去连接使用, 在主数据库界面: mysql> grant replication client,repliaction slave on *.* to 'xxxx'@'192.168.%.%' identified by 'xxxxx' 分析下这个授权账号: 首先授权应用给从数据库,建立一个账号给从数据库去连接,需要设置用户名,密码,还有ip 授权往后,需要在主数据库上查看主数据库的状态: mysql> show master status; 第六步: 在从数据库上去连接主数据库的建立的账号: 进入每个从数据库界面: mysql> change master to master_host = '192.xxxx.xxx.xxx', master_port = '3306', master_user = 'xxxxx', master_password = 'xxxxxxx', master_log_file = 'msyql-bin.000001', master_log_pos = 975; master_log_file 和 master_log_pos 需要根据在主数据库上查看的状态 去改变。
运行上面的命令后,然后执行查看从数据的状态: mysql> show slave status \G; 可以看到连接的详细信息: 如果不行,可以 mysql> reset slave; mysql> stop slavw; 然后继续运行刚才的链接信息。 第七步: 检测刚才搭建的集群主从数据库时候可以,在桌面的客户端上去测试,在主数据库上建立一个 测试数据库,在里面插入测试数据库,看下搭建的从数据库是否显示在主数据库上的测试库。如果有,就顺利的搭建完主从数据库的集群。
怎么会不稳定呢. 我们公司做的就非常好.不过是单向主从.
打开百度.搜索一下.我直接贴代码你也不一定能看懂. 搜索一下看看.网上教程很多.
--主机开两个窗口,一个进入mysql,一个是shell
--主机阻断写操作
mysql> FLUSH TABLES WITH READ LOCK;
Query OK, 0 rows affected (0.00 sec)
mysql>
mysql>
mysql> SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000002 | 1529881 | openser | mysql,test |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
--另外一个窗口导出主机数据库
mysqldump -u root -p123456 --opt -R openser > openser20121203.sql
--刚才的窗口主机解锁
mysql> UNLOCK TABLES;
Query OK, 0 rows affected (0.00 sec)
mysql>
--打包数据文件到从机
drop database openser;
create database openser;
mysql -u root -p123456 openser < openser20121127.sql
--从机操作
SLAVE STOP;
reset slave;
CHANGE MASTER TO MASTER_HOST='192.168.21.26',
MASTER_USER='repl_user',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='mysql-bin.000002',
MASTER_LOG_POS=1529881;
start slave;
show slave status\G