MySQL主从设定

MySQL的安装

一、下载MySQL

http://dev.mysql.com/downloads/mysql/

二、安装

$tar -xzvf mysql-5.1.45-osx10.6-x86_64.tar.gz

$sudo mv mysql-5.1.45-osx10.6-x86_64 /usr/local/mysql

$cd /usr/local

$sudo chown -R mysql:mysql mysql

$cd mysql

$sudo scripts/mysql_install_db --user=mysql

$sudo chown -R root .

$sudo chown -R mysql data

$cd bin

$sudo ./mysql_secure_installation

$sudo vi /usr/local/my.cnf

$port = 3307

$:wq

三、启动与停止

$cd /usr/local/mysql/bin

$sudo ./mysqld_safe&

$sudo ./mysqladmin -uroot shutdown

主从设定

一、配置master

$mysql  -uroot -P3306 -p #先连接主数据库

>create database project_db

>use project_db

>create table xxxxx

>insert into mysql.user(Host,User,Password) values(‘localhost‘,‘projectuser‘,password(‘123456‘));

>flush privileges;

>grant replication slave  on *.* to ‘projectuser‘@‘127.0.0.1‘ identified by ‘123456‘ with grant option;

>flush privileges;

>exit;

$sudo vi /usr/local/mysql-master/my.cnf

$server-id=1 #设置服务器id

$log_bin=mysql-bin #启动MySQ二进制日志系统

$binlog-do-db=project #需要同步的数据库名,如果有多个数据库,可重复此参数,每个数据库一行

$binlog-ignore-db=mysql #不同步mysql系统数据库

$:wq

$sudo ./mysqladmin shutdown

$sudo ./mysqld_safe&

$mysql -uroot

>show master status;

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

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

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

| mysql-bin.000002 |     1460 |              |                  |                   |

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

二、配置slave

$sudo vi /usr/local/mysql-slave/my.cnf

$server-id=2

$log_bin=mysql-bin

$binlog-do-db=project_db

$binlog-ignore-db=mysql

$:wq

$sudo /usr/local/mysql-slave/bin/mysqld_safe&

$mysql -P3307 -uroot

>stop slave;

>change master to master_host=‘127.0.0.1‘,master_user=‘projectuser‘,master_password=‘123456‘,master_log_file=‘mysql-bin.000002‘ ,master_log_pos=1460;

>start slave;

>show slave status \G

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

Slave_IO_State: Waiting for master to send event

Master_Host: 127.0.0.1

Master_User: osyunweidbbak

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: mysql-bin.000002

Read_Master_Log_Pos: 1950

Relay_Log_File: Adtuu-2-relay-bin.000004

Relay_Log_Pos: 283

Relay_Master_Log_File: mysql-bin.000002

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Replicate_Do_DB: project

Replicate_Ignore_DB: mysql

Replicate_Do_Table:

Replicate_Ignore_Table:

Replicate_Wild_Do_Table:

Replicate_Wild_Ignore_Table:

Last_Errno: 0

Last_Error:

Skip_Counter: 0

Exec_Master_Log_Pos: 1950

Relay_Log_Space: 458

Until_Condition: None

Until_Log_File:

Until_Log_Pos: 0

Master_SSL_Allowed: No

Master_SSL_CA_File:

Master_SSL_CA_Path:

Master_SSL_Cert:

Master_SSL_Cipher:

Master_SSL_Key:

Seconds_Behind_Master: 0

Master_SSL_Verify_Server_Cert: No

Last_IO_Errno: 0

Last_IO_Error:

Last_SQL_Errno: 0

Last_SQL_Error:

Replicate_Ignore_Server_Ids:

Master_Server_Id: 1

Master_UUID: 44d2297a-7e8b-11e4-815d-210bd407a423

Master_Info_File: /usr/local/mysql_56/data/master.info

SQL_Delay: 0

SQL_Remaining_Delay: NULL

Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it

Master_Retry_Count: 86400

Master_Bind:

Last_IO_Error_Timestamp:

Last_SQL_Error_Timestamp:

Master_SSL_Crl:

Master_SSL_Crlpath:

Retrieved_Gtid_Set:

Executed_Gtid_Set:

Auto_Position: 0

1 row in set (0.00 sec)

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

以上这两个参数的值为Yes,即说明配置成功!

时间: 2024-10-21 10:50:40

MySQL主从设定的相关文章

mysql主从同步(4)-同步延迟状态考量(seconds_behind_master和pt-heartbea)

