内网搭建mysql8.0并搭建主从复制详细教程!!!

一、安装mysql

1.1 mysql下载链接:

https://downloads.mysql.com/archives/community/

在这里插入图片描述

1.2 解压包并创建相应的数据目录

tar -xvf mysql-8.2.0-linux-glibc2.28-x86_64.tar.xz -C /usr/local
cd /usr/local/
mv mysql-8.2.0-linux-glibc2.28-x86_64/ mysql
mkdir /usr/local/mysql/data/
groupadd mysql
useradd mysql -g mysql
chown -R mysql:mysql /usr/local/mysql

在这里插入图片描述

1.3 添加配置文件

vim my.cnf [client]
port	= 3306
socket	= /usr/local/mysql/mysql.sock[mysql]
prompt = "\u@mysqldb \R:\m:\s [\d]> "
no_auto_rehash
loose-skip-binary-as-hex[mysqld]
user	= mysql
port	= 3306
#主从复制或MGR集群中,server_id记得要不同
#另外,实例启动时会生成 auto.cnf,里面的 server_uuid 值也要不同
#server_uuid的值还可以自己手动指定,只要符合uuid的格式标准就可以
server_id = 3306
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
socket	= /usr/local/mysql/mysql.sock
pid-file = /var/run/mysqld/mysqld.pid
character_set_server = UTF8MB4
skip_name_resolve = 1
# 不区分大小写
lower_case_table_names=1#log settings
log_timestamps = SYSTEM
log-error = /var/log/mysqld.log
log_error_verbosity = 3
slow_query_log = 1
log_slow_extra = 1
log_slave_updates=1 # 事务记录到binlog,否则无法开启并发复制
long_query_time = 0.1
log_queries_not_using_indexes = 1
log_throttle_queries_not_using_indexes = 60
min_examined_row_limit = 100
log_slow_admin_statements = 1
log_slow_slave_statements = 1
log_bin = binlog
binlog_format = ROW
sync_binlog = 1 #MGR环境中由其他节点提供容错性,可不设置双1以提高本地节点性能
binlog_cache_size = 4M
max_binlog_cache_size = 2G
max_binlog_size = 1G
binlog_rows_query_log_events = 1
binlog_expire_logs_seconds = 604800
#MySQL 8.0.22前,想启用MGR的话,需要设置binlog_checksum=NONE才行
# binlog_checksum = CRC32
gtid_mode = ON
enforce_gtid_consistency = TRUE#myisam settings
key_buffer_size = 32M
myisam_sort_buffer_size = 128M[mysqldump]
quick

1.4 初始化mysql

cd /usr/local/mysql/bin/./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --user=mysql --initialize

1.5 启动mysql

#将mysql启动脚本拷贝到系统目录
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
#将mysql加到启动服务列表
chkconfig --add mysql
#开机启动
chkconfig mysql on
#启动mysql
service mysql start如果遇到报错:
Starting MySQL...... ERROR! The server quit without updating PID file (/var/run/mysqld/mysqld.pid).
解决:
mkdir /var/run/mysqld
chown -R mysql:mysql /var/run/mysqld
service mysql start     #启动之后看到SUCCESS,可以查看端口和进程确保正常

1.6 查看初始化的密码,修改root密码

查看密码
cat /var/log/mysqld.log | grep password | grep root@localhost
修改密码
/usr/local/mysql/bin/mysqladmin -u root -p'lu7&uMfsK(Rs'  password 'root'
ln -s /usr/local/mysql/bin/mysql /usr/bin 
​mysql -uroot proot 
Enter password:

二、mysql主从复制搭建

2.1 两台机器配置解析

vim /etc/hosts
172.26.21.26 jtkl-ext-mysql1
172.26.21.27 jtkl-ext-mysql2

2.2 主库上操作

vim /etc/my.cnf
[mysqld]
log-bin=/var/log/mysql/mysql-bin   #添加此配置
server-id=26                       #修改server-id 3306--->26

创建完日志目录、授权之后重启服务

mkdir /var/log/mysql
chown mysql.mysql /var/log/mysql
service mysql stop
service mysql start
mysql -uroot -proot

执行sql

mysql> CREATE USER 'mysql'@'%'  identified by 'mysql';
mysql> GRANT REPLICATION SLAVE ON *.*  TO  'mysql'@'%';
mysql> flush privileges;
mysql> show master status\G   #记录File和Positoin后面的内容

在这里插入图片描述

2.3 从库上操作

