文档章节

mysql主从复制的简单配置

whaon
 whaon
发布于 2015/05/27 16:53
字数 697
阅读 305
收藏 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

粉丝 45
博文 40
码字总数 36716
作品 0
厦门
程序员
MySql 主从复制配置之GTID

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

898009427
08/15
0
0
Mysql主从复制以及常见错误问题分析

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

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

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

蓝狐乐队
2015/03/24
0
1
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数据库AB复制简单实现

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

YLSL2014
07/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周六乱弹 —— 到底谁是小公猫……

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子:分享Trivium的单曲《Throes Of Perdition》 《Throes Of Perdition》- Trivium 手机党少年们想听歌,请使劲儿戳(这里) @小鱼丁:...

小小编辑
57分钟前
113
3
基础选择器

注意:本教程参考自网上流传的李兴华老师的jquery开发框架视频,但是苦于没有相应的配套笔记,由我本人做了相应的整理. 本次学习的内容 学习jquery提供的各种选择器的使用,掌握了jquery选择...

江戸川
今天
1
0
Spring中static变量不能@value注入的原因

今天本想使用@Value的方式使类中的变量获得yml文件中的配置值,然而一直失败,获得的一直为null。 类似于这样写的。 public class RedisShardedPool { private static ShardedJedisPool pool...

钟然千落
今天
2
0
CentOS7防火墙firewalld操作

firewalld Linux上新用的防火墙软件,跟iptables差不多的工具。 firewall-cmd 是 firewalld 的字符界面管理工具,firewalld是CentOS7的一大特性,最大的好处有两个:支持动态更新,不用重启服...

dingdayu
今天
1
0
关于组件化的最初步

一个工程可能会有多个版本,有国际版、国内版、还有针对各种不同的渠道化的打包版本、这个属于我们日常经常见到的打包差异化版本需求。 而对于工程的开发,比如以前的公司,分成了有三大块业...

DannyCoder
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部