一般情况下,我们是通过"show slave status \G;"提供的Seconds_Behind_Master值来衡量mysql主从同步的延迟情况.具体说明见:mysql主从同步(4)-Slave延迟状态监控,这种方法在大多数情况下确实是可行的.但是经验告诉我,仅仅依靠Seconds_Behind_Master的值来监测主从同步数据是否延迟是绝对不可靠的!!! 曾经遇到过的一个坑:Mysql主从环境部署后,刚开始主从数据同步是没问题的,也是通过监控Seconds_Behind_M

17.1 MySQL主从介绍;17.2 准备工作;17.3 配置主;17.4 配置从;17.5 测试主从同步

17.1 MySQL主从介绍 1. MySQL主从又叫做Replication.AB复制.简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步的 2. MySQL主从是基于binlog的,主上须开启binlog才能进行主从. 3. 主从过程大致有3个步骤 1)主将更改操作记录到binlog里 2)从将主的binlog事件(sql语句)同步到从本机上并记录在relaylog里 3)从根据relaylog里面的sql语句按顺序执行 4. 主上有一个log dum

MySQL主从同步、读写分离配置步骤

现在使用的两台服务器已经安装了MySQL,全是rpm包装的,能正常使用. 为了避免不必要的麻烦,主从服务器MySQL版本尽量保持一致; 环境:192.168.0.1 (Master) 192.168.0.2 (Slave) MySQL Version:Ver 14.14 Distrib 5.1.48, for pc-linux-gnu (i686) using readline 5.1 1.登录Master服务器,修改my.cnf,添加如下内容: server-id = 1 //数据库ID号,

MySQL主从延迟复制实践及生产故障案例恢复实践

1.1 MySQL主从延迟复制介绍 从MySQL5.6开始支持了主从延迟复制,这个功能主要解决的问题是,当主库有逻辑的数据删除或错误更新后,所有的从库都会进行错误的更新,从而导致所有的数据库数据异常,即使有定时的备份数据可以用于数据恢复,特别是数据库数据量很大时,恢复时间会很长,再恢复期间数据库数据被删或错误数据影响正常的访问体验. 而延迟复制就可以较好的解决这个问题.例如,可以设定某一个从库和主库的更新延迟1小时,这样主库数据出问题以后,1个小时以内发现,可以对这个从库进行无害恢复处理,使之依

centos 6.5设置mysql主从同步过程记录

在centos 6.5上设置了mysql主从功能,记录一下. 服务器1(主)IP:192.168.137.144系统版本:centos 6.5mysql版本:mysql 5.5 服务器2(从)IP:192.168.137.185系统版本:centos 6.5mysql版本:mysql 5.5 这里两台服务器的系统版本和mysql版本均一致,这也是官方推荐的做法.在开始设定之前,最好能确保主库和从库一致. 1.主库和从库创建同步用户 mysql> grant replication slave,

MySQL主从同步、读写分离配置步骤、问题解决笔记

根据要求配置MySQL主从备份.读写分离,结合网上的文档,对搭建的步骤和出现的问题以及解决的过程做了如下笔记:       现在使用的两台服务器已经安装了MySQL,全是rpm包装的,能正常使用.       为了避免不必要的麻烦,主从服务器MySQL版本尽量保持一致; 环境:192.168.0.1 (Master)           192.168.0.2 (Slave) MySQL Version:Ver 14.14 Distrib 5.1.48, for pc-linux-gnu (i6

LVS+Keepalived+Squid+Nginx+MySQL主从 高性能集群架构配置

原文地址:LVS+Keepalived+Squid+Nginx+MySQL主从 高性能集群架构配置 作者:gron 原文链接:http://www.linuxidc.com/Linux/2012-07/65547.htm 架构图 先进行优化 vi /etc/sysctl.conf   # 编辑sysctl.conf文件添加以下内容 net.ipv4.tcp_rmem = 4096 87380 4194304 net.ipv4.tcp_wmem = 4096 65536 4194304 net.c

LVS+Keepalived+Squid+Nginx+MySQL主从高性能集群架构部署方案

方案一,在tomcat的workers.properties里面配置相关条件 worker.tomcat.lbfactor=50 worker.tomcat.cachesize=10 worker.tomcat.cache_timeout=600 worker.tomcat.socket_keepalive=1 worker.tomcat.socket_timeout=300 Linux内核优化: vi /etc/sysctl.conf   # 编辑sysctl.conf文件添加以下内容net.

mysql 主从问题集锦

在InnoDB引擎下发现,Mysql的主从热备存在数据不一致的问题,一些数据没有成功同步到备机.在use databases后,更新的表必须是当前选择的database才同步.譬如连上Mysql服务后操作: USE test2; UPDATE client SET name='test' WHERE uid=1; 数据未能同步到备机,而使用use  test后,才可以成功同步,如下方式: USE test; UPDATE client SET name='test' WHERE uid=1;