MySql教程

mysql_linux_主从

本文主要是介绍mysql_linux_主从,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一.MySql主从备份.
1.mysql中自带主(master)从(slave)功能.但是需要进行配置.
2.配置mysql主从的目的:
2.1 实现一主一备功能 虚拟机个数:2个,一个主,一个从。
2.2 读写分离功能.
2.2.1 把主数据库当作为写数据库
2.2.2 把从数据库当作读数据库.
3.配置完mysql主从后的效果:
3.1 当向主数据库中新建database或新建table或往操作表中数据时,从数据库自动跟随变换.
3.2 主数据库会将所有的sql语句生成一个日志文件,那么从数据库会自动读取主数据库生成的日志文件,从而达到一个备份的功能!
mysql主从原理
4.1 示例图

 

 

 

 

 

4.2 主中必须开启日志功能.mysql默认没有开启日志的.
4.2.1 mysql配置文件路径: /etc/my.cnf
4.3 从数据库中I/O线程把主数据库中日志文件内容复制一份放入到从数据库中.
4.4 从数据库的SQL线程把日志中内容读取把日志信息应用到从数据库中.
4.5 SQL线程和I/O线程在告诉了从数据库主数据库在哪里mysql创建.
4.6 必须要主数据库中创建一个user,用户必须保证具有通过从数据库访问主数据库的权限.
4.6.1 才能保证从数据库读取主数据库内容.
4.7 在关联上主从关系后,每个数据库需要有一个身份标识.server_id
4.7.1 需要保证主数据库server_id 数值小于从数据库的server_id
4.每个mysql都有一个uuid
5.1 在mysql安装目录/data文件夹下auto.cnf中配置.
5.2 如果直接克隆一份虚拟机两个mysql的uuid相同.从主备份中不允许mysql的uuid相同.
5.2.1 克隆后需要修改mysql的uuid
二.配置mysql主从步骤
1.安装mysql解压版
1.1设置了root用户的密码为root
1.1.1Update user set password=password(‘root) where user=’root’ [=password] 是 mysql自带的一个函数,用来修改密码。-当密码不对,或已经忘记密码时,直接按回车键进去执行这条命令。
1.1.2flush privileges;修改完密码需要刷新。
1.1.3要重启mysql服务 service mysqld restart
1.1.4./mysql -hlocalhost -uroot –proot --->登录mysql
1.1.4.1–h:代表访问的地址。-u:代表用户名,-p代表密码。 修改
1.2 把虚拟机克隆一份.
1.3 主从的ip
1.3.1 主:192.168.26.141 172
1.3.2 从:192.168.26.142 173
2.修改主数据库的my.cnf文件
2.1 执行命令
# vim /etc/my.cnf
2.2 修改内容
2.2.1 log_bin 日志文件名称,启用日志功能
2.2.2 server_id 给定一个值

 

 


2.3 重启mysql
# service mysqld restart
3.进入主数据库的客户端工具
#mysql -uroot –proot
4.新建一个mylove用户并赋予权限! 授权的同时会新建用户。
4.1 命令:
4.1.1 *.* 表示任意数据库的任意表
4.1.2 mylove 用户名
4.1.3 192.168.26.142 从数据库的ip,哪个客户端可以连接mysql服务端.
4.1.4 bjsxt 是mylove的密码
grant all privileges on *.* to 'mylove'@'192.168.26.142' identified by 'bjsxt' with grant option;
flush privileges;
4.2 检查执行结果
show databases;

 

 

 

 


5.通过命令可以观察主数据库在主从关系中状态.
5.1 日志文件:存在于mysql安装目录/data/mysql
5.2 data文件夹xxxxx.index文件,存储日志文件在哪里.
5.3 data文件夹auto.cnf编写当前mysql的uuid
如果两个mysql拷贝的是同一个虚拟机,则uuid是一样的
如果两个mysql拷贝的不是同一台虚拟机,则uuid是不一样的

 

 


6.修改主数据库的防火墙,放行3306端口
6.1 # vim /etc/sysconfig/iptables
6.2 重启防火墙:service iptables restart
7.操作从数据库的内容
7.1 修改从数据库的my.cnf的server_id
#vim /etc/my.cnf
7.2 设置server_id为2

 

 


8.修改从的uuid
8.1 # vim /usr/local/mysql/data/mysql/auto.cnf
8.2 随意把值修改以下
8.3 重启mysql服务
# service mysqld restart
9.进入从数据库的客户端工具
# mysql -u root –proot
10.操作slave
8.1 关闭slave
# stop slave
8.2 在从中配置出master的信息
change master to master_host='192.168.26.141',master_user='mylove',master_password='bjsxt',master_log_file='master_log.000001';
flush privileges;
8.3 开启slave
# start slave
8.4 显示slave状态
# show slave status \G;
8.4.1 只要没有错误,说明配置成功主从关系.

 

 


9.验证主从关系
9.1 主从服务都重新启动.
9.2 在主数据库中新建数据库,新建表,添加数据,观察从数据库的状态.
9.2.1 新建数据库
create database demo1 default character set utf8;
9.2.2在从数据库使用show master status;查看状态。

这篇关于mysql_linux_主从的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!