同一服务器搭建mysql主从_mysql主从服务器搭建

当业务流量过大时,我们的一台服务器可能难以负载,我们需要用到主从服务器的配置。

具体配置如下:

172.17.10.57位主服务器

172.17.55.206 从服务器

正确的安装数据库后,确保两台的能互通。

1  主服务器建立帐号

mysql>GRANT REPLICATION SLAVE ON *.* to 'mysync'@'%' identified by

'q123456';

//一般不用root帐号,“%”表示所有客户端都可能连,只要帐号,密码正确,此处可用具体客户端IP代替,如192.168.145.226,加强安全

先进行测试,看是否能正确的连接。对数据的权限管理也要清楚的了解。

2主服务器配置如下:

在/etc/my.cn

#vi /etc/my.cnf

[mysqld]

log-bin=mysql-bin   //[必须]启用二进制日志

server-id=222       //[必须]服务器唯一ID,默认是1,一般取IP最后一段

3、修改从服务器slave:#vi /etc/my.cnf

[mysqld]

log-bin=mysql-bin   //[必须]启用二进制日志

server-id=226       //[必须]服务器唯一ID,默认是1,一般取IP最后一段

4、重启两台服务器的mysql/etc/init.d/mysql restart

5 查看状态

mysql> show master status;

+------------------+----------+--------------+------------------+-------------------+

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

+------------------+----------+--------------+------------------+-------------------+

| mysql-bin.000006 |      331 |              |                  |                   |

+------------------+----------+--------------+------------------+-------------------+

1 row in set (0.00 sec)

6 从服务器连接主服务器

mysql> change master to master_host='172.17.10.57',     -> master_user='test',     -> master_password='passwd',     -> master_log_file='mysql-bin.000006'; mysql> start slave   mysql> show slave status\G;mysql> change master to master_host = '172.17.10.57',master_user = 'mysync',master_password='q123456',master_log_file='mysql-bin.000019',master_log_pos=120;

7、检查从服务器复制功能状态:

mysql> show slave status\G

*************************** 1. row ***************************

Slave_IO_State: Waiting for master to send event

Master_Host: 192.168.2.222  //主服务器地址

Master_User: myrync         //授权帐户名,尽量避免使用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均属错误)。

以上操作过程,主从服务器配置完成。

总结:

1   首先需要检查主从关系的连通性

2    建立一个合理权限的账户,只要给能复制的那个就行。

3  配置能复制过去的库或者表格,既可以在主服务器上配置,也可以在从服务器上配置。

制定了一个可以过去的,其余的就是不可以过去的。这个就像linux的黑白名单那一样。

建议在从服务器上进行配置

如果出现错误记得来这里找

mysql 互为主从复制常见问题

报错: 1) change

master导致的: Last_IO_Error: error connecting to master - retry-time: 60

retries 2) 在没有解锁的情况下停止slave进程: stop slave; ERROR 1192 (HY000): Cant

execute the given command because you have active locked tables

报错:

1)

change master导致的:

Last_IO_Error: error connecting to master  - retry-time: 60  retries

2)

在没有解锁的情况下停止slave进程:

> stop slave;

ERROR 1192 (HY000): Can't execute the given command because you have active locked tables or an active transaction

3)

change master语法错误,落下逗号

mysql> change master to

-> master_host='IP'

-> master_user='USER',

-> master_password='PASSWD',

-> master_log_file='mysql-bin.000002',

-> master_log_pos=106;

ERROR 1064 (42000): You have an error in your SQL syntax; check the

manual that corresponds to your MySQL server version for the right

syntax to use near 'master_user='USER',

master_password='PASSWD',

master_log_file='mysql-bin.000002' at line 3

4)

在没有停止slave进程的情况下change master

mysql> change master to master_host=‘IP', master_user='USER',

master_password='PASSWD',

master_log_file='mysql-bin.000001',master_log_pos=106;

ERROR 1198 (HY000): This operation cannot be performed with a running slave; run STOP SLAVE first

5)

A B的server-id相同:

Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids;

these ids must be different for replication to work (or the --replicate-same-server-id option must be used on

slave but this does not always make sense; please check the manual before using it).

查看server-id

mysql> show variables like 'server_id';

手动修改server-id

mysql> set global server_id=2; #此处的数值和my.cnf里设置的一样就行

mysql> slave start;

6)change master之后,查看slave的状态,发现slave_IO_running 为NO

需要注意的是,做完上述操作之后最后重启mysql进程。

参考博客

http://www.cnblogs.com/hustcat/archive/2009/12/19/1627525.html

3、双主从服务器复制

(1)第一台服务器设置

auto_increment_increment = 2   \\数据表记录的标识增长数,一般等于服务器的数量

auto_increment_offset = 1      \\数据表记录标识每次增加的数,一般第一台为1,第二台为2,以此类推

sync_binlog = 0                \\二进制写入磁盘的同步方式

(2)第二台服务器配置

auto_increment_increment = 2

auto_increment_offset = 2

sync_binlog = 0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用 JavaScript 编写的记忆游戏(附源代码)   项目:JavaScript 记忆游戏(附源代码) 记忆检查游戏是一个使用 HTML5、CSS 和 JavaScript 开发的简单项目。这个游戏是关于测试你的短期 记忆技能。玩这个游戏 时,一系列图像会出现在一个盒子形状的区域中 。玩家必须找到两个相同的图像并单击它们以使它们消失。 如何运行游戏? 记忆游戏项目仅包含 HTML、CSS 和 JavaScript。谈到此游戏的功能,用户必须单击两个相同的图像才能使它们消失。 点击卡片或按下键盘键,通过 2 乘 2 旋转来重建鸟儿对,并发现隐藏在下面的图像! 如果翻开的牌面相同(一对),您就赢了,并且该对牌将从游戏中消失! 否则,卡片会自动翻面朝下,您需要重新尝试! 该游戏包含大量的 javascript 以确保游戏正常运行。 如何运行该项目? 要运行此游戏,您不需要任何类型的本地服务器,但需要浏览器。我们建议您使用现代浏览器,如 Google Chrome 和 Mozilla Firefox, 以获得更好、更优化的游戏体验。要玩游戏,首先,通过单击 memorygame-index.html 文件在浏览器中打开游戏。 演示: 该项目为国外大神项目,可以作为毕业设计的项目,也可以作为大作业项目,不用担心代码重复,设计重复等,如果需要对项目进行修改,需要具备一定基础知识。 注意:如果装有360等杀毒软件,可能会出现误报的情况,源码本身并无病毒,使用源码时可以关闭360,或者添加信任。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值