MySQL 单机双机主从同步复制备份配置

Posted 树懒学堂

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL 单机双机主从同步复制备份配置相关的知识,希望对你有一定的参考价值。

双机主从备份

数据库版本:mysql 5.6.27
操作系统 :CentOS 7.4
Linux 环境下 MySQL 的配置文件的位置是在 /etc/my.cnf

Master 的配置如下:

log-bin=mysql-bin
server-id=1    :用于标识唯一的数据库
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
binlog-ignore-db=sys
binlog-ignore-db=mysql
binlog-do-db=yzdd 
binlog-ignore-db:表示同步的时候忽略的数据库 
binlog-do-db:指定需要同步的数据库

然后重启 MySQL:service mysqld restart,指定从属账号

GRANT REPLICATION SLAVE ON *.* TO 'root'@'localhost' IDENTIFIED BY '123456'
>FLUSH PRIVILEGES;

Slave 的配置

log-bin=mysql-bin
server-id=3
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
binlog-ignore-db=sys
binlog-ignore-db=mysql
replicate-do-db=yzdd
replicate-ignore-db=mysql
log-slave-updates
slave-skip-errors=all
slave-net-timeout=60
stop slave;  #关闭Slave
change master to master_host='localhost',master_user='root',master_password='dongshang2018',master_log_file='mysql-bin.000004', master_log_pos=28125;
start slave
stop slave;
start slave;
reset master;
reset slave;
show master status;
show slave status \\g;

取消 mysql 的 salve 设置

stop slave;
change master to master_host=' ';
mysql> show slave status \\G
Empty set (0.00 sec)

单机主从备份

TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

解决方法:在 vi /etc/my.cnf 文件中加上:

explicit_defaults_for_timestamp=true

保存后再次启动就可以了。

Windows 下启动多个mysql服务

1、下载mysql免安装版,在D,E盘分别复制一份解压

2、进入解压的mysql目录,自己下载的MySQL-server-5.5,进入 MySQL-server-5.5 目录,打开 my.ini 配置文件,在配置文件中找到如下配置项进行更改: D 盘下的MySQL-server:

[client]
port=3306

The TCP/IP Port the MySQL Server will listen on
port=3306
#Path to installation directory. All paths are usually resolved relative to this.
basedir="D:\\MySQL-Server-5.5"
#Path to the database root
datadir="D:\\MySQL-Server-5.5\\data"

E 盘下的MySQL-server:

[client]
port=3307

The TCP/IP Port the MySQL Server will listen on
port=3307
#Path to installation directory. All paths are usually resolved relative to this.
basedir="E:\\MySQL-Server-5.5"
#Path to the database root
datadir="E:\\MySQL-Server-5.5\\data"

port 端口默认为 3306,可以保持一个 mysql 服务为默认端口,如 D 盘中的 mysql 配置文件中 port 配置项不进行修改,只修改 E 盘中的 port 配置(但 basedir 和 datadir这两项都必须修改成相应目录下的路径,如:D 盘修改为:basedir="D:\\MySQL-Server-5.5" 和 datadir="D:\\MySQL-Server-5.5\\data"

3、打开 cmd 命令界面,分别使用命令进入对应mysql目录,如进入 D:\\MySQL-server-5.5\\bin 输入命令:

mysqld -install mysql3307 --defaults-file="F:\\mysql3307\\my.ini"

提示:Service successfully installed.表示服务已经安装成功 如进入 E:\\MySQL-server-5.5\\bin 目录,输入命令:

mysqld -install mysql3307 --defaults-file="D:\\SOFT_php_PACKAGE\\mysql3307\\my.ini"

提示:Service successfully installed. 表示服务已经安装成功

4、打开“运行” 输入“regedit” 打开注册表,依次展开 HKEY_LOCAL_MACHINE—>SYSTEM—>CurrentControlSet—>services,找到上面安装的 MySQL 和 MySQL2 服务,修改参数 ImagePath值:

MySQL修改为:D:\\MySQL-Server-5.5\\bin\\mysqld --defaults-file=D:\\MySQL-Server-5.5\\my.ini MySQL
MySQL2修改为:E:\\MySQL-Server-5.5\\bin\\mysqld --defaults-file=E:\\MySQL-Server-5.5\\my.ini MySQL2

5、启动服务,可以在 cmd 界面输入命令:net start MySQL 来启动 MySQL 服务,也可以在 “运行” 里面输入 “services.msc” 打开服务面板,找到 MySQL 右击启动

6,此时登入MySQL是会报错

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

尝试修改root用户密码

打开 my.ini,找到 [mysqld] 在下面添加

skip-grant-tables

此时使用root账号,密码处按回车即可登录,然后修改密码:

UPDATE user SET Password=PASSWORD('123456') where USER='root';
mysql> FLUSH PRIVILEGES;

或者进入 E:\\MySQL-server-5.5\\bin 目录
执行 mysqladmin -u root password 123456

Change Master to
Master_host='localhost',
Master_port=3306,
Master_user='root',
Master_Password='123456';

了解更多数据库知识,点击全文链接:https://www.shulanxt.com/doc/mysqldoc/djsj

以上是关于MySQL 单机双机主从同步复制备份配置的主要内容,如果未能解决你的问题,请参考以下文章

Linux安装MongoDB双机热备份(主从复制)

Mycat+Mysql主从复制实现双机热备

mysql主从双机复制备份

Mysql/MariaDB配置主从复制备份

Mysql主从同步(复制)

centos7下mysql5.6.30配置单机多实例主从半同步复制