mysql主从服务器搭建

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

具体配置如下:

172.17.10.57位主服务器

172.17.55.206 从服务器

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

mysql>GRANT REPLICATION SLAVE ON *.* to ‘mysync‘@‘%‘ identified by
‘q123456‘;

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

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

主服务器配置如下:

在/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;

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: 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均属错误)。

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

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

mysql 互为主从复制常见问题

来源: 作者: 发表于:2012-08-19 17:15   点击:

报错: 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进程。

时间: 2024-10-22 04:27:59

mysql主从服务器搭建的相关文章

2-18,19 搭建MySQL主从服务器并并通过mysql-proxy实现读写分离

MySQL主从服务器 实现方式: MySQL  REPLICATION Replication可以实现将数据从一台数据库服务器(master)复制到一台或多台数据库服务器(slave) 默认情况下这种情况属于异步复制,无需维持长连接 通过配置,可以复制所有库或者几个库,甚至库中的一些表 它是MySQL内建的,自带 Replication的原理 主服务器master将数据库的改变写入二进制日志文件,从服务器slave同步这些二进制日志,并生成中继日志,从服务器根据中继日志,执行这些改变 DML:S

搭建mysql主从服务器

搭建mysql主从服务器: //注:注释掉my.cn文件中的skip-federated字段[[email protected] ]# /bin/cp -r /usr/local/mysql/share/mysql/my-huge.cnf  /etc/my.cnf 配置主服务器:修改my.cnf文件server-id=1 //每个数据库服务器都要指定唯一一个server-id log-bin=mysql-bin //mysql进行主从复制时通过二进制日志文件来进行的,所以必须开启mysql日志功

DNS笔记&主从服务器搭建实验

DNS笔记  DNS正反主从服务搭建 ==========================理论部分========================= DNS:Domain Name Service协议,属于应用层协议 使用端口53/TCP  53/UDP 作用:提供域名和IP的解析服务,在互联网中属于非常重要的基础服务 .  根域 .com  .edu  .gov  .org  等等  顶级域,用来指示某个国家或地区或组织使用的名称类型 baidu.com  qq.com    等等,二级域名,

实战录 | Redis的主从服务器搭建

<实战录>导语 云端卫士<实战录>栏目定期会向粉丝朋友们分享一些在开发运维中的经验和技巧,希望对于关注我们的朋友有所裨益.本期分享人为云端卫士安全平台工程师田全磊,将带来Redis的主从服务器搭建. Redis是一个简单快捷的key-value存储系统.它提供了丰富的数据存储结构,包括 lists, sets, ordered sets 以及 hashes ,当然还有和Memcached一样的 strings结构.同时Redis提供还对这些数据结构的丰富操作. Redis哨兵模式介

mysql主从服务器的配置

使用mysql主从复制的好处有: 1.采用主从服务器这种架构,稳定性得以提升.如果主服务器发生故障,我们可以使用从服务器来提供服务. 2.在主从服务器上分开处理用户的请求,可以提升数据处理效率. 3.将主服务器上的数据复制到从服务器上,保护数据免受意外的损失. 环境描述: 新企业要搭建架构为主从复制的mysql数据库. 主服务器(mysql-master):IP地址:192.168.48.128,mysql已安装,没有用户数据. 从服务器(mysql-slave):IP地址:192.168.48

mysql主从服务器复制原理

在实际企业应用环境当中,单台mysql数据库是不足以满足日后业务需求的.譬如服务器发生故障,没有备份服务器来提供服务的话,业务就得停止.介于这种情况,我们来学习一下mysql主从复制. 将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重新执行一遍来实现的.复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环.这些日志可以记录发送到从服

mysql 主从服务器 切换

mysql 从服务器切换为主服务器: 步骤如下: 1 确认从服务器已经完成所有同步操作: stop slave io_thread  show processlist  直到看到状态都为:xxx has read all relay log 表示更新都执行完毕 2 停止从服务器slave服务 stop slave 3 将从服务器切换为主服务器: reset master 完成切换. PS: 如果从服务器设置了 read only 选项,则需要将这个参数去掉并重新启动数据库.

MySQL主从服务器slave无法连接master:SSL连接错误:协议版本不匹配

首次发文 刚学2个月的小白在VM上练习主从复制时候遇到了一个错误: ERROR 2026 (HY000): SSL connection error: protocol version mismatch 在查看Firewalls和selinux都关闭后,无奈了 反复连接都是这个错误,换了服务器连接还是提示同样的错误,崩溃了 最后解决方法是 在主从服务器上分别在/etc/my.cnf文件下加入一行代码 skip_ssl 注意是两个都要加 保存,重启mysqld 然后可以连接了 go on!主从复制

配置mysql主从服务器

参考:https://www.linuxidc.com/Linux/2016-09/135633.htm 一.Master主服务器配置(192.168.1.3) 1.编辑my.cnf(命令查找文件位置:find / -name my.cnf) vi /etc/mysql/my.cnf 在[mysqld]中添加: server-id = 1 log_bin = master-bin log_bin_index = master-bin.index binlog_do_db = my_data bi