mysql5.7.29 双机主从配置-linux环境下

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: mysql5.7.29 双机主从配置-linux环境下
说明:此处用mysql5.7.29分别在两台机器实例化安装部署。
106.13.145.174/3306(主)和39.101.213.45/3306(从)

1.分别在两台机器上安装, mysql-5.7.29解压版安装

1.1上传安装包到/usr/lcoal下

tar -zxvf mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz

1.2重命名并创建服务进程的日志文件

mv mysql-5.7.29-linux-glibc2.12-x86_64 mysql
 
cd mysql
 
mkdir log
 
mkdir data
 
echo "" > /usr/local/mysql/log/mysqld.log
 
chown -R root:root /usr/local/mysql/log/mysqld.log

1.3执行安装脚本(5.6版本的)

/usr/local/mysql/scripts/mysql_install_db --user=root --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
``
### 1.4执行安装脚本(5.7版本的)

/usr/local/mysql/bin/mysql_install_db --user=root --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

### 1.5 创建配置文件且修改配置文件
注:mysql5.7.18之后的版本没有默认的配置文件需要自己创建

直接上传找好的my.cnf文件 上传到 /etc/下面即可(此处若需要可以联系我获取)

启动前先修改

vim /usr/local/mysql/support-files/mysql.server

20210715175454836.png

找到start模块,添加--user=root到mysqld_safe 即可 增加mysql环境变量

vim /etc/profile

增加

/usr/local/mysql/bin

20210715175538624.png

保存退出Esc,:wq! 配置生效

source /etc/profile

创建自己的 mysql 服务启动脚本mysqlserver.sh,脚本内容如下:

!/bin/sh

if [ -z $1 ]; then

    echo "ERROR::you must input a name(start/restart/stop/status)"
    exit 0

fi

/usr/local/mysql/support-files/mysql.server $1


赋予脚本可执行权限(/www/shell此路径为我自己的脚本存放路径)

chmod +x /www/shell/mysqlserver.sh

启动mysql

/www/shell/mysqlserver.sh start

cd /usr/local/mysql/bin

./mysql -uroot -p

若启动有如下报错:
**ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/usr/local/mysql/data/mysql.sock' (2)**

先查找mysql.sock 路径

find / -name mysql.sock

发现路径在
/tmp/mysql.sock
修改配置文件中mysql.sock路径为/tmp/mysql.sock

vim /etc/my.cnf

再重启mysql服务

cd /usr/local/mysql/bin

客户端连接mysql(此处可设置环境变量使得任意处可执行mysql)

./mysql -uroot -p

Enter password:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

查看初始密码

cat /root/.mysql_secret

20210715180305312.png

mysql -uroot -p 再次登录后,设置远程登录并修改root初始密码

alter user 'root'@'localhost' identified by '123abc';

GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY '123abc' WITH GRANT OPTION;

flush privileges;

## 2.mysql主从配置
### 2.1设置主库(106.13.145.174)配置文件:
vim /etc/my.cnf找到[mysqld]模块增加下面内容

server_id=3306

log-output=file

slow_query_log = 1

long_query_time = 1

slow_query_log_file = /usr/local/mysql/log/slow.log

binlog_format = mixed

log-bin = /usr/local/mysql/log/mysql3306_bin

20210715180748995.png

重启数据库

/www/shell/mysqlserver.sh restart

20210715180809210.png

mysql -uroot -p

登录成功后

SHOW MASTER STATUS;

20210715180822761.png

记住File和Position的值,后面配置从库时需要的参数 mysql3306_bin.000001和154 ### 2.2设置从库(39.101.213.45)配置文件: vim /etc/my.cnf找到[mysqld]模块增加下面内容

server_id=3307

log-output=file

slow_query_log = 1

long_query_time = 1

slow_query_log_file = /usr/local/mysql/log/slow.log

binlog_format = mixed

log-bin = /usr/local/mysql/log/mysql3307_bin

和设置主库类似,wq!保存重启mysql并登录mysql -uroot -p

设置从库链接主库

change master to master_host='106.13.145.174',master_port=3306,master_user='root',master_password='123abc',master_log_file='mysql3306_bin.000001',master_log_pos=154;

运行完会有如下信息:

20210715181111285.png

start slave;

show slave status \G

20210715181200855.png

到此主从设置完毕。 ## 3.测试主从 ### 3.1登录master(106.13.145.174)主库创建test01数据库,并创建表slave_test

mysql -uroot -p

mysql> create database test01;

mysql> use test01;

mysql> create table slave_test(id int(6),name varchar(10));

mysql> insert into slave_test values(000001,'zhaoyanfei');

mysql> show tables;

20210715181424977.png

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4天前
|
缓存 资源调度 安全
深入探索Linux操作系统的心脏——内核配置与优化####
本文作为一篇技术性深度解析文章,旨在引领读者踏上一场揭秘Linux内核配置与优化的奇妙之旅。不同于传统的摘要概述,本文将以实战为导向,直接跳入核心内容,探讨如何通过精细调整内核参数来提升系统性能、增强安全性及实现资源高效利用。从基础概念到高级技巧,逐步揭示那些隐藏在命令行背后的强大功能,为系统管理员和高级用户打开一扇通往极致性能与定制化体验的大门。 --- ###
19 9
|
6天前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
13 5
|
6天前
|
关系型数据库 MySQL Linux
Linux环境下MySQL数据库自动定时备份实践
数据库备份是确保数据安全的重要措施。在Linux环境下,实现MySQL数据库的自动定时备份可以通过多种方式完成。本文将介绍如何使用`cron`定时任务和`mysqldump`工具来实现MySQL数据库的每日自动备份。
19 3
|
6天前
|
监控 关系型数据库 MySQL
Linux环境下MySQL数据库自动定时备份策略
在Linux环境下,MySQL数据库的自动定时备份是确保数据安全和可靠性的重要措施。通过设置定时任务,我们可以每天自动执行数据库备份,从而减少人为错误和提高数据恢复的效率。本文将详细介绍如何在Linux下实现MySQL数据库的自动定时备份。
17 3
|
13天前
|
关系型数据库 MySQL Docker
docker环境下mysql镜像启动后权限更改问题的解决
在Docker环境下运行MySQL容器时,权限问题是一个常见的困扰。通过正确设置目录和文件的权限,可以确保MySQL容器顺利启动并正常运行。本文提供了多种解决方案,包括在主机上设置正确的权限、使用Dockerfile和Docker Compose进行配置、在容器启动后手动更改权限以及使用 `init`脚本自动更改权限。根据实际情况选择合适的方法,可以有效解决MySQL容器启动后的权限问题。希望本文对您在Docker环境下运行MySQL容器有所帮助。
21 1
|
15天前
|
存储 SQL 关系型数据库
2024Mysql And Redis基础与进阶操作系列(1)作者——LJS[含MySQL的下载、安装、配置详解步骤及报错对应解决方法]
Mysql And Redis基础与进阶操作系列(1)之[MySQL的下载、安装、配置详解步骤及报错对应解决方法]
|
16天前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
62 3
|
16天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
59 2
|
7天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
20 4
|
5天前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
14 1