文档章节

mysql主从复制的简单配置

whaon
 whaon
发布于 2015/05/27 16:53
字数 697
阅读 306
收藏 29

0.环境:

master:windows7,mysql5.5

slave:centos6.5(虚拟机),mysql5.1

1.先说下centos6.5安装mysql以及简要配置

yum install -y mysql-server mysql mysql-devel

通过这种方式安装的是mysql5.1版本

然后

 cd /usr/share/doc/mysql-server-5.1.73/
 cp my-large.cnf  /etc/my.cnf
 vi /etc/my.cnf

在[mysqld]下添加:

character_set_server=utf8
character_set_client=utf8
collation-server=utf8_general_ci
default-storage-engine=INNODB
lower_case_table_names=1 #是表名不区分大小写

在[client]下添加:

default-character-set=utf8

查找server-id,并改为2(不能和master的一样即可),如果没有的话自己添加一行

然后启动mysql

service mysqld start

修改root用户的密码,默认是空

 mysqladmin -u root password 'root'

然后即可登录:

mysql -u root -p

让其他机器可以用root用户登录:

GRANT ALL ON *.* TO 'root'@'%' identified by 'root' WITH GRANT OPTION;

2.windows下master的配置

在my.ini末尾填下如下内容:

#Master Config
server-id = 1
log-bin = mysql-bin
binlog-do-db = test
binlog-ignore-db = mysql

注意在slave的配置中也会有一个server-id,这2个不要重复即可

log-bin 指定日志类型

binlog-do-db 是你需要复制的数据库名称,如果有多个就用逗号“,”分开

binlog-ignore-db 是不需要复制的数据库名称,如果有多个就用逗号“,”分开

然后重启mysql

net stop mysql
net start mysql

可以查看master的状态

show master status;

建立一个名称和密码都为slave的用户,专门用于复制

3.linux下slave的配置 

有2种方式:

一种是直接修改/etc/my.cnf

另一种是用命令,可以不用重启mysql

这里用命令的方式:

change master to master_host='192.168.35.145', 
master_port=3306,
master_user='slave',
master_password='slave'

然后

start slave

查看slave状态

show slave status

这是master的test数据库就会同步到slave里,可以自己验证下

后面在master里面的修改都会自动同步到slave

----------------------------我是华丽的分割线----------------------------

安装好mysql后,在类似/usr/share/doc/mysql-server-5.1.73/目录下有好几个配置文件: my-small.cnf、my-medium.cnf、my-large.cnfmy-huge.cnf和my-innodb-heavy-4G.cnf分别针对不同需求和机器配置而给的配置模板,对于一般的服务器来说用my-huge.cnf或者my-innodb-heavy-4G.cnf即可

执行service mysqld start后默认会在/var/lib/mysql下生成一些配置文件和mysql自己的库,如果删除后就不能启动了,可以执行

mysql_install_db
来初始化,但是这样后可能仍然启动不了,如果查看日志的话会发现类似下面的错误:

061110  9:44:16 [ERROR] /usr/libexec/mysqld: Can't find file: './mysql/host.frm' (errno: 13)
061110  9:44:16 [ERROR] Fatal error: Can't open privilege tables: Can't find file: './mysql/host.frm' (errno: 13)
但是我们会发现 /var/lib/mysql/mysql/host.frm这个文件其实是存在的,这是因为权限的问题,解决方式如下,用下面的语句替代上面的语句即可:

mysql_install_db --user=mysql

© 著作权归作者所有

共有 人打赏支持
whaon

whaon

粉丝 47
博文 42
码字总数 38353
作品 0
厦门
程序员
私信 提问
MySql 主从复制配置之GTID

 GTID是一个基于原始mysql服务器生成的一个已经被成功执行的全局事务ID,它由服务器ID以及事务ID组合而成。这个全局事务ID不仅仅在原始服务器器上唯一,在所有存在主从关系 的mysql服务器上...

898009427
08/15
0
0
Mysql数据库AB复制简单实现

Mysql 主 从 复 制 在实际企业应用环境当中,单台mysql数据库是不足以满足日后业务需求的。譬如服务器发生故障,没有备份服务器来提供服务的话,业务就得停止。介于这种情况,我们可以对mys...

YLSL2014
07/04
0
0
mysql 主从复制和读写分离

centos 7 安装mysql ,并配置主从复制 读写分离 安装mysql 1.准备两台虚拟机 ip地址 : 192.168.0.101 , 102.168.0.102 系统版本 : centos 7 mysql : 8.0.12 nycat : 1.6.5 下载安装mysql 使...

起个名忒难
09/18
0
0
Mysql主从复制以及常见错误问题分析

Mysql主从复制以及常见错误问题分析 一、主从复制简介: 1、mysql主从复制原理: Mysql主从复制的实现,主要依赖于二进制日志来实现,过程主要是根据把主的MySQL 的数据复制到其它主机( Sla...

技术小疯子
01/22
0
0
Mysql主从复制和读写分离方案分析

引子 最近在研究Web服务端负载均衡方面的技术,参考网上资料,总体思路可以分为如下几类: 1.应用服务器集群,典型的代表就是Nginx+Tomcat实现负载均衡; 2.数据库集群。 本文主要关注数据库...

蓝狐乐队
2015/03/24
0
1

没有更多内容

加载失败,请刷新页面

加载更多

Range Sum Query - Immutable(leetcode303)

Given an integer array nums, find the sum of the elements between indices i and j (i ≤ j), inclusive. Example: Given nums = [-2, 0, 3, -5, 2, -1]sumRange(0, 2) -> 1sumRa......

woshixin
4分钟前
0
0
「阿里面试系列」面试加分项,从jvm层面了解线程的启动和停止

线程的启动的实现原理 线程停止的实现原理分析 为什么中断线程会抛出InterruptedException 线程的启动原理 前面我们简单分析过了线程的使用,通过调用线程的start方法来启动线程,线程启动后...

James-
10分钟前
0
0
转换 bytes 为 kb/mb/gb/tb/pb…

智能转换 bytes 为 kb/mb/gb/tb/pb… 用到了 math 模块中的一些函数 #!/usr/bin/env python# -*- coding: utf-8 -*-"""智能转换 bytes 为 kb/mb/gb/tb/pb..."""import mathdef conv...

郭恩洲_OSC博客
18分钟前
1
0
Mysql导出sql语句的方法及可能遇到的mysqldump: command not found

解决办法: 打开terminal    输入vi ~/.bash_profile    添加如下三行代码:    #mysql  PATH=$PATH:/usr/local/mysql/bin  export    保存并退出...

Liens
18分钟前
0
0
一文读懂,深入浅出 RPC框架

RPC 功能目标 RPC 的主要功能目标是让构建分布式计算(应用)更容易,在提供强大的远程调用能力时不损失本地调用的语义简洁性。为实现该目标,RPC 框架需提供一种透明调用机制让使用者不必显...

别打我会飞
20分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部