Mysql集群
/**** * * *修改每台MYSQL服务器的配置文件 my.cnf(windows下是my.ini) * 1.首先开启每台服务器的Bin日志(必须的) * 指令:log-bin=mysql-bin * 2.给每一个服务器以个Id,多台服务器的Id不能重复,要求是唯一的 只要不相同就行 * 指令: server-id = 1 *3. 下面指令是只有在环形结构时候才需要加下面项,主从的时候不需要加 *指令:log-slave-updates = true * 这里图列解释一下,方便同志们理解
4.关于账号的建立 * 4.1如果主从是(主从)的话那么要在主服务器创建一个账号 SLAVE * 4.2如果是(环形)的话,那么在每台服务器上都创建一个账号 SLAVE * 这个账号就专门用来做复制用的 4.3 创建语法: * 语法:GRANT REPLICATION SLAVE ON *.* TO 'username'@'%' IDENTIFIED BY 'password'; username : 是账号名 password : 是密码
* GRANT REPLICATION SLAVE 意思是分配一个复制的权限 给 SLAVE ON *.*的意思是 第一个*可为哪个一个数据库(可根据实际情况填写), 第二个*这个数据库的那张表(可根据实际情况填写) 如果直接 ON *.*那表示为,所有的数据库的所有表,说白通配符嘛 ,表示我可以复制所有的数据库的所有表 TO 意思是 username用户名(根据实际情况填写) %可以这样填写, ;表示限定到具体的 比如只有192.x.x.xxIP地址才能对复制操作 用来限制那台服务器能进行复制 %就表示所有人能复制 IDENTIFIED BY 'password';密码s 5.在服务器上的信息(查看主的) (环形都弄) FLUSH TABLES WITH READ LOCK; // 意思是,我在复制的时候进行锁表, 保证当前只有我自己一个操作,上线项目建议用上 show master status; //查看状态
--------------------------------------------------------
File Psition binlog_do_Db Bnlog_IGNOre_db
mysq-bin.0000.1 251
--------------------------------------------------------
记录下期中的File 和 Psition
6. 主从:从服务器上设置主服务器的IP地址等信息 环形:说白了,环形链表嘛 一个接着一个,这个没必要详细了嘛,如果还不明白就看我上面的图
CHANGE MASTER TO
MASTER_HOST='xx.xx.xx.xx' # 主服务器ip /环形的就是你上一个的
MASTER_USER='账名', # 主服务器上slave账户名 / 环形的就是你上一个的
MASTER_PASSWORD='密码', # 主服务器上slave 密码/ 环形的就是你上一个的
MASTER_LOG_FILE='mysql-bin.000001', # 主服务器上记录的file / 环形的就是你上一个的
MASTER_LOG_POS=251; # 主服务器上记录的Position /环形的就是你上一个的
7. 启动slave start slave
8.主从同步检查 /环形同理 mysql> show slave status/G
Slave_IO_Running :yesSlave_SQL_Running:yes 哥们恭喜你成功了
9.自动删除binlog设置自动清理MySQL binlog日志,expire_logs_days = 10