mysql主从搭建

mysql主从搭建

环境:ubuntu20.04.1,mysql:8.0.22。
主:192.168.87.3
备:192.168.87.6

安装数据库

sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev

数据库配置

设置数据库密码

首次安装后,使用 sudo mysql -uroot -p直接进入,更改root密码操作如下:

use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
FLUSH PRIVILEGES;

主库设置

  1. 配置 /etc/mysql/mysql.conf.d/mysqld.cnf如下:
[mysqld]

user        = mysql
pid-file    = /var/run/mysqld/mysqld.pid
socket  = /var/run/mysqld/mysqld.sock
port        = 3306
datadir = /var/lib/mysql

bind-address        = 192.168.87.3 # 本机ip
mysqlx-bind-address = 127.0.0.1

key_buffer_size     = 16M

myisam-recover-options  = BACKUP

max_connections        = 1000

log_error = /var/log/mysql/error.log

server-id       = 1
log_bin         = /var/log/mysql/mysql-bin.log
max_binlog_size   = 100M
binlog_do_db          = test
binlog_ignore_db      = mysql
binlog_format = row
sync_binlog = 1
innodb_flush_log_at_trx_commit = 1
  1. 更改完后重启数据库
systemctl restart mysql.service
  1. 创建同步账号
CREATE USER 'sync'@'192.168.87.6' IDENTIFIED WITH mysql_native_password BY 'sync';
grant replication slave on *.* to 'sync'@'192.168.87.6';

192.168.87.6为从数据库的IP。
4. 查看配置是否生效

mysql主从搭建
5. 创建数据快照
mysqldump --all-databases --master-data > dbdump.db

–master-data这个选项会自动加上CHANGE_MASTER_TO给从机来开始复制过程。在备份时使用 –databases(备份特定的数据库)和 –ignore-tables(排除备份特定的表) 选项,各个数据库和表名之间用空格隔开。

设置远程访问

use mysql;
update user set host='%' where user = 'root';
FLUSH PRIVILEGES;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

如果此时仍无法访问,查看防火墙是否关闭。关闭命令:

sudo ufw disable

或者开放3306端口号。

从数据库配置

  1. 配置 /etc/mysql/mysql.conf.d/mysqld.cnf如下:
[mysqld]

user        = mysql
pid-file    = /var/run/mysqld/mysqld.pid
socket  = /var/run/mysqld/mysqld.sock
port        = 3306
datadir = /var/lib/mysql

bind-address        = 192.168.87.6
mysqlx-bind-address = 127.0.0.1
key_buffer_size     = 16M

myisam-recover-options  = BACKUP

log_error = /var/log/mysql/error.log

server-id       = 2
log_bin         = /var/log/mysql/mysql-bin.log
binlog_expire_logs_seconds  = 2592000
max_binlog_size   = 100M
binlog_do_db        = test
binlog_ignore_db    = mysql
  1. 同步数据 在主库上dump的文件scp到从库上,然后登录mysql并执行如下命令:
set sql_log_bin=0;
source /home/shitianming/Documents/dbdump.db
  1. 配置slave
CHANGE MASTER TO
MASTER_HOST='192.168.87.3',
MASTER_USER='sync',
MASTER_PASSWORD='sync',
MASTER_PORT=3306,
MASTER_LOG_FILE='mysql-bin.000003',
MASTER_LOG_POS=730;

上述参数在主库的mysql客户端上运行 show master status可看到。
4. 进行测试 在主库的 test数据库里添加数据,在从库上看到是否同步。

参考

Original: https://www.cnblogs.com/shitianming/p/16739989.html
Author: 天山琴子
Title: mysql主从搭建

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/598662/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 浅谈多线程中数据的绑定和赋值

    我们知道,微软的.NET控件做了大量的工作,用起来还是不错的,一般的数据绑定或者赋值比较简单。如下所示 文本赋值: txtTest.Text = “abc”…

    数据库 2023年6月11日
    065
  • sqlserver 分列

    sql server 数据库中某张表(Person)的数据信息是: Address 1 平山花园-4单元-12幢-203 2 香山花园-3单元-22幢-304 现在有需求是,将地址…

    数据库 2023年6月11日
    080
  • redis 从安装到实现远程连接–centos7下

    Java 端配置 上面的配置完成后,我们可以创建一个普通的 JavaSE 工程来测试下了,Java 工程创建成功后,添加 Jedis 依赖,如下 然后我们可以通过如下一个简单的程序…

    数据库 2023年6月16日
    082
  • js前端-登录js脚本

    html部分 登录 登录 js部分 js文件开头用分号”;”的原因:为了多个JS文件合并压缩的时候防止文件之间没有;分隔导致错误 ; let user_lo…

    数据库 2023年6月9日
    096
  • [LeetCode]27. 移除元素

    给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原…

    数据库 2023年6月9日
    064
  • SQLZOO练习7–Using NULL

    teacher表: iddeptnamephonemobile 101 1 Shrivell 2753 07986 555 1234 102 1 Throd 2754 07122 …

    数据库 2023年6月16日
    064
  • Maven常用命令

    一、Maven常用命令及其介绍 mvn clean 对项目进行清理,删除target目录下编译的内容 mvn compile 编译项目源代码 mvn test 对项目进行运行测试 …

    数据库 2023年6月16日
    088
  • MySQL 8.0 新特性梳理汇总

    一 历史版本发布回顾 从上图可以看出,基本遵循 5+3+3 模式 5—GA发布后,5年 就停止通用常规的更新了(功能不再更新了); 3—企业版的,+3年功能…

    数据库 2023年6月16日
    081
  • 百度我为你伤心

    9月9日 我写了一篇文章,原名:事务方块,后改名:事务的本质和死锁的原理 9月10日23点 我突然发现,这个原创文章被转载盗贴,可气的是都没有记录原创地址 早上我查了一下搜索引擎排…

    数据库 2023年6月9日
    091
  • SQL练习六–More JOIN operations

    Field nameTypeNotes id INTEGER An arbitrary unique identifier title CHAR(70) The name of t…

    数据库 2023年6月16日
    081
  • 如何实现跨域?

    https://blog.csdn.net/meism5/article/details/90414283 Original: https://www.cnblogs.com/cr…

    数据库 2023年6月16日
    086
  • java crm 进销存 模块设计方案

    主页: 记录总进货额、总销售额、总销售利润、30天内销售金额统计总客户数、30天新增客户数图表统计(折线图和柱状图)展示从当前月份开始前12个月销售情况1. 客户资料:记录客户资料…

    数据库 2023年6月6日
    092
  • 适用于顺序磁盘访问的1分钟法则

    预备知识梳理 本文中设定 block size 与 page size 大小相等。 什么是 Block 文章的开始先解释一下,磁盘的数据读写是以扇区 (sector) 为单位的,而…

    数据库 2023年6月14日
    096
  • Atlassian Confluence 6.15.5 添加甘特图

    Atlassian Confluence 6.15.5 添加甘特图 Atlassian Confluence 编辑模式 工具栏 “+”→其它宏→视觉&amp…

    数据库 2023年6月9日
    082
  • 回溯问题学习总结

    回溯问题 三种情况 每种情况都有子集,组合,排列三种题型 无重复元素不可复选 //子集问题 …

    数据库 2023年6月16日
    084
  • H5、C3基础知识笔记

    HTML5 本文内容参考于”HTML5|W3scool”教程 简介 是最新的 HTML 标准,拥有新的语义、图形以及多媒体元素 提供了新的 API 简化了 …

    数据库 2023年6月11日
    0105
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球