系统环境:Centos7

主:192.168.8.162

从:192.168.8.127

前提条件

a.关闭防火墙

systemctl stop firewalld

关闭防火墙开机自启

systemctl disable firewalld

b.关闭selinux

vi /etc/selinux/config

将SELINUX=enforcing改为SELINUX=disabled

设置后需要重启才能生效

首先两台数据库安装mysql8.0

1.查看本机是否安装mariadb

3.安装mysql8.0的yum源

yum -y install https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

执行 yum search mysql  如果出现 mysql-community-server.x86_64 则安装源成功

4.安装mysql8.0

yum -y install mysql-community-server.x86_64

5.启动mysql

systemctl start mysqld

开机自启:systemctl enable mysqld

6.查看mysql版本

mysql -V

7.设置mysql密码

cat /var/log/mysqld.log

!/dChNphO81E  mysql随机生成的密码

修改密码

mysqladmin -u root -p password

9.主库配置

创建一个复制用户,授予用户 slave REPLICATION SLAVE权限和REPLICATION CLIENT权限,用于在主从库之间同步数据。

mysql -uroot -p

USE mysql;

CREATE USER slave IDENTIFIED BY 'Slave@123';

GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';

FLUSH PRIVILEGES;

vi /etc/my.cnf

添加

server-id=162

log-bin=/var/lib/mysql/mysql-bin

重启数据库

systemctl restart mysqld

连接数据库

mysql -uroot -p

查看日志情况

SHOW MASTER STATUS;

记录下File和Position的值

10.从库配置

vi /etc/my.cnf

添加 server-id=127

重启数据库

systemctl restart mysqld

连接数据库

mysql -uroot -p

停止主从

stop slave

从数据连接主数据库:

change master to master_host='192.168.8.162', master_user='slave', master_password='Slave@123', master_port=3306, master_log_file='mysql-bin.000002', master_log_pos= 1013, master_connect_retry=30;

host、user、password、port为主库的ip、用户名和密码、端口

master_log_file为从主库哪个日志读数据即上文中的File

master_log_pos为从哪里开始读即上文中的Position

master_connect_retry为超时重试时间

开始主从

start slave

查看同步状态

show slave status \G;

SlaveIORunning 和 SlaveSQLRunning 都是Yes说明主从复制已经开启。

若 Slave_IO_Running为Connecting可能是mysql8的密码规则问题

主数据库修改slave的密码规则即可:

ALTER USER 'slave'@'%' IDENTIFIED WITH mysql_native_password BY 'Slave@123';

mysql>stop slave;

Query OK,0 rows affected (0.00sec)

mysql> change master to master_host='192.168.8.162', master_user='slave', master_password='Slave@123', master_port=3306, master_log_file='mysql-bin.000002', master_log_pos= 1013, master_connect_retry=30;

Query OK,0 rows affected, 2 warnings (0.01sec)

mysql>show slave statu \G;

ERROR1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'statu' at line 1ERROR:

No query specified

mysql>show slave status \G;*************************** 1. row ***************************Slave_IO_State:

Master_Host:192.168.8.162Master_User: slave

Master_Port:3306Connect_Retry:30Master_Log_File: mysql-bin.000002Read_Master_Log_Pos:1013Relay_Log_File: localhost-relay-bin.000001Relay_Log_Pos:4Relay_Master_Log_File: mysql-bin.000002Slave_IO_Running: No

Slave_SQL_Running: No

Replicate_Do_DB:

Replicate_Ignore_DB:

Replicate_Do_Table:

Replicate_Ignore_Table:

Replicate_Wild_Do_Table:

Replicate_Wild_Ignore_Table:

Last_Errno:0Last_Error:

Skip_Counter:0Exec_Master_Log_Pos:1013Relay_Log_Space:155Until_Condition: None

Until_Log_File:

Until_Log_Pos:0Master_SSL_Allowed: No

Master_SSL_CA_File:

Master_SSL_CA_Path:

Master_SSL_Cert:

Master_SSL_Cipher:

Master_SSL_Key:

Seconds_Behind_Master: NULL

Master_SSL_Verify_Server_Cert: No

Last_IO_Errno:2061Last_IO_Error: error connecting to master'slave@192.168.8.162:3306' - retry-time: 30 retries: 5 message: Authentication plugin 'caching_sha2_password'reported error: Authentication requires secure connection.

