linux mysql 主从数据库_【Linux】【MySQL】MySQL主从数据库
系统环境: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主从数据库相关推荐
- mysql slave 配置_【mysql5.6】 数据库主从(Master/Slave)配置记录
freddon 发表于2018-04-01 阅读 661 | 评论 0 前一段时间迫于服务器的捉急内存,将redis数据库停掉了,鉴于redis的主从配置,在centos配置下mysql记录下过程. ...
- linux mysql依赖关系_[Linux]-MySQL主从复制
MySQL支持的复制类型: 1) 基于语句的复制.在主服务器上执行的SQL语句,在从服务器上执行同样的语句.MySQL默认采用基于语句的复制,效率比较高: 2) 基于行的复制.把改变的内容复制过去,而 ...
- mysql 新增从数据库_从零开始学 MySQL - 创建数据库并插入数据
目录 1.实验内容 2.实验知识点 3.开发准备 4.实验总结 1.实验内容 本次课程将介绍 MySQL 新建数据库,新建表,插入数据以及基本数据类型的相关知识.本节实验将创建一个名为 mysql_s ...
- 监控mysql锁定状态_企业实战Mysql不停机维护主从同步
实战环境: Mysql-5.7 Xtrabackup-2.4 Xtrabackup 介绍: Percona XtraBackup是一款基于MySQL的服务器的开源热备份实用程序,在备份过程中不会锁定数 ...
- 怎么监控mysql数据变化_实时监控mysql数据库变化
对于二次开发来说,很大一部分就找找文件和找数据库的变化情况 对于数据库变化.还没有发现比较好用的监控数据库变化监控软件. 今天,我就给大家介绍一个如何使用mysql自带的功能监控数据库变化 1.打开数 ...
- mysql序列号生成_值得一看!数据库及Mysql入门,附详细安装教程
#什么是数据 用来描述事物的符号记录.可以是数字.文字.图形等,有多种形式,经过数字化之后存入计算机 #什么是数据库 数据库(Database)就是一个用来存放数据库的仓库,是按照一定的数据结构来组织 ...
- 怎么重启网站mysql数据库_如何重启MySQL数据库服务
服务器的启动和停止 停止:net stop mysql 启动:net start mysql -------------------------mysql mode相关问题-------------- ...
- mysql 备份压缩数据库_备份压缩mysql 数据库
适用于Linux平台下的一个定时备份压缩数据库代码 压缩备份Mysql数据库 #!/bin/bash shijie=`date +%Y%m%d` backRenRenDb=renren_minishi ...
- 获取阿里云mysql实例名称_阿里云如何获取数据库名字
全网最新活动请看下方内容或右侧内容! --------------- 阿里云如何获取数据库名字,阿里云服务器回滚数据库. 对于大多数小型或初期项目来说,我们可能常用的做法是先将web.数据库全部安装在 ...
- mysql怎么用_如何使用MySQL数据库
如何使用MySQL数据库 前言:前面我们已经了解了如何搭建MySQL数据库,那么接下来我们就一起来了解一下,如何使用MySQL数据库. MySQL数据库系统也是一个典型的C/S(客户端/服务器)架构应 ...
最新文章
- JProfiler远程监控Linux上Tomcat的安装过程细讲(步骤非常详细!!!)
- 分享做LOGO 的方法和思维方式 -liuleihai
- 【操作】鼠标hover效果——元素凸起并产生阴影
- JavaFX图表(八)之堆积条形图
- Redis与Memcache的区别
- 树莓派(Raspberry Pi)搭建简单的lamp服务
- 利用对象思想来绘制canvas帧动画
- ElementUI:input表单验证
- hdu acmsteps 2.1.3 Cake
- VMware安装CentOS 7.0 Fail to start media check on /dev/sr0
- Sublime 中文命名乱码(显示为方框)
- java 判断今天_java判断日期是否是今天
- 人可以活得更用力一些
- 联想台式计算机亮度怎么调,台式联想电脑亮度在哪里调(手把手教你调电脑亮度)...
- django踩坑关于django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty.
- HTML之基础篇--陈小沫
- win10共享打印机怎么设置_win10系统设置共享打印机的方法步骤
- 实验5 卷积神经网络实验
- Android数据库与ContentProvider
- 【matlab 官方刷题网站cody】题目解答积累
热门文章
- Spring Boot 整合携程Apollo 配置中心
- Java中 volatile 关键字的最全总结,赶快给自己查缺补漏吧!
- Java 继承学习笔记
- oracle中命令,oracle中常用命令汇总(一)
- Example of Zookeeper and Solr cluster with Docker networking
- Linux 文件与目录管理 | 菜鸟笔记收录
- ovs加dpdk出现EAL No free hugepages reported in hugepages-1048576kB
- python docker库
- android开发:input类型
- 隐马尔可夫模型(五)——隐马尔可夫模型的解码问题(维特比算法)