MySQL集群的基础部署及主从复制详解

一、Msql在服务器中的部署方法

官网:http://www.mysql.com
在这里插入图片描述

在企业中90%的服务器操作系统均为Linux

在企业中对于Mysql的安装通常用源码编译的方式来进行

1.1 在Linux下部署MySQL

1.1.1 部署环境
主机 IP 角色
MySQL-node1 172.25.254.13 master
MySQL-node2 172.25.254.23 slave1
MySQL-node3 172.25.254.33 slave2

注意:在部署MySQL前,先检查主机中的环境是否含有其他数据库,保持环境的纯净性,以防在部署时出现其他错误。另外以下所有案例的实现操作系统都为Rhel 7.9

# 检查是否含有其他数据库,一般为Maridb
[root@mysql-node ~]# rpm -qa | grep mariadb
[root@mysql-node ~]# yum remove mariadb    # 移除mariadb
# 关闭防火墙
[root@mysql-node1 mysql]# systemctl stop firewalld
[root@mysql-node1 mysql]# systemctl mask firewalld
[root@mysql-node1 mysql]# setenforce 0
1.1.2 下载并解压MySQL源码包

(1)进入到MySQL官网

在这里插入图片描述

(2)选择MySQL Community Downloads

在这里插入图片描述

(3)选择Archives

在这里插入图片描述

(4)自行选择版本下载

在这里插入图片描述

(5)选择链接在Linux中进行下载并解压源码包

[root@mysql-node1 ~]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-boost-5.7.44.tar.gz     # 下载源码包
[root@mysql-node1 ~]# tar zxf mysql-boost-5.7.44.tar.gz    # 解压源码包
[root@mysql-node1 ~]# cd /root/mysql-5.7.44   # 进入到解压目录
1.1.3 安装依赖性
[root@mysql-node3 mysql-5.7.44]# yum install cmake gcc-c++ openssl-devel \
> ncurses-devel.x86_64 libtirpc-devel-1.3.3-8.el9_4.x86_64.rpm rp^Cen.x86_64 -y     
1.1.4 源码编译安装MySQL
[root@mysql-node1 mysql-5.7.44]# cmake \       
> -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \      # 指定安装路径
> -DMYSQL_DATADIR=/data/mysql \                  # 指定数据目录
> -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \     # 指定套接字文件
> -DWITH_INNOBASE_STORAGE_ENGINE=1 \             # 指定启用INNODB存储引擎,默认使用myisam
> -DWITH_EXTRA_CHARSETS=all \                    # 扩展字符集
> -DDEFAULT_CHARSET=utf8mb4 \                    # 指定默认字符集
> -DDEFAULT_COLLATION=utf8mb4_unicode_ci \       # 指定默认校验字符集
> -DWITH_BOOST=/root/mysql-5.7.44/boost/boost_1_59_0/ # 指定C++库依赖

[root@mysql-node1 mysql-5.7.44]# make -j2     # -j2使用两个核心来跑两个进程
[root@mysql-node1 mysql-5.7.44]# make install # 编译完后进行安装
1.1.5 部署MySQL
1.# 创建mysql的用户及用户组
[root@mysql-node1 ~]# useradd -s /sbin/nologin -M mysql
[root@mysql-node1 ~]# mkdir /data/mysql -p
[root@mysql-node1 ~]# chown mysql.mysql -R /data/mysql

2.# 生成启动脚本
[root@mysql-node1 ~]# cd /usr/local/mysql/support-files/
[root@mysql-node1 support-files]# cp mysql.server /etc/init.d/mysqld

3.# 修改环境变量
[root@mysql-node1 ~]# vim ~/.bash_profile 
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin
[root@mysql-node1 ~]# source ~/.bash_profile 

4.# 修改配置文件
[root@mysql-node1 ~]# vim /etc/my.cnf
[mysqld]
datadir=/data/mysql                # 指定数据目录
socket=/data/mysql/mysql.sock      # 指定套接字
symbolic-links=0                   # 数据只能存放到数据目录中,禁止链接到数据目录

5.# 数据库初始化建立mysql基本数据
[root@mysql-node1 ~]# mysql --user mysql --initialize    # 记得保存生成的初始化密码,在接下来的安全初始化需要用到
[root@mysql-node1 ~]# /etc/init.d/mysqld start           # 开启MySQL服务
[root@mysql-node1 ~]# chkconfig mysqld on                # 设置自启动
[root@mysql-node1 ~]# chkconfig --list                   # 查看自启动的服务

6.# 数据库安全初始化
[root@mysql-node1 ~]# mysql_secure_installation

在这里插入图片描述

测试:登录数据库

[root@mysql-node1 ~]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.44 Source distribution

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;      # 查看当前含有的数据库
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+------------------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值