Mysql主从搭建

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: jdk安装https://www.cnblogs.com/yjlch1016/p/8900841.html 下载mysql版本5.6建议到mysql官方下载:https://dev.mysql.com/downloads/mysql/5.6.html#downloads我的百度网盘也可下载:https://pan.baidu.com/s/1etS7z8CsRlyb_FlLSErxYA 提取码:f

jdk安装
https://www.cnblogs.com/yjlch1016/p/8900841.html

下载mysql版本5.6
建议到mysql官方下载:https://dev.mysql.com/downloads/mysql/5.6.html#downloads
我的百度网盘也可下载:https://pan.baidu.com/s/1etS7z8CsRlyb_FlLSErxYA
提取码:ff64
文件名为:mysql-5.6.12-linux-glibc2.5-x86_64.tar.gz

添加用户mysql和组myGroup
> useradd mysql

> groupadd myGroup

> usermod -G myGroup mysql

初始化mysql用户名密码:
> passwd mysql

解压mysql
下载好的文件存储到到/usr/local/目录
> tar -zxvf mysql-5.6.12-linux-glibc2.5-x86_64.tar.gz

重命名目录(命名为:mysql)
> cd /usr/local

>mv mysql-5.6.12-linux-glibc2.5-x86_64 mysql

改变目录权限
>chown -R mysql:myGroup /usr/local/mysql

注意:-R参数表示递归改变,也即子目录的权限同样改变

安装mysql
>/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

有的时候第一次安装可能失败,第二次安装就成功了。
/etc/my.cnf配置内容:
在这里插入图片描述
/usr/local/mysql/my.cnf配置内容:

在这里插入图片描述

注意:安装过程可能出现错误,需要分析逐一解决,常见错误有:
1、提示:Can't locate Data/Dumper.pm
解决方法:https://blog.csdn.net/zhengwei125/article/details/79093068

1、解决Can’t locate ExtUtils/MakeMaker.pm in @INC
解决方法:https://blog.csdn.net/celeste7777/article/details/77117371
>yum install perl-ExtUtils-MakeMaker

2、gcc未安装错误:
解决方法:
https://blog.csdn.net/btt2013/article/details/78138045
>yum -y install gcc
>yum -y install gcc-c++

## 添加mysql启动服务
> cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

## 修改mysql配置
>vi /usr/local/mysql/my.cnf

注意:端口号,服务号,binlog, relay-log都要开启(以下为slave的配置)
[mysqld]
log_bin=/usr/local/mysql/data/mysql-bin
relay_log=slave-relay-bin
relay_log_index=slave-relay-bin.index
port =3307
server_id =890
在这里插入图片描述

添加环境变量
> vi /etc/profile

添加环境变量
export MYSQL_HOME=/usr/local/mysql
PATH=$MYSQL_HOME/bin:$PATH
在这里插入图片描述

生效环境变量:
>source /etc/profile

注意:安装了mysql以后,建议重启下服务器(若为环境变量的生效,则不需要重启)

启动mysql

> mysql -uroot -h 127.0.0.1 -p

首次登陆没有密码直接回车

指定配置文件的启动方式:
进入bin目录

> ./mysqld --defaults-file=/etc/my.cnf --user=root &


不确定:WARNING: Found existing config file /usr/local/mysql/my.cnf on the system.
Because this file might be in use, it was not replaced,
but was used in bootstrap (unless you used --defaults-file)
and when you later start the server.
The new default config file was created as /usr/local/mysql/my-new.cnf,
please compare it with your file and take the changes you need.

WARNING: Default config file /etc/my.cnf exists on the system
This file will be read by default by the MySQL server
If you do not want to use this, either remove it, or use the
--defaults-file argument to mysqld_safe when starting the server

拷贝文件my.cnf到/etc目录

设置数据库root密码
登录数据库(注意:首次登录不需要输入密码,登录以后设置root密码):
>mysql -u root -p
如果这个命令报错:/tmp/mysql.lock
换用这个命令:

>mysql -uroot -h 127.0.0.1 -p

首次登陆没有密码直接回车

> use mysql;
>UPDATE user SET password=PASSWORD('123456') WHERE user='root';
>flush privileges;

注意:flush执行以后密码设置才能生效

主库增加mysql用户名的访问权限
进入主库服务器
>cd /usr/local/mysql/bin

注意:执行以下命令后,输入上步已经设置好的root密码
>mysql -uroot -h 127.0.0.1 -p
或者
>mysql -u root -p

创建用户:mysql
> CREATE USER 'mysql'@'host' IDENTIFIED BY '123456';