Last_SQL_Errno:0Last_SQL_Error:

Replicate_Ignore_Server_Ids:

Master_Server_Id:0Master_UUID:

Master_Info_File: mysql.slave_master_info

SQL_Delay:0SQL_Remaining_Delay: NULL

Slave_SQL_Running_State:

Master_Retry_Count:86400Master_Bind:

Last_IO_Error_Timestamp:190912 11:02:03Last_SQL_Error_Timestamp:

Master_SSL_Crl:

Master_SSL_Crlpath:

Retrieved_Gtid_Set:

Executed_Gtid_Set:

Auto_Position:0Replicate_Rewrite_DB:

Channel_Name:

Master_TLS_Version:

Master_public_key_path:

Get_master_public_key:0Network_Namespace:1 row in set (0.00sec)

ERROR:

No query specified

mysql>start slave;

Query OK,0 rows affected (0.01sec)

mysql>show slave status \G;*************************** 1. row ***************************Slave_IO_State: Waitingfor master to send eventMaster_Host:192.168.8.162Master_User: slave

Master_Port:3306Connect_Retry:30Master_Log_File: mysql-bin.000002Read_Master_Log_Pos:1013Relay_Log_File: localhost-relay-bin.000002Relay_Log_Pos:322Relay_Master_Log_File: mysql-bin.000002Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Replicate_Do_DB:

Replicate_Ignore_DB:

Replicate_Do_Table:

Replicate_Ignore_Table:

Replicate_Wild_Do_Table:

Replicate_Wild_Ignore_Table:

Last_Errno:0Last_Error:

Skip_Counter:0Exec_Master_Log_Pos:1013Relay_Log_Space:534Until_Condition: None

Until_Log_File:

Until_Log_Pos:0Master_SSL_Allowed: No

Master_SSL_CA_File:

Master_SSL_CA_Path:

Master_SSL_Cert:

Master_SSL_Cipher:

Master_SSL_Key:

Seconds_Behind_Master:0Master_SSL_Verify_Server_Cert: No

Last_IO_Errno:0Last_IO_Error:

Last_SQL_Errno:0Last_SQL_Error:

Replicate_Ignore_Server_Ids:

Master_Server_Id:162Master_UUID: 0d26dbd8-d501-11e9-9f3d-000c29e24dcf

Master_Info_File: mysql.slave_master_info

SQL_Delay:0SQL_Remaining_Delay: NULL

Slave_SQL_Running_State: Slave has read all relay log; waitingformore updates

Master_Retry_Count:86400Master_Bind:

Last_IO_Error_Timestamp:

Last_SQL_Error_Timestamp:

Master_SSL_Crl:

Master_SSL_Crlpath:

Retrieved_Gtid_Set:

Executed_Gtid_Set:

Auto_Position:0Replicate_Rewrite_DB:

Channel_Name:

Master_TLS_Version:

Master_public_key_path:

Get_master_public_key:0Network_Namespace:1 row in set (0.00sec)

ERROR:

No query specified

11.测试主从数据库

主库创建test数据库

create database test;

测试完成!

如果想只同步某一个数据库

可以在主库的my.cnf

添加

binlog-do-db:binlog日志记录哪个db

或者在从库的my.cnf添加

replicate-do-db:需要复制的数据库名

replicate-ignore-db:不需要复制的数据库名

