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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 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

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
24天前
|
关系型数据库 MySQL Linux
Linux下mysql数据库的导入与导出以及查看端口
本文详细介绍了在Linux下如何导入和导出MySQL数据库,以及查看MySQL运行端口的方法。通过这些操作,用户可以轻松进行数据库的备份与恢复,以及确认MySQL服务的运行状态和端口。掌握这些技能,对于日常数据库管理和维护非常重要。
100 8
|
26天前
|
Ubuntu Unix Linux
Linux网络文件系统NFS:配置与管理指南
NFS 是 Linux 系统中常用的网络文件系统协议,通过配置和管理 NFS,可以实现跨网络的文件共享。本文详细介绍了 NFS 的安装、配置、管理和常见问题的解决方法,希望对您的工作有所帮助。通过正确配置和优化 NFS,可以显著提高文件共享的效率和安全性。
170 7
|
29天前
|
NoSQL 关系型数据库 MySQL
Linux安装jdk、mysql、redis
Linux安装jdk、mysql、redis
181 7
|
1月前
|
关系型数据库 MySQL Linux
MySQL数据库下载安装教程(Windows&Linux)
本文档详细介绍了MySQL的安装步骤,包括安装前的准备工作、下载安装包、Windows和Linux系统下的具体安装流程,以及如何配置MySQL服务、设置环境变量、启动服务和连接数据库等关键操作。
|
2月前
|
数据库连接 Linux Shell
Linux下ODBC与 南大通用GBase 8s数据库的无缝连接配置指南
本文详细介绍在Linux系统下配置GBase 8s数据库ODBC的过程,涵盖环境变量设置、ODBC配置文件编辑及连接测试等步骤。首先配置数据库环境变量如GBASEDBTDIR、PATH等,接着修改odbcinst.ini和odbc.ini文件,指定驱动路径、数据库名称等信息,最后通过catalog.c工具或isql命令验证ODBC连接是否成功。
|
2月前
|
缓存 资源调度 安全
深入探索Linux操作系统的心脏——内核配置与优化####
本文作为一篇技术性深度解析文章,旨在引领读者踏上一场揭秘Linux内核配置与优化的奇妙之旅。不同于传统的摘要概述,本文将以实战为导向,直接跳入核心内容,探讨如何通过精细调整内核参数来提升系统性能、增强安全性及实现资源高效利用。从基础概念到高级技巧,逐步揭示那些隐藏在命令行背后的强大功能,为系统管理员和高级用户打开一扇通往极致性能与定制化体验的大门。 --- ###
92 9
|
2月前
|
关系型数据库 MySQL Linux
Linux环境下MySQL数据库自动定时备份实践
数据库备份是确保数据安全的重要措施。在Linux环境下,实现MySQL数据库的自动定时备份可以通过多种方式完成。本文将介绍如何使用`cron`定时任务和`mysqldump`工具来实现MySQL数据库的每日自动备份。
205 3
|
8月前
|
存储 关系型数据库 MySQL
LINUX中的mysql(一)安装
MySQL是一种常用的开源关系型数据库管理系统,广泛应用于Linux系统中。它提供了一个灵活、高效和可扩展的数据库解决方案,被许多应用程序和网站用于存储和管理数据。
199 0
|
关系型数据库 MySQL Linux
【Linux】jdk & Tomcat & MySql的安装及Linux后端接口部署
【Linux】jdk & Tomcat & MySql的安装及Linux后端接口部署
167 0
|
3月前
|
Ubuntu 关系型数据库 MySQL
Linux系统MySQL安装
【10月更文挑战第19天】本文介绍了在 Linux 系统上安装 MySQL 的步骤,包括安装前准备、安装 MySQL、启动 MySQL 服务、配置 MySQL 以及验证安装。适用于 Ubuntu/Debian 和 CentOS/Fedora 系统,提供了详细的命令示例。
502 1