centos7 mysql5.7 AB 复制 一主多从架构,详细说明(上)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS MySQL,高可用系列 2核4GB
简介: centos7 mysql5.7 AB 复制 一主多从架构,详细说明

MySQL AB 复制


一主多从架构

节点

系统

mysql版本

ip

master

centos:7

5.7

192.168.1.237

slave

centos:7

5.7

192.168.1.238


作用:客户端的数据全部写入mysql主服务器中,主服务器将数据同步至从服务器,当用户读取数据时在从服务器中进行读取,极大降低了主服务器的压力,提高了整体业务的水平

1675154326184.jpg


两台主机都操作


安装mysql数据库

解压mysql  tar文件

tar zxvf  mysql-5.7.10-linux-glibc2.5-x86_64.tar.gz


将解压的移动到   /usr/local/mysql 目录      

mv mysql-5.7.22-linux-glibc2.12-x86_64 /usr/local/mysql


添加系统mysql组和mysql用户

groupadd mysql
useradd -r -g mysql mysql (添加完成后可用id mysql查看)
cd /usr/local/mysql


修改当前目录拥有者为mysql用户

chown -R mysql:mysql ./

初始化数据库

bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

此时生成了临时密码(下图有)

1675154410114.jpg

如果报这个错

bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory 解决方法:yum install -y libaio numactl.x86_64
  //安装后在初始化就OK了

添加开机启动    

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

修改  vi /etc/init.d/mysqld


添加路径 在46行  

basedir=/usr/local/mysql
datadir=/usr/local/mysql/data

1675154422480.jpg

#chkconfig --add mysqld
#systemctl daemon-reload   (刷新开机启动配置)


配置文件

vi /etc/my.cnf
[mysqld]
#可以免密码登录
#skip-grant-tables
###############################基础设置#####################################
#Mysql服务的唯一编号 每个mysql服务Id需唯一
server-id = 1
#服务端口号 默认3306
port = 3306
lower_case_table_names=1    #1代表关闭大小写区别 0代表开启大小写
default_storage_engine=InnoDB   #存储引擎  lnnoDB
character_set_server=utf8
init_connect='SET NAMES utf8'



参数参考:(下面加粗部分无需操作)


配置默认编码为utf8

修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置,如下所示:


(若/etc/没有my.cnf文件,可手动添加一个)

#Vi /etc/my.cnf
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'


修改端口号、开放端口

#vi /etc/my.cnf

添加port=3306

Mysql默认是3306端口,若需要更改端口,需要先把seLinux关闭运行命令:setenforce 0


重新启动mysql服务使配置生效:

#systemctl restart mysqld


添加远程用户访问


查询下当前访问信息

mysql> select Host,User from mysql.user;


创建一个Dwz用户 任何地址都可以登录。密码Dwz123.

mysql>grant all privileges on *.* to 'Dwz'@'%'identified by 'Dwz123.' with grant option;

all代表接受所有操作,比如 select,insert,delete....; *.* 代表所有库下面的所有表;% 代表这个用户允许从任何地方登录;为了安全期间,这个%可以替换为你允许的ip地址;


然后刷新mysql用户权限相关表;

mysql>flush privileges ;

开启防火墙的情况下-设置远程端口

#firewall-cmd --zone=public --add-port=3306/tcp --permanent

端口配置生效   #firewall-cmd --reload

success


默认配置文件路径:

配置文件:/etc/my.cnf

日志文件:/var/log//var/log/mysqld.log

服务启动脚本:/usr/lib/systemd/system/mysqld.service

socket文件:/var/run/mysqld/mysqld.pid



查询数据库是否启动

#systemctl  status mysqld.service


查询端口号是否启动

netstat -apn|grep 3306
tcp6       0      0 :::3306       :::*         LISTEN      19960/mysqld
unix  3      [ ]       STREAM     CONNECTED     33061    1/systemd


刷新数据库

flush privileges;

其他liunx主机远程连接本机mysql数据库(其他主机已安装mysql):

mysql -u Dwz -p -h 192.168.208.134

*Dwz之前创建好的用户名


192.168.208.134 是要远程的ip


启动数据库

systemctl start mysql

修改root本地登录密码

1675154445034.jpg

先把mysql的命令设置为环境变量


/etc/profile中添加语句

vim /etc/profile
export PATH=$PATH:/usr/local/mysql/bin
source /etc/profile
service mysqld start
#mysql -uroot -p


输入密码:

1675154466963.jpg

mysql> alter user 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)


重启数据库后密码生效。



方法二:


该方法先修改mysql配置文件使其可以无密码登录,跳过密码验证一步


修改/etc/my.cnf

#vi /etc/my.cnf

在[mysqld]下添加skip-grant-tables如图

1675154476280.jpg

在修改密码方法二修改配置文件跳过密码的情况下


#Mysql -uroot -p

1675154489288.jpg

