0
点赞
收藏
分享

微信扫一扫

主从数据库

一叶轻舟okok 2022-04-19 阅读 60
linux

优点:

方便做数据热备份。作为后备数据库,主数据库服务器故障后,可切换从数据库继续工作,避免数据丢失。

思路

 

先在虚拟机上安装两个MySQL数据库

步骤同之前数据库多实例,且端口一个为3306,一个为3307

我们对两个数据库进行配置

我以3306端口的数据库为主库,3307端口的数据库为备库

配置主库:

在my06.cnf原来的基础上修改

目的是为主库配置二进制日志

[root@localhost ~]# vim my06.cnf



[client]

port            = 3306                          //port 端口号

socket          = /tmp/mysql06.sock               //socket套接字

[mysql]

no-auto-rehash                                  //开启命令自动补全功能    

[mysqld]

user = mysql                                    //user可以启动的用户

basedir = /usr/local/mysql06                      //basedir根目录

datadir = /data/mysql06                           //datadir数据文件存放的目录

port = 3306                                     

socket = /tmp/mysql06/mysql.sock

log-error = /data/mysql06/mysql.err               //log-error异常信息存放的位置

pid-file = /data/mysql06/mysql.pid                //pid-file 数据库进程存放的位

slow_query_log_file = /data/mysql06/slow.log      //slow_query_log_file日志存放的位置

character-set-server = utf8

open_files_limit = 65535

max_connections = 100

max_connect_errors = 100000

lower_case_table_names =1

添加内容:

server-id = 1                         //服务的唯一编号

log-bin = mysql-bin                   //开启mysql binlog功能

binlog_format = ROW                 //binlog记录内容的方式,记录被操作的每一行

binlog_row_image = minimal           //减少记录日志的内容,只记录受影响的列

binlog-do-db = yyqx                  //指定需要复制的数据库名为yyqx



配置好后重启数据库

[root@localhost ~]# service mysqld restart

在MySQL数据库中 执行

创建从库同步数据的账号

mysql>grant replication slave on *.* to 'yyqx'@'192.168.112.109' identified by 'yyqx@123';

重新加载权限表,更新权限

mysql>flush privileges;

查看数据库状态

mysql>show master status\G

配置从数据库

[root@localhost ~]# vim my07.cnf
[client]

port            = 3307                          //port 端口号

socket          = /tmp/mysql07/mysql.sock               //socket套接字

[mysql]

no-auto-rehash                                  //开启命令自动补全功能    

[mysqld]

user = mysql                                    //user可以启动的用户

basedir = /usr/local/mysql07                      //basedir根目录

datadir = /data/mysql07                           //datadir数据文件存放的目录

port = 3307                                     

socket = /tmp/mysql07/mysql.sock

log-error = /data/mysql07/mysql.err               //log-error异常信息存放的位置

pid-file = /data/mysql07/mysql.pid                //pid-file 数据库进程存放的位

slow_query_log_file = /data/mysql07/slow.log      //slow_query_log_file日志存放的位置

character-set-server = utf8

open_files_limit = 65535

max_connections = 100

max_connect_errors = 100000

lower_case_table_names =1

备库新增配置

server-id = 2



log-bin = mysql-bin

binlog_format = ROW

binlog_row_image = minimal

replicate-do-db = yyqx                       //指定需要复制的数据库名为yyqx.



配置好后重启数据库

[root@localhost ~]# service mysqld restart

在mysql数据库执行

设置主服务器ip,同步账号密码,同步位置

mysql>change master to master_host='192.168.112.110',master_user='mysql',master_password='000000',master_log_file='mysql-bin.000002',master_log_pos=2380;


开启同步功能

mysql>start slave;

查看数据库状态

mysql>show master status\G

举报

相关推荐

0 条评论