centos本地部署MySQL5.7

Centos本地部署MySQL5.7

前言

本文主要基于Centos7服务器,采用本地化的方式部署MySQL5.7数据库,包含单节点部署和主从复制部署的详细过程。


一、前置准备

从官网下载Mysql5.7版本安装包,并上传到centos服务器

  • MySQL官网:https://www.mysql.com/

自行从官网上下载Mysql安装包,可参考如下步骤,从官网上寻找安装包:

二、单节点部署步骤

1.前置检查

# 1. 查看并卸载系统自带的 Mariadb
rpm -qa|grep mariadb
rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
rpm -qa|grep mariadb
# 注:mariadb-libs-5.5.68-1.el7.x86_64需根据"rpm -qa|grep mariadb"命令查询出来的具体名称进行替换,即"rpm -e --nodeps xxx"命令为具体的卸载命令,可将已经安装好的mariadb进行卸载。

# 2. 检查系统是否安装过 MySQL
rpm -qa | grep mysql
# 如果系统中存在 MySQL ,查询所有 MySQL 对应的文件夹,使用"rm -r"命令全部删除: 
# whereis mysql
# find / -name mysql

# 3. 检查并安装MySQL运行依赖组件
yum install -y libaio.so.1
yum install -y libaio

2.创建系统用户并解压

# 1. 创建 mysql 用户组和用户
cat /etc/group | grep mysql
cat /etc/passwd | grep mysql
# 注:如果执行上面的命令发现已经有了mysql用户,可跳过创建用户;否则执行下面的命令创建mysql用户
groupadd mysql
useradd -r -g mysql mysql

# 2. 解压下载的tar文件
mkdir /usr/local/mysql # MySQL的安装路径,可以自行调整
cd /packages # 进入存放mysql安装包的目录
tar -xvf mysql-5.7.44-linux-glibc2.12-x86_64.tar
tar -zxvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.44-linux-glibc2.12-x86_64 /usr/local/mysql
mkdir /usr/local/mysql/data

# 3. 更改文件夹权限
chown -R mysql:mysql /usr/local/mysql/
chmod -R 755 /usr/local/mysql/

3.初始化MySQL

# 1. 初始化mysql并获取密码
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
# 注:执行完成后,记住初始密码:[Note] A temporary password is generated for root@localhost: 初始密码

# 2. 添加my.cnf 配置文件
vim /etc/my.cnf
# 按i键进入编辑模式
[mysqld]
datadir=/usr/local/mysql/data
port=3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=2000
innodb_file_per_table=1
lower_case_table_names=1
# 按esc键退出编辑,输入:wq保存退出

# 3. 编辑mysql.server 文件(如果安装到/usr/local/mysql目录下,则无需修改此文件)
# 如果没有安装下/usr/local/mysql目录下,那么需要修改成对应的安装目录。下面以安装到/mysql目录下为例,修改如下:
vim /mysql/support-files/mysql.server
# 按i键进入编辑模式
basedir=/mysql
datadir=/mysql/data
if test -z "$basedir"
then
  basedir=/mysql
  bindir=/mysql/bin
  if test -z "$datadir"
  then
    datadir=/mysql/data
  fi
  sbindir=/mysql/bin
  libexecdir=/mysql/bin
else
  bindir="$basedir/bin"
  if test -z "$datadir"
  then
    datadir="$basedir/data"
  fi
  sbindir="$basedir/bin"
  libexecdir="$basedir/bin"
fi
# 按esc键退出编辑,输入:wq保存退出

4.启动MySQL

# 1. 配置并启动mysql服务
/usr/local/mysql/support-files/mysql.server start
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
service mysql restart

# 2. 配置开机自启
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --list

5. 访问MySQL

# 1.访问mysql并修改初始密码
mysql -u root -p
set password for root@localhost = password('新密码');
quit;

# 2.创建数据库并授权
# 创建数据库
CREATE DATABASE 数据库名 CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
# 创建用户并授权指定数据库的所有权限
CREATE USER '用户名'@'%' IDENTIFIED BY '密码';
GRANT ALL ON 数据库名.* TO '用户名'@'%';
flush privileges;
# 针对用户回收执行数据库的drop权限
REVOKE DROP ON 数据库名.* FROM '用户名'@'%';
flush privileges;

三、主从集群部署步骤

主从节点的部署步骤,与单节点部署基本相同,所以基本部署流程按照单节点部署的步骤进行即可,在部署过程中,注意以下几点,对应进行修改即可。

