Mysql数据库主从配置操作方案

一、主从备份

 

1.热备份的条件

1 mysql的版本都要高于3.2

2 作为从数据库的数据库版本可以高于主服务器数据库的版本,但是不可以低于主服务器的数据库版本。尽量推荐两者版本相同。

3 mysql安装目录下存在my.ini配置文件,如果没有请先配置,详见参考二:安装之后没有my.ini配置文件怎么办

2.范例环境:

操作系统: windows7

MySQL版本: 5.7

服务器AIP: 192.168.68.56

服务器BIP: 192.168.68.139

3.主从备份实现:

3.1.增加一个用户账号(backup,密码centerm)作为同步用户账号:

A: mysql> Grant replication slave on *.* to backup@'192.168.68.139' identified by '123456';

B: mysql> Grant replication slave on *.* to backup@'192.168.68.56' identified by '123456';

注: (1). mysql> Grant 权限 on . to 用户账号@’允许访问的IP’ identified by ‘用户密码’;

3.2.两个服务器,增加一个数据库(mrrs)作为同步数据库:

A & B mysql>  create database mrrs;

3.3修改主数据库的my.ini配置

注:如果没有请先配置,详见参考二:安装之后没有my.ini配置文件怎么办:

在原my.ini文件[mysqld]下添加

server-id=1

#设置需要记录log 可以设置log-bin=backuplog 设置日志文件的名称

log-bin=backuplog

#日志文件在mysql数据库文件夹根目录下,mysql将建立不同扩展名,文件名为backuplog的几个日志文件。

#指定需要日志的数据库

binlog-do-db=mrrs

3.4获取file和position字段

完成之后保存,然后使用管理员权限运行命令行重启mysql,否则直接在服务中重新启动mysql

net stop mysql57 

net start mysql57

进入mysql数据库,输入命令:

mysql>show master status;

记一下fileposition两个字段(一般file会是mysql-bin.000006

3.5修改从数据库的my.ini配置

在原my.ini文件[mysqld]下添加

server-id=2

#只同步mrrs

replicate-do-db=mrrs

relay-log-index=slave-relay-bin.index

relay-log=slave-relay-bin

 

3.6 启动备份:

保存之后重启数据库

进入mysql

输入命令:

change master to master_host='192.168.68.56',master_user='backup',master_password='123456',master_log_file='mysql-bin.000006',master_log_pos=1606;

mysql-bin.000006→→→之前记录的file

1606→→→之前记录的position

输入命令:

start slave;

输入命令:

show slave status;

3.7完成

主数据库,建表,查看从数据库是否同步。

3.8一些问题

1. 从数据库不要进行写数据操作,影响复制。

2. 出了错的话要看错误日志,在data目录下的一个.err文件,查看【error】级别日志,然后解决就好啦。

3. 如果slave_IO_running connecting 检查IP是否正确,用户名密码是否正确

4. 如果slave_IO_running no,检查数据库版本号,看错误日志

5. 如果slave_SQL_Running no,检查时候进行了写操作,看错误日志

6. SET GLOBAL log_bin_trust_function_creators = 1;

二、mysql安装之后没有my.ini配置文件怎么办

2.1删除MySql服务

打开cmd(记得”使用管理员身份“打开),如果没有配置环境变量,请cd(切换目录)到mysql程序下的bin文件夹下:

运行命令:

C:\Program Files\MySQL\MySQL Server 5.7\bin>net stop mysql57

C:\Program Files\MySQL\MySQL Server 5.7\bin>sc delete mysql57

"MySql57"为服务名称,你的MysSql服务不一定是这个名称,可以打开电脑的服务窗口查看。

删除完成之后,最好去电脑的服务窗口看下,如果找不到MySql57服务,说明已经已经删除成功。

如果还能看到MySql57服务,可以手动右击选择”停止“,服务停止之后就会自动消失了

 

2.2新建my.ini配置文件

在mysql程序的根目录下(默认是:C:\Program Files\MySQL\MySQL Server 5.7),新建一个my.ini空白文件,用记事本打开,将以下内容复制进去,保存:

# For advice on how to change settings please see

# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html

# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the

# *** default location during install, and will be replaced if you

# *** upgrade to a newer version of MySQL.

[client]

default-character-set = utf8mb4

[mysql]

default-character-set = utf8mb4

[mysqld]

character-set-client-handshake = FALSE

character-set-server = utf8mb4

collation-server = utf8mb4_bin

init_connect='SET NAMES utf8mb4'

# Remove leading # and set to the amount of RAM for the most important data

# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.

innodb_buffer_pool_size = 128M

# Remove leading # to turn on a very important data integrity option: logging

# changes to the binary log between backups.

# log_bin

# These are commonly set, remove the # and set as required.

basedir = C:\Program Files\MySQL\MySQL Server 5.7

datadir = C:\Program Files\MySQL\MySQL Server 5.7\data

port = 3306

# server_id = .....

# Remove leading # to set options mainly useful for reporting servers.

# The server defaults are faster for transactions and fast SELECTs.

# Adjust sizes as needed, experiment to find the optimal values.

join_buffer_size = 128M

sort_buffer_size = 16M

read_rnd_buffer_size = 16M

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

其中basedir 和 datadir 根据实际MySql安装的位置进行修改,默认是C:\Program Files\MySQL\MySQL Server 5.7。

2.3重新生成data文件

删除之前生成的data文件,如果有重要的数据表,请先备份好,如果已经有了mrrs数据库,请先备份好

回到cmd,重新生成data文件。运行:

C:\Program Files\MySQL\MySQL Server 5.7\bin>mysqld --initialize-insecure --user=mysql

该命令需要执行大概一分钟左右,完成后会在MySql程序文件夹下重新生成名称为data的文件夹:

 

 

2.4重新安装mysql服务,同时绑定my.ini配置文件

安装MySql服务,同时设置绑定my.ini配置文件。命令:

C:\Program Files\MySQL\MySQL Server 5.7\bin>mysqld --install "MySql57" --defaults-file="C:/Program Files/MySQL/MySQL Server 5.7/my.ini

“MySql57”是服务名称,57表示5.7版本,当然,也可以自己取别的名字。

”..\my.ini“是新建的配置文件的位置,也可以写成绝对路径”C:\Program Files\MySQL\MySQL Server 5.7\\my.ini“。

如果提示安装成功,这时打开电脑的”服务“窗口,可以找到新添加的MySql57服务:

 

2.5启动服务

这里有两种启动服务的方式:

  1. 服务窗口启动
  2. cmd启动

使用管理员权限运行cmd命令行重启mysql,否则直接在服务中重新启动mysql

net start mysql5

如果不成功:

 

这时可能是my.ini配置文件中的某些配置有问题。你可以修改ini文件内容,然后从头按步骤再试一遍。

 

2.6重新设置密码

删除了data文件和服务之后,之前的密码就失效了,所以需要重新设置密码。

2.6.1登陆mysql

命令:

C:\Program Files\MySQL\MySQL Server 5.7\bin>mysql -u root -

这时密码为空,不需要填写,直接回车:

2.6.2修改root用户密码

这里有个需要注意的地方,修改root用户密码为123456的命令是:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'

 如果修改密码不成功不则使用,下面命令:

update mysql.user set authentication_string=password("123456") where user="root";

2.6.3退出MySQL

命令:

mysql> exi

2.6.4 使用修改后的密码重新登陆

这里的命令和之前是一样的,就不写了,密码记得要填刚才设置的,即123456:

现在已经成功绑定了my.ini配置文件了,如果需要自定义配置,可以打开文件进行相应的配置设置,修改后重启服务即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值