MySQL 数据存储和优化------ MySQL集群环境搭建(Linux虚拟机) ---- (主从架构---分库分表)持续更新

Mysql架构体系全系列文章主目录(进不去说明还没写完)https://blog.csdn.net/grd_java/article/details/123033016

本文只是整个系列笔记的第四章的一个环境搭建,因为篇幅原因单独拿了出来:具体MySQL集群怎么玩,请到第四章学习。

文章目录

    • 1. 虚拟机MySQL集群主机初始化操作
    • 2. 给主机安装MySQL
    • 3. 初始化mysql服务
    • 4. 登录root用户,修改密码
    • 5. 关闭防火墙
    • 6. 虚拟机克隆

下面的操作,是一台主机的操作,而集群就是每台主机都做相同的配置,需要几台主机,就配置几台。因为我使用的集群配置脚本(下面链接有教学),所以只需要配置一次,大家如果学不会,就一样的操作多配置几次就好了。

1. 虚拟机MySQL集群主机初始化操作

  1. 先搞两台可以上网的Linux虚拟机(Cent OS 7),大家可以参考我的这篇文章:https://blog.csdn.net/grd_java/article/details/115676099
  2. 你可以学习一下集群脚本,集群配置,可以方便的同步集群状态,有时间可以学习一下:https://blog.csdn.net/grd_java/article/details/115693312
从上面两个文章搭建好测试环境后,接下来,正式进入测试集群环境的搭建,这里以两台为例,大家后面操作,都按这个步骤来就可以了,或者直接配置完,然后克隆。因为后面的章节,可能用到4台或者5台虚拟机
  1. 复制两台测试用虚拟机,一台master1,一台slave1
  1. master1的主机名hostname为master1。虚拟IP地址为192.168.10.100
  2. slave1的主机名hostname为slave1。虚拟IP地址为192.168.10.101
    MySQL 数据存储和优化------ MySQL集群环境搭建(Linux虚拟机) ---- (主从架构---分库分表)持续更新_第1张图片
  3. 保证sudo vim /etc/hosts 主机名映射中,成功映射了集群的主机名和ip
    MySQL 数据存储和优化------ MySQL集群环境搭建(Linux虚拟机) ---- (主从架构---分库分表)持续更新_第2张图片
    MySQL 数据存储和优化------ MySQL集群环境搭建(Linux虚拟机) ---- (主从架构---分库分表)持续更新_第3张图片
去除CentOS7自带的MariaDB(MySQL被收购后,MySQL创始人自己又写的一个免费分支产品),否则和MySQL产生冲突
  1. rpm -qa|grep mariadb命令,查看是否有mariadb安装在系统
    在这里插入图片描述
  2. rpm -e [mariadb-libs-5.5.68-1.el7.x86_64 --nodeps]命令,卸载指定软件,[]中括起来的是你执行上面查询命令的文件名。每个人可能不一样。
    在这里插入图片描述