linux mysql 主从数据库_【Linux】【MySQL】MySQL主从数据库相关推荐

  1. mysql slave 配置_【mysql5.6】 数据库主从(Master/Slave)配置记录

    freddon 发表于2018-04-01 阅读 661 | 评论 0 前一段时间迫于服务器的捉急内存,将redis数据库停掉了,鉴于redis的主从配置,在centos配置下mysql记录下过程. ...

  2. linux mysql依赖关系_[Linux]-MySQL主从复制

    MySQL支持的复制类型: 1) 基于语句的复制.在主服务器上执行的SQL语句,在从服务器上执行同样的语句.MySQL默认采用基于语句的复制,效率比较高: 2) 基于行的复制.把改变的内容复制过去,而 ...

  3. mysql 新增从数据库_从零开始学 MySQL - 创建数据库并插入数据

    目录 1.实验内容 2.实验知识点 3.开发准备 4.实验总结 1.实验内容 本次课程将介绍 MySQL 新建数据库,新建表,插入数据以及基本数据类型的相关知识.本节实验将创建一个名为 mysql_s ...

  4. 监控mysql锁定状态_企业实战Mysql不停机维护主从同步

    实战环境: Mysql-5.7 Xtrabackup-2.4 Xtrabackup 介绍: Percona XtraBackup是一款基于MySQL的服务器的开源热备份实用程序,在备份过程中不会锁定数 ...

  5. 怎么监控mysql数据变化_实时监控mysql数据库变化

    对于二次开发来说,很大一部分就找找文件和找数据库的变化情况 对于数据库变化.还没有发现比较好用的监控数据库变化监控软件. 今天,我就给大家介绍一个如何使用mysql自带的功能监控数据库变化 1.打开数 ...

  6. mysql序列号生成_值得一看!数据库及Mysql入门,附详细安装教程

    #什么是数据 用来描述事物的符号记录.可以是数字.文字.图形等,有多种形式,经过数字化之后存入计算机 #什么是数据库 数据库(Database)就是一个用来存放数据库的仓库,是按照一定的数据结构来组织 ...

  7. 怎么重启网站mysql数据库_如何重启MySQL数据库服务

    服务器的启动和停止 停止:net stop mysql 启动:net start mysql -------------------------mysql mode相关问题-------------- ...

  8. mysql 备份压缩数据库_备份压缩mysql 数据库

    适用于Linux平台下的一个定时备份压缩数据库代码 压缩备份Mysql数据库 #!/bin/bash shijie=`date +%Y%m%d` backRenRenDb=renren_minishi ...

  9. 获取阿里云mysql实例名称_阿里云如何获取数据库名字

    全网最新活动请看下方内容或右侧内容! --------------- 阿里云如何获取数据库名字,阿里云服务器回滚数据库. 对于大多数小型或初期项目来说,我们可能常用的做法是先将web.数据库全部安装在 ...

  10. mysql怎么用_如何使用MySQL数据库

    如何使用MySQL数据库 前言:前面我们已经了解了如何搭建MySQL数据库,那么接下来我们就一起来了解一下,如何使用MySQL数据库. MySQL数据库系统也是一个典型的C/S(客户端/服务器)架构应 ...

最新文章

  1. JProfiler远程监控Linux上Tomcat的安装过程细讲(步骤非常详细!!!)
  2. 分享做LOGO 的方法和思维方式 -liuleihai
  3. 【操作】鼠标hover效果——元素凸起并产生阴影
  4. JavaFX图表(八)之堆积条形图
  5. Redis与Memcache的区别
  6. 树莓派(Raspberry Pi)搭建简单的lamp服务
  7. 利用对象思想来绘制canvas帧动画
  8. ElementUI:input表单验证
  9. hdu acmsteps 2.1.3 Cake
  10. VMware安装CentOS 7.0 Fail to start media check on /dev/sr0
  11. Sublime 中文命名乱码(显示为方框)
  12. java 判断今天_java判断日期是否是今天
  13. 人可以活得更用力一些
  14. 联想台式计算机亮度怎么调,台式联想电脑亮度在哪里调(手把手教你调电脑亮度)...
  15. django踩坑关于django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty.
  16. HTML之基础篇--陈小沫
  17. win10共享打印机怎么设置_win10系统设置共享打印机的方法步骤
  18. 实验5 卷积神经网络实验
  19. Android数据库与ContentProvider
  20. 【matlab 官方刷题网站cody】题目解答积累

热门文章

  1. Spring Boot 整合携程Apollo 配置中心
  2. Java中 volatile 关键字的最全总结,赶快给自己查缺补漏吧!
  3. Java 继承学习笔记
  4. oracle中命令,oracle中常用命令汇总(一)
  5. Example of Zookeeper and Solr cluster with Docker networking
  6. Linux 文件与目录管理 | 菜鸟笔记收录
  7. ovs加dpdk出现EAL No free hugepages reported in hugepages-1048576kB
  8. python docker库
  9. android开发:input类型
  10. 隐马尔可夫模型(五)——隐马尔可夫模型的解码问题(维特比算法)