也会出现这个提示,直接回车即可进入数据库

mysql> use mysql
Database changed!
mysql> update user set password=password('自定义密码') where user='root';

提示mysql>  update user set password=password('VRGV2019.') where user='root';

ERROR 1054 (42S22): Unknown column 'password' in 'field list'

执行:

Mysql>update user set authentication_string=password('123456') where user='root';
systemctl restart mysqld

***********重启数据库后新密码生效


再把配置文件改回去,重新启动数据库


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
6月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
2月前
|
安全 关系型数据库 MySQL
CentOS 7 yum 安装 MySQL教程
在CentOS 7上安装MySQL 8,其实流程很清晰。首先通过官方Yum仓库来安装服务,然后启动并设为开机自启。最重要的环节是首次安全设置:需要先从日志里找到临时密码来登录,再修改成你自己的密码,并为远程连接创建用户和授权。最后,也别忘了在服务器防火墙上放行3306端口,这样远程才能连上。
465 16
|
3月前
|
存储 关系型数据库 MySQL
在CentOS 8.x上安装Percona Xtrabackup工具备份MySQL数据步骤。
以上就是在CentOS8.x上通过Perconaxtabbackup工具对Mysql进行高效率、高可靠性、无锁定影响地实现在线快速全量及增加式数据库资料保存与恢复流程。通过以上流程可以有效地将Mysql相关资料按需求完成定期或不定期地保存与灾难恢复需求。
281 10
|
5月前
|
关系型数据库 MySQL 分布式数据库
Super MySQL|揭秘PolarDB全异步执行架构,高并发场景性能利器
阿里云瑶池旗下的云原生数据库PolarDB MySQL版设计了基于协程的全异步执行架构,实现鉴权、事务提交、锁等待等核心逻辑的异步化执行,这是业界首个真正意义上实现全异步执行架构的MySQL数据库产品,显著提升了PolarDB MySQL的高并发处理能力,其中通用写入性能提升超过70%,长尾延迟降低60%以上。
|
11月前
|
存储 SQL 关系型数据库
MySQL进阶突击系列(03) MySQL架构原理solo九魂17环连问 | 给大厂面试官的一封信
本文介绍了MySQL架构原理、存储引擎和索引的相关知识点,涵盖查询和更新SQL的执行过程、MySQL各组件的作用、存储引擎的类型及特性、索引的建立和使用原则,以及二叉树、平衡二叉树和B树的区别。通过这些内容,帮助读者深入了解MySQL的工作机制,提高数据库管理和优化能力。
|
7月前
|
关系型数据库 MySQL Linux
CentOS 7系统下详细安装MySQL 5.7的步骤:包括密码配置、字符集配置、远程连接配置
以上就是在CentOS 7系统下安装MySQL 5.7的详细步骤。希望这个指南能帮助你顺利完成安装。
1694 26
|
7月前
|
负载均衡 算法 关系型数据库
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL集群架构负载均衡故障排除与解决方案
本文深入探讨 MySQL 集群架构负载均衡的常见故障及排除方法。涵盖请求分配不均、节点无法响应、负载均衡器故障等现象,介绍多种负载均衡算法及故障排除步骤,包括检查负载均衡器状态、调整算法、诊断修复节点故障等。还阐述了预防措施与确保系统稳定性的方法,如定期监控维护、备份恢复策略、团队协作与知识管理等。为确保 MySQL 数据库系统高可用性提供全面指导。
|
9月前
|
SQL 存储 缓存
MySQL的架构与SQL语句执行过程
MySQL架构分为Server层和存储引擎层,具有高度灵活性和可扩展性。Server层包括连接器、查询缓存(MySQL 8.0已移除)、分析器、优化器和执行器,负责处理SQL语句;存储引擎层负责数据的存储和读取,常见引擎有InnoDB、MyISAM和Memory。SQL执行过程涉及连接、解析、优化、执行和结果返回等步骤,本文详细讲解了一条SQL语句的完整执行过程。
288 3
|
10月前
|
安全 关系型数据库 MySQL
CentOS7仅安装部署MySQL80客户端
通过上述步骤,你可以在CentOS 7上成功安装并配置MySQL 8.0客户端。这个过程确保你能够使用MySQL客户端工具连接和管理远程的MySQL数据库,而不需要在本地安装MySQL服务器。定期更新MySQL客户端可以确保你使用的是最新的功能和安全修复。
929 16
|
11月前
|
SQL 存储 关系型数据库
MySQL进阶突击系列(01)一条简单SQL搞懂MySQL架构原理 | 含实用命令参数集
本文从MySQL的架构原理出发,详细介绍其SQL查询的全过程,涵盖客户端发起SQL查询、服务端SQL接口、解析器、优化器、存储引擎及日志数据等内容。同时提供了MySQL常用的管理命令参数集,帮助读者深入了解MySQL的技术细节和优化方法。

热门文章

最新文章