2. 给主机安装MySQL

  1. 官网下载https://www.mysql.com/
    MySQL 数据存储和优化------ MySQL集群环境搭建(Linux虚拟机) ---- (主从架构---分库分表)持续更新_第4张图片
    MySQL 数据存储和优化------ MySQL集群环境搭建(Linux虚拟机) ---- (主从架构---分库分表)持续更新_第5张图片
  2. 传到虚拟机(我将tar包传到了虚拟机的/opt/module目录下))
    MySQL 数据存储和优化------ MySQL集群环境搭建(Linux虚拟机) ---- (主从架构---分库分表)持续更新_第6张图片
  3. 安装(准备安装到/opt/software/下
  1. 先将rpm都解压出来, tar -xvf mysql-5.7.37-1.el7.x86_64.rpm-bundle.tar
    MySQL 数据存储和优化------ MySQL集群环境搭建(Linux虚拟机) ---- (主从架构---分库分表)持续更新_第7张图片
  2. 安装mysql-community-common共用模块,命令 rpm -ivh mysql-community-common-xxXXXXxxx.rpm
    在这里插入图片描述
  3. 安装mysql-community-libs函数库模块,rpm -ivh mysql-community-libs-xxXXXXxxx.rpm
    在这里插入图片描述
  4. 安装mysql-community-libs-compat兼容函数库模块,rpm -ivh mysql-community-libs-compat-xxXXXXxxx.rpm
  5. 安装mysql-community-client客户端模块,rpm -ivh mysql-community-libs-client-xxXXXXxxx.rpm
  6. 安装 mysql-community-server服务端模块,rpm -ivh mysql-community-server-xxXXXXxxx.rpm
  7. 安装 mysql-community-devel工具模块,rpm -ivh mysql-community-server-xxXXXXxxx.rpm

3. 初始化mysql服务

初始化mysql
  1. 初始化mysql,命令:mysqld --initialize --user=mysql
    在这里插入图片描述
  2. 初始化后,会自动完成root用户的创建,并生成一个root用户的密码(例如:1LVe5fdqh3_e,需要你找个地方记起来),可以通过命令cat /var/log/mysqld.log查看
    MySQL 数据存储和优化------ MySQL集群环境搭建(Linux虚拟机) ---- (主从架构---分库分表)持续更新_第8张图片
[hadoop100@master1 module]$ mysqld --initialize --user=mysql
[hadoop100@master1 module]$ cat /var/log/mysqld.log
设置服务为系统服务,自动启动(开机自启)

通过命令 systemctl start mysqld.service设置,是否成功,可以通过systemctl status mysqld.service命令查看
MySQL 数据存储和优化------ MySQL集群环境搭建(Linux虚拟机) ---- (主从架构---分库分表)持续更新_第9张图片

[hadoop100@master1 module]$ sudo systemctl start mysqld.service
[hadoop100@master1 module]$ sudo systemctl status mysqld.service

4. 登录root用户,修改密码

需要你上面初始化mysql服务时,生成的root密码,比如我的是1LVe5fdqh3_e
  1. 输入如下命令,进入mysql>命令行模式
    MySQL 数据存储和优化------ MySQL集群环境搭建(Linux虚拟机) ---- (主从架构---分库分表)持续更新_第10张图片
# 不推荐直接把密码跟在-p的后面,因为是明文的,应该输入-p后直接回车,
# 然后会让你以密文的方式输入密码,提高安全性
[hadoop100@master1 module]$ mysql -u用户名 -p[密码]
  1. mysql>命令行下,输入如下命令,修改当前用户密码(我这里直接修改成root,和用户名一样)
    MySQL 数据存储和优化------ MySQL集群环境搭建(Linux虚拟机) ---- (主从架构---分库分表)持续更新_第11张图片
    MySQL 数据存储和优化------ MySQL集群环境搭建(Linux虚拟机) ---- (主从架构---分库分表)持续更新_第12张图片
# 修改当前用户的密码为'root'
mysql> set password = password('root');

5. 关闭防火墙

有防火墙的话,会妨碍我们集群主机间的通信,所以我们这里将其关闭,有些防火墙是iptables,有些是firewalld,我这里的centOS7是firewalld,所以我演示关闭firewalld和它的自启动,如果你的是iptables,关闭方法一样,就是将命令的防火墙名称换一下就行
MySQL 数据存储和优化------ MySQL集群环境搭建(Linux虚拟机) ---- (主从架构---分库分表)持续更新_第13张图片

[hadoop100@master1 module]$ sudo systemctl stop iptables
Failed to stop iptables.service: Unit iptables.service not loaded.
[hadoop100@master1 module]$ sudo systemctl stop firewalld
[hadoop100@master1 module]$ sudo systemctl disable firewalld.service

6. 虚拟机克隆

配置完上面这些后,就可以克隆几台做备用了,克隆后,需要改主机名,ip,主机地址映射

你可能感兴趣的:(数据库,mysql,数据库架构)