设置mysql用户的登录密码:

>UPDATE user SET password=PASSWORD('123456') WHERE user='mysql';

生效设置(这步别忘记喽,否则无效)

>flush privileges;

开启远程访问权限:

>mysql -uroot -h 127.0.0.1 -p
> use mysql;
> grant all privileges on *.* to root@'%' identified by "123456";
> flush privileges;

另外一台从机器远程连接测试下:

>cd /usr/local/mysql/bin
>mysql -h 121.175.107.11 -P 3306 -u mysql -p

在这里插入图片描述

查看主库的binlog偏移量position:
>cd /usr/local/mysql/bin

>mysql -uroot -h 127.0.0.1 -p
或者
>mysql -u root -p

>show master status;

在这里插入图片描述

 

开启slave同步
进入从服务器
>cd /usr/local/mysql/bin

>mysql -uroot -h 127.0.0.1 -p
或者
>mysql -u root -p

注意:1、假设主服务器的IP:192.168.0.104
2、master服务器产生的日志master-bin序号为为如上截图001780
3、日志偏移位置:16258
>change master to master_host='192.168.0.104',
master_port=3306,
master_user='mysql',
master_password='123456',
master_log_file='mysql-bin.001780',
master_log_pos=16612;

启动Slave开启同步
>start slave;

>show slave status\G;

注意:如果slave_io_running和slave_sql_running都为yes,那么表明可以成功同步了。
io状态为no的常见问题分析:
1、检查master的日志的序号和偏移量,从库连接master指定参数确认一致。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

 

 

 

 

 

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
7月前
|
关系型数据库 MySQL 开发工具
MySQL5.7主从配置(Docker)
MySQL5.7主从配置(Docker)
819 0
|
7月前
|
Ubuntu 关系型数据库 MySQL
使用Ubuntu和Windows电脑实现Mysql主从同步(详细操作步骤)
使用Ubuntu和Windows电脑实现Mysql主从同步(详细操作步骤)
114 2
|
7月前
|
SQL 关系型数据库 MySQL
解决MySQL主从慢同步问题的常见的解决方案:
解决MySQL主从慢同步问题的方法有很多,以下是一些常见的解决方案: 1. 检查网络连接:确保主从服务器之间的网络连接稳定,避免网络延迟或丢包导致数据同步缓慢。 2. 优化数据库配置:调整MySQL的配置参数,如增大binlog文件大小、调整innodb_flush_log_at_trx_commit等参数,以提高主从同步性能。 3. 检查IO线程和SQL线程状态:通过SHOW SLAVE STATUS命令检查IO线程和SQL线程的状态,确保它们正常运行并没有出现错误。 4. 检查主从日志位置:确认主从服务器的binlog文件和位置是否正确,避免由于错误的日志位置导致同步延迟。 5.
1284 1
|
7月前
|
Kubernetes Cloud Native 关系型数据库
提升数据安全与性能,掌握Helm一键部署MySQL 8.0主从技巧
【4月更文挑战第9天】提升数据安全与性能,掌握Helm一键部署MySQL 8.0主从技巧
445 0
|
7月前
|
SQL 存储 关系型数据库
MySQL的主从复制&主从同步
MySQL的主从复制&主从同步
115 0
|
7月前
|
负载均衡 关系型数据库 MySQL
MySQL主从架构的搭建
MySQL主从架构的搭建
124 3
|
7月前
|
SQL 关系型数据库 MySQL
MySQL-主从架构的搭建
MySQL-主从架构的搭建
250 0
|
6月前
|
Prometheus 监控 关系型数据库
数据库同步革命:MySQL GTID模式下主从配置的全面解析
数据库同步革命:MySQL GTID模式下主从配置的全面解析
767 0
|
5月前
|
存储 关系型数据库 MySQL
利用 MySQL 克隆插件搭建主从
MySQL 的 Clone 插件是一个强大的功能,首次引入于 MySQL 8.0.17 版本。简单来说,Clone Plugin 是一款物理克隆数据工具,它能够帮助我们快速、高效地克隆或复制数据库,极大地简化了数据库迁移、备份和恢复的过程,让我们在处理大量数据时更加得心应手。本篇文章我们一起来学习下如何使用克隆插件。
93 2
|
5月前
|
运维 关系型数据库 MySQL
【实操记录】MySQL主从配置
本文使用MySQL原生支持的主从同步机制,详细记录了配置步骤及运维操作方法,可供大家直接参考、使用。 本文假设已经部署了两台主机的MySQL软件,且数据库服务正常,详细部署步骤可本站搜索:"mysql二进制安装包部署"
203 0