专门教做衣服的网站,西宁电商网站建设,中铁十六局工资明细,o2o网站开发相关技术准备两台服务器#xff1a;安装好mysql mysql1#xff1a;192.168.2.222 master mysql2#xff1a;192.168.2.226 slave 1、主从服务器分别作以下 1.1、版本一致 1.2、初始化表#xff0c;并在后台启动mysql 1.3、修改root的密码 2、修改主服务器master
#vi /etc/my… 准备两台服务器安装好mysql mysql1192.168.2.222 master mysql2192.168.2.226 slave 1、主从服务器分别作以下 1.1、版本一致 1.2、初始化表并在后台启动mysql 1.3、修改root的密码 2、修改主服务器master
#vi /etc/my.cnf
[mysqld]
log-binmysql-bin //[必须]启用二进制日志
server-id222 //[必须]服务器唯一ID默认是1一般取IP最后一段
3、修改从服务器slave
#vi /etc/my.cnf
[mysqld]
log-binmysql-bin //[不是必须]启用二进制日志
server-id226 //[必须]服务器唯一ID默认是1一般取IP最后一段
4、重启两台服务器的mysql
/etc/init.d/mysql restart
5、在主服务器上建立帐户并授权slave
#/usr/local/mysql/bin/mysql -uroot -pmttang
mysql GRANT REPLICATION SLAVE ON *.* to mysync% identified by q123456; 6、登录主服务器的mysql查询master的状态
mysql show master status;
------------------------------------------------------------
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
------------------------------------------------------------
| mysql-bin.000004 | 308 | | |
------------------------------------------------------------
1 row in set (0.00 sec)
注执行完此步骤后不要再操作主服务器MYSQL防止主服务器状态值变化
7、配置从服务器Slave
mysql change master to master_host192.168.2.222,master_usermysync,master_passwordq123456,master_log_filemysql-bin.000004,master_log_pos308; mysql start slave; //启动从服务器复制功能
8、检查从服务器复制功能状态
mysql show slave status\G*************************** 1. row ***************************Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.2.222 //主服务器地址
Master_User: mysync //授权帐户名尽量避免使用root
Master_Port: 3306 //数据库端口部分版本没有此行
Connect_Retry: 60
Master_Log_File: mysql-bin.000004
Read_Master_Log_Pos: 600 //#同步读取二进制日志的位置大于等于Exec_Master_Log_Pos
Relay_Log_File: ddte-relay-bin.000003
Relay_Log_Pos: 251
Relay_Master_Log_File: mysql-bin.000004
Slave_IO_Running: Yes //此状态必须YES
Slave_SQL_Running: Yes //此状态必须YES 注Slave_IO及Slave_SQL进程必须正常运行即YES状态否则都是错误的状态(如其中一个NO均属错误)。 以上操作过程主从服务器配置完成。 9、主从服务器测试
主服务器Mysql建立数据库并在这个库中建表插入一条数据
mysql create database hi_db;
Query OK, 1 row affected (0.00 sec)mysql use hi_db;
Database changedmysql create table hi_tb(id int(3),name char(10));
Query OK, 0 rows affected (0.00 sec)mysql insert into hi_tb values(001,bobu);
Query OK, 1 row affected (0.00 sec)mysql show databases;
--------------------
| Database |
--------------------
| information_schema |
| hi_db |
| mysql |
| test |
--------------------
4 rows in set (0.00 sec)
从服务器Mysql查询
mysql show databases;--------------------
| Database |
--------------------
| information_schema |
| hi_db | //IM here大家看到了吧
| mysql |
| test |
--------------------
4 rows in set (0.00 sec)mysql use hi_db
Database changed
mysql select * from hi_tb; //查看主服务器上新增的具体数据
------------
| id | name |
------------
| 1 | bobu |
------------
1 row in set (0.00 sec)
10、完成 编写一shell脚本用nagios监控slave的两个yesSlave_IO及Slave_SQL进程如发现只有一个或零个yes就表明主从有问题了发短信警报吧。