1. 在my.cnf配置文件中添加配置

在按照单节点部署的过程中,当进行初始化配置my.cnf配置文件时,主、从节点分别添加下面的配置信息。

# master主节点配置信息
# 在[mysqld]区域下添加配置信息:
# 配置主从模式,master节点配置:
server-id=1
log_bin=mysql-bin
log_bin_index=mysql-bin.index
binlog_ignore_db=mysql
# slave主节点配置信息
# 在[mysqld]区域下添加配置信息:
# 配置主从模式,slave节点配置:
server-id=2
log-bin=/usr/local/mysql/data/binlog/mysql-bin
relay-log=/usr/local/mysql/data/relay/slave-relay-bin
relay-log-index=/usr/local/mysql/data/relay/slave-relay-bin.index

2. 配置主从同步

在按照单节点部署方式部署完成后,便可以开始配置主从同步,以下命令分别在主库和从库中进行执行。

# master节点配置
# 进入主库
mysql -u root -p
# 创建slave节点用来备份的用户,"slave节点ip"可以使用%通配符
grant replication slave on *.* to 备份用户名@'slave节点ip' identified by '密码';
# 查看数据同步信息,从库连接主库进行同步信息时需要使用此命令查询出来的信息
show master status;
# slave节点配置:
# 进入从库
mysql -u root -p

#-- 连接master主服务器
#-- master_host对应主服务器的IP地址
#-- master_port对应主服务器的端口
#-- master_log_file对应show master status显示的File列:master-bin.000002
#-- master_log_pos对应show master status显示的Position列:154
change master to master_host='master节点ip',master_port=3306,master_user='备份用户名',master_password='密码',master_log_file='master-bin.000002',master_log_pos=154;

#-- 启动slave数据同步
start slave;
#-- 查看数据同步状态:Slave_IO_Running 和 Slave_SQL_Running 都为 YES,则表示同步成功
show slave status\G;
#-- 停止slave数据同步
#-- slave stop;

总结

本文仅仅简单介绍了在我们使用centos服务器上部署MySQL5.7服务的过程,部署其他版本的MySQL服务过程类似,如有需要,读者可以自行尝试,这里不做过多赘述。

此外,本文也介绍了搭建MySQL主从复制的简单过程,但MySQL主从集群本身并不包含读写分离的能力,如果项目上需要进行读写分离,提高应用的数据库读写性能,还需要依赖于其他第三方中间件等进行实现,后续将在单独的文章中总结,这里不做过多赘述。

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于在 CentOS 上安装和部署 MySQL 5.7.41,您可以按照以下步骤进行操作: 1. 确保您的 CentOS 系统已经安装了 `wget` 和 `tar` 工具。如果没有安装,可以使用以下命令进行安装: ``` sudo yum install wget tar ``` 2. 使用 `wget` 下载 MySQL 5.7.41 的二进制版本。您可以从 MySQL 官方网站下载适用于 CentOS 的二进制版本,例如: ``` wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.41-linux-glibc2.12-x86_64.tar.gz ``` 3. 解压下载的二进制文件: ``` tar -zxvf mysql-5.7.41-linux-glibc2.12-x86_64.tar.gz ``` 4. 移动解压后的文件夹到 `/usr/local` 目录下: ``` sudo mv mysql-5.7.41-linux-glibc2.12-x86_64 /usr/local/mysql ``` 5. 创建 MySQL 数据存储目录: ``` sudo mkdir /usr/local/mysql/data ``` 6. 授权 MySQL 数据存储目录给 MySQL 用户: ``` sudo chown -R mysql:mysql /usr/local/mysql/data ``` 7. 初始化 MySQL 数据库: ``` cd /usr/local/mysql sudo ./bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data ``` 8. 启动 MySQL 服务: ``` sudo ./bin/mysqld_safe --user=mysql & ``` 9. 设置 MySQL 环境变量: ``` echo 'export PATH=$PATH:/usr/local/mysql/bin' >> ~/.bashrc source ~/.bashrc ``` 10. 运行 MySQL 安全脚本以加强安全性并设置 root 用户密码: ``` sudo ./bin/mysql_secure_installation ``` 11. 您现在应该可以通过以下命令登录到 MySQL: ``` mysql -u root -p ``` 这些步骤将帮助您在 CentOS 上安装和部署 MySQL 5.7.41。请注意,这只是基本的安装步骤,您可能还需要根据您的实际需求进行其他配置和调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值