vim /etc/my.cnf
[mysqld]
server-id=27              #修改server-id 3306--->27

重启服务

service mysql stop
service mysql start
​mysql -uroot proot 
mysql> \e
粘贴以下内容:根据实际修改并删除注释CHANGE MASTER TO
MASTER_HOST='jtkl-ext-mysql1',    #修改为master的主机名
MASTER_USER='mysql',              #主库上创建的用户
MASTER_PASSWORD='mysql',          #用户密码
MASTER_LOG_FILE='binlog.000005',  #主库上show master status\G显示的file的内容
MASTER_LOG_POS=702;               #主库上show master status\G显示到Positoin的内容以上内容wq保存,退出后
-> ;mysql> start slave;
mysql> show slave status\G   #查看双yes,则成功。否则失败

在这里插入图片描述

2.4 测试:

主库执行
mysql> create database test;
从库查看:
mysql> show databases;

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/501590.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

纯css实现-让字符串在文字少时显示为居中对齐,而在文字多时显示为左对齐

纯css实现-让字符串在文字少时显示为居中对齐,而在文字多时显示为左对齐 使用flex实现 思路 容器样式(.container): Flex容器的BFC性质使得其内部的子元素(.text-box)在水平方向上能够居中,通过justify-c…

《TCP/IP详解 卷一》第9章 广播和组播

目录 9.1 引言 9.2 广播 9.2.1 使用广播地址 9.2.2 发送广播数据报 9.3 组播 9.3.1 将组播IP地址转换为组播MAC地址 9.3.2 例子 9.3.3 发送组播数据报 9.3.4 接收组播数据报 9.3.5 主机地址过滤 9.4 IGMP协议和MLD协议 9.4.1 组成员的IGMP和MLD处理 9.4.2 组播路由…

如何实现WordPress后台显示文章、分类目录、标签等的ID?

我们平时在使用WordPress的过程中,偶尔需要用到文章的ID,或分类目录ID,或标签ID,或媒体库ID,或评论ID,或用户ID等,但是WordPress后台默认是不显示它们的ID的。 今天boke112百科就跟大家分享如何…

c语言经典测试题8

在c语言经典测试题6的第一题,大家是否想过可不可以将递归参数改为s呢?或许有的人已经试过了,但是发现好像不会有结果,其实是因为s为后置,先试用后加1,然而我们这个是在s出了函数之后才会运行加1操作&#x…

新版极狐gitlab安装+配置详细版

这里安装的服务器环境是centos7.9系统,安装极狐版本16.9。 极狐地址:https://gitlab.cn/install/ 1. 安装和配置所需的依赖 在 CentOS 7 上,下面的命令会在系统防火墙中打开 HTTP、HTTPS 和 SSH 访问。这是一个可选步骤,如果您…

【Linux C | 网络编程】getaddrinfo 函数详解及C语言例子

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…

生成式 AI - Diffusion 模型的数学原理(5)

来自 论文《 Denoising Diffusion Probabilistic Model》(DDPM) 论文链接: https://arxiv.org/abs/2006.11239 Hung-yi Lee 课件整理 讲到这里还没有解决的问题是,为什么这里还要多加一个噪声。Denoise模型算出来的是高斯分布的均…

【Leetcode每日一刷】哈希表|纲领、242.有效的字母异位词、349. 两个数组的交集

纲领 🔗代码随想录理论部分 关于哈希表这个数据结构就不再重复讲了,下面对几个关键点记录一下: 哈希碰撞 解决方法1:拉链法 解决方法2:线性探测法 下面针对做题要用到的三种结构讲一下(也是重复造轮子了…

Spring AI上架,打造专属业务大模型,AI开发再也不是难事!

Spring AI 来了 Spring AI 是 AI 工程师的一个应用框架,它提供了一个友好的 API 和开发 AI 应用的抽象,旨在简化 AI 应用的开发工序。 提供对常见模型的接入能力,目前已经上架 https://start.spring.io/,提供大家测试访问。&…

Docker技术概论(1):Docker与虚拟化技术比较

Docker技术概论(1) Docker与虚拟化技术比较 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https:…

cpp基础学习笔记03:类型转换

static_cast 静态转换 用于类层次结构中基类和派生类之间指针或者引用的转换。up-casting (把派生类的指针或引用转换成基类的指针或者引用表示)是安全的;down-casting(把基类指针或引用转换成子类的指针或者引用)是不安全的。用于基本数据类型之间的转换&#xff…

XUbuntu22.04之如何找到.so库所在的软件包?(二百一十六)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…