MYSQL主从复制

一、环境:两台LINUX7 64位服务器;

IP:192.168.200.199,192.168.200.200,199为主,200为从。

二、原理:

主服务器(Master)负责网站写操作,从服务器负责读操作。主从服务器利用MySQL的二进制日志文件,实现数据同步。二进制日志由主服务器产生,从服务器响应获取同步数据库。

三、安装mysql

1.解压缩文件包

cd /home/install
tar -zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz

2.复制解压后的mysql目录到系统的本地软件目录

 mv mysql-5.7.18-linux-glibc2.5-x86_64 /usr/local/mysql

3.删除系统中原有的mysql用户,再添加系统mysql组和mysql用户

userdel mysql
groupadd mysql
useradd -r -g mysql mysql

4.进入安装mysql软件目录

cd /usr/local/mysql

5.修改当前目录拥有者为mysql用户

chown -R mysql:mysql ./

6.进入support-files路径,发现没有默认的配置文件my_default.cnf,从网上找一个

cd /usr/local/mysql/support-files
vi my_default.cnf

7.my_default.cnf内容:

[mysqld]

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

# 一般配置选项
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character-set-server=utf8

back_log = 300
max_connections = 3000
max_connect_errors = 50
table_open_cache = 4096
max_allowed_packet = 32M
#binlog_cache_size = 4M

max_heap_table_size = 128M
read_rnd_buffer_size = 16M
sort_buffer_size = 16M
join_buffer_size = 16M
thread_cache_size = 16
query_cache_size = 128M
query_cache_limit = 4M
ft_min_word_len = 8

thread_stack = 512K
transaction_isolation = REPEATABLE-READ
tmp_table_size = 128M
#log-bin=mysql-bin
long_query_time = 6


server_id=1

innodb_buffer_pool_size = 1G
innodb_thread_concurrency = 16
innodb_log_buffer_size = 16M

innodb_log_file_size = 512M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
innodb_file_per_table = on

[mysqldump]
quick

max_allowed_packet = 32M

[mysql]
no-auto-rehash
default-character-set=utf8
safe-updates

[myisamchk]
key_buffer = 16M
sort_buffer_size = 16M
read_buffer = 8M
write_buffer = 8M

[mysqlhotcopy]
interactive-timeout

[mysqld_safe]
open-files-limit = 8192

[client]

8.切换mysql用户,进入mysql路径,创建data数据文件夹,再进入bin路径,安装并初始化数据

su - mysql
cd /usr/local/mysql/bin/
mkdir data
./mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql/  --datadir=/usr/local/mysql/data/

9.安装信息

Paste_Image.png

10.切换为root用户,复制support-files路径下的my_default.cnf到/etc路径下,提示是否复盖,输入Y

su - root
cp -a my_default.cnf  /etc/my.cnf

11.复制support-files路径下的mysql.server,到/etc/init.d/

cp -a mysql.server /etc/init.d/mysqld

12.进入到mysql bin路径下,查看当前是否有进程,如果有就kill掉,然后启动mysql服务

ps -A | grep mysql
 /etc/init.d/mysqld start

13.连接mysql,进入mysql bin路径,使用root用户登陆,没有密码直接回车即可

./mysql -u root -p

14.修改数据库可以远程访问

use mysql
SET SQL_SAFE_UPDATES = 0; ##这一句必须要有,如果不执行这句数据库处在安全模式,不可以使用非主键的字段做为条件更新数据。
update user set host = '%' where user = 'root';

15.重起mysql服务

/etc/init.d/mysqld restart

16.修改主数据库192.168.200.199,/etc/my.cnf配置文件,并且重起

server-id=199
log-bin=mysqlmaster-bin.log
sync_binlog=1

/etc/init.d/mysqld restart

17.修从主数据库192.168.200.200,/etc/my.cnf配置文件,并且重起

server-id=200
log-bin=mysqlslave-bin.log
sync_binlog=1

/etc/init.d/mysqld restart

18.在主数据库上创建用于主从复制的账户

cd /usr/local/mysql/bin/
./mysql -uroot -p
msyql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.200.200' IDENTIFIED BY '111111';

19.在从数据库服务器上设置主数据库服务器向从数据库服务器同步

mysql> change master to master_host = '192.168.200.199',master_user='repl',master_password='111111',master_log_file='mysqlmaster-bin.000002',master_log_pos=730;

master_log_file,master_log_pos是在主数据库上执行查询得到的,不要写错了。
show master status;

20.开启从数据库的复制线程。

mysql> start slave;

21.查看同步状态

show slave status \G
Paste_Image.png

22.测试一下,在主数据库里插入一条数据试试,看看重数据库有没有

在主库上随便建一个表,插入几条数据,从数据可以同步过来。

至此配置成功,谢谢观赏。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,928评论 6 509
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,748评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,282评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,065评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,101评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,855评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,521评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,414评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,931评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,053评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,191评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,873评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,529评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,074评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,188评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,491评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,173评论 2 357

推荐阅读更多精彩内容