MySQL 单机双机主从同步复制备份配置
原文链接:https://www.shulanxt.com/doc/mysqldoc/djsj
双机主从备份
数据库版本: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';
点击下方“阅读原文”,查看更多精彩内容!