CentOS7安装部署双版本MySQL

文章目录

  • CentOS7安装部署双版本MySQL
  • 一、前言
    • 1.场景
    • 2.环境
  • 二、安装MySQL 5.6
  • 三、安装MySQL 8.0
    • 1. 解压并移动 MySQL 文件
    • 2. 创建并配置 my.cnf
    • 3.修改mysql.server
    • 4. 添加用户组和用户
    • 5. 初始化 MySQL 数据目录
    • 6. 创建systemd服务文件
    • 7.创建符号链接
    • 8.首次登录
    • 9.允许所有主机连接
    • 10.常用命令

CentOS7安装部署双版本MySQL

一、前言

1.场景

  • N年前服务器上安装了 MySQL 5.6,现在新项目需要升级到 MySQL 8.0;为了保证旧项目的稳定性,需要继续使用服务器上的 MySQL 5.6。同时,为了支持新项目,需要在服务器上安装 MySQL 8.0

2.环境

  • Linux 发行版:CentOS-7-x86_64-DVD-1804.iso
  • MySQL 版本:mysql-8.0.34-linux-glibc2.17-x86_64.tar.gz

MySQL Product Archives:https://downloads.mysql.com/archives/community/

CentOS7安装部署MySQL80:https://blog.csdn.net/u011424614/article/details/132418916

CentOS7部署MySQL80集群:https://blog.csdn.net/u011424614/article/details/133222091

CentOS基础操作命令:https://blog.csdn.net/u011424614/article/details/94555916

[ContOS] MySQL安装部署:https://blog.csdn.net/u011424614/article/details/94555816

二、安装MySQL 5.6

  • 安装参考:《ContOS7安装部署MySQL56》
  • 安装文件:rpm 安装包
  • 目录:
  1. 数据库文件目录,例如表结构和数据:/var/lib/mysql
  2. 配置文件目录:/usr/share/mysql/
  3. 相关命令目录:/usr/bin

三、安装MySQL 8.0

1. 解压并移动 MySQL 文件

  • 下载压缩包:https://downloads.mysql.com/archives/community/
# 解压压缩包到指定目录
tar -xzf mysql-8.0.34-linux-glibc2.17-x86_64.tar.gz -C /usr/local/

# 修改目录名称
mv /usr/local/mysql-8.0.34-linux-glibc2.17-x86_64/ /usr/local/mysql80/

# 创建数据目录
cd /usr/local/mysql80/
mkdir data

2. 创建并配置 my.cnf

  • 配置 my.cnf
cat > /usr/local/mysql80/my.cnf <<EOF
[mysqld]
basedir=/usr/local/mysql80/
datadir=/usr/local/mysql80/data/
port=3307
socket=/tmp/mysql80.sock
character-set-server=UTF8MB4
symbolic-links=0

# 开启 binlog
log-bin=/usr/local/mysql80/mysql-bin
server-id=1

gtid_mode=on
enforce_gtid_consistency=on

# 最大连接数设置
max_connections=1000
# 大小写不敏感
lower_case_table_names=1

[mysqld_safe]
log-error=/usr/local/mysql80/data/error.log
pid-file=/usr/local/mysql80/data/mysqld.pid
tmpdir=/tmp/mysql80
EOF
  • 设置权限
chmod 755 /usr/local/mysql80/my.cnf
  • 备用命令
# 查找系统上所有名为 my.cnf 的文件
find / -name 'my.cnf'

# 查看 MySQL 默认的配置文件路径
mysqld --verbose --help | grep -A 1 "Default options"

3.修改mysql.server

  • 修改 mysql.server
vim /usr/local/mysql80/support-files/mysql.server

修改内容:

# 填写目录
basedir=/usr/local/mysql80
datadir=/usr/local/mysql80/data

# 加上80
lock_file_path="$lockdir/mysql80"

# 填写 pid 目录
mysqld_pid_file_path=/usr/local/mysql80/data/mysqld.pid

# 填写 my.cnf 目录
conf=/usr/local/mysql80/my.cnf

4. 添加用户组和用户

# 添加用户组和用户
groupadd mysql
useradd mysql -g mysql

# 目录授权
chown -R mysql:mysql /usr/local/mysql80/

5. 初始化 MySQL 数据目录

  • 注意:lower_case_table_names=1 表示表名和数据库名在存储时转换为小写,但在比较时不区分大小写;这个配置需在初始化时加上,否则在 my.cnf 中配置后,mysql 无法正常启动
cd /usr/local/mysql80/bin

# 初始化
mysqld --defaults-file=/usr/local/mysql80/my.cnf --lower_case_table_names=1 --user=mysql --initialize

输出密码:cNp0g1/<<Kda

[Note] [MY-010454] [Server] A temporary password is generated for root@localhost: cNp0g1/<<Kda

6. 创建systemd服务文件

  • 配置 mysql80.service
cat > /etc/systemd/system/mysql80.service <<EOF
[Unit]
Description=MySQL Server 8.0
Documentation=man:mysqld(8)
Documentation=https://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/mysql80/support-files/mysql.server start
ExecStop=/usr/local/mysql80/support-files/mysql.server stop
ExecReload=/usr/local/mysql80/support-files/mysql.server restart
User=mysql
Group=mysql
PIDFile=/usr/local/mysql80/data/mysqld.pid
LimitNOFILE=5000

[Install]
WantedBy=multi-user.target
EOF
  • 重新加载 systemd 配置
systemctl daemon-reload
  • 设置 MySQL 服务开机自启动
systemctl enable mysql80
  • 启动 MySQL 服务
systemctl start mysql80
  • 验证 MySQL 服务状态
systemctl status mysql80

7.创建符号链接

  • 创建符号链接,实现使用 mysql80 运行 MySQL 8.0 的客户端工具
# 创建符号链接
ln -s /usr/local/mysql80/bin/mysql /usr/bin/mysql80

# 验证效果,查询 mysql 版本
mysql80 -V

8.首次登录

  • 登录
# 输入在【5. 初始化 MySQL 数据目录】时,输出的密码
mysql80 -uroot -p -S/tmp/mysql80.sock
  • 修改密码
# 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root@123456';

9.允许所有主机连接

  • (MySQL 客户端中执行)
use mysql;

#-- 查询 Host 值
SELECT User, Host FROM mysql.user WHERE User = 'root';

#-- Host 修改为 %
update user set host='%' where user='root' and host='localhost';

#-- 刷新权限
flush privileges;

10.常用命令

功能命令
systemctl start mysqld80启动服务
systemctl enable mysqld80开机自启动
systemctl status mysqld80服务状态
systemctl restart mysqld80重启服务
systemctl stop mysqld80停止服务
mysql80 -uroot -p
mysql80 -uroot -p -S/tmp/mysql80.sock
客户端登录

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/781797.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

中霖教育:二级建造师未注册还需要继续教育吗?

关键词&#xff1a;中霖教育怎么样&#xff0c;中霖教育口碑 如果通过了二级建造师考试但是没有注册&#xff0c;还用继续教育吗? 1. 未注册的二级建造师 二级建造师在其证书获取后三年内没有进行注册时&#xff0c;在申请初始注册之前必须完成规定的本专业继续教育课程。 …

计算样本之间的相似度

文章目录 前言一、距离度量1.1 欧几里得距离&#xff08;Euclidean Distance&#xff09;1.2 曼哈顿距离&#xff08;Manhattan Distance&#xff09;1.3 切比雪夫距离&#xff08;Chebyshev Distance&#xff09;1.4 闵可夫斯基距离&#xff08;Minkowski Distance&#xff09…

Java里的Arrary详解

DK 中提供了一个专门用于操作数组的工具类&#xff0c;即Arrays 类&#xff0c;位于java.util 包中。该类提供了一些列方法来操作数组&#xff0c;如排序、复制、比较、填充等&#xff0c;用户直接调用这些方法即可不需要自己编码实现&#xff0c;降低了开发难度。 java.util.…

时序预测 | Matlab实现TCN-Transformer的时间序列预测

时序预测 | Matlab实现TCN-Transformer的时间序列预测 目录 时序预测 | Matlab实现TCN-Transformer的时间序列预测效果一览基本介绍程序设计 效果一览 基本介绍 基于TCN-Transformer模型的时间序列预测&#xff0c;可以用于做光伏发电功率预测&#xff0c;风速预测&#xff0c;…

XSS平台的搭建

第一步&#xff1a;安装MySQL 数据库 因为xss平台涉及到使用mysql 数据库&#xff0c;在安装之前&#xff0c;先使用docker 安装mysql 数据库。 docker run --name mysqlserver -e MYSQL_ROOT_PASSWORD123 -d -i -p 3309:3306 mysql:5.6 第二步&#xff1a;安装xssplatform…

机械键盘如何挑选

机械键盘的选择是一个关键的决策&#xff0c;因为它直接影响到我们每天的打字体验。在选择机械键盘时&#xff0c;有几个关键因素需要考虑。首先是键盘的键轴类型。常见的键轴类型包括蓝轴、红轴、茶轴和黑轴等。不同的键轴类型具有不同的触发力、触发点和声音。蓝轴通常具有明…

「多模态大模型」解读 | 突破单一文本模态局限

编者按&#xff1a;理想状况下&#xff0c;世界上的万事万物都能以文字的形式呈现&#xff0c;如此一来&#xff0c;我们似乎仅凭大语言模型&#xff08;LLMs&#xff09;就能完成所有任务。然而&#xff0c;理想很丰满&#xff0c;现实很骨感——数据形态远不止文字一种&#…

2024年06月CCF-GESP编程能力等级认证Python编程二级真题解析

本文收录于专栏《Python等级认证CCF-GESP真题解析》&#xff0c;专栏总目录&#xff1a;点这里&#xff0c;订阅后可阅读专栏内所有文章。 一、单选题&#xff08;每题 2 分&#xff0c;共 30 分&#xff09; 第 1 题 小杨父母带他到某培训机构给他报名参加CCF组织的GESP认证…

GESP C++一级真题

PDF图片1-7 点赞❤️关注&#x1f60d;收藏⭐️ 互粉必回&#x1f64f;&#x1f64f;&#x1f64f;

【Linux】打包命令——tar

打包和压缩 虽然打包和压缩都涉及将多个文件组合成单个实体&#xff0c;但它们之间存在重要差异。 打包和压缩的区别&#xff1a; 打包是将多个文件或目录组合在一起&#xff0c;但不对其进行压缩。这意味着打包后的文件大小可能与原始文件相同或更大。此外&#xff0c;打包…

上位机图像处理和嵌入式模块部署(mcu项目1:假设用51单片机实现)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 到目前位置&#xff0c;我们借助于qt和apm32 mcu芯片&#xff0c;实现了大多数功能。大家如果回过头来看&#xff0c;其实这些功能并不复杂。从固件…

现场Live震撼!OmAgent框架强势开源!行业应用已全面开花

第一个提出自动驾驶并进行研发的公司是Google&#xff0c;巧的是&#xff0c;它发布的Transformer模型也为今天的大模型发展奠定了基础。 自动驾驶已经完成从概念到现实的华丽转变&#xff0c;彻底重塑了传统驾车方式&#xff0c;而大模型行业正在经历的&#xff0c;恰如自动驾…

Canvas:掌握颜色线条与图像文字设置

想象一下&#xff0c;用几行代码就能创造出如此逼真的图像和动画&#xff0c;仿佛将艺术与科技完美融合&#xff0c;前端开发的Canvas技术正是这个数字化时代中最具魔力的一环&#xff0c;它不仅仅是网页的一部分&#xff0c;更是一个无限创意的画布&#xff0c;一个让你的想象…

计算云服务2

第二章 裸金属服务器 什么是裸金属服务器(BMS) 裸金属服务器(Bare Metal Server&#xff0c;BMS)是一款兼具虚拟机弹性和物理机性能的计算类服务为用户以及相关企业提供专属的云上物理服务器&#xff0c;为核心数据库、关键应用系统、高性能计算、大数据等业务提供卓越的计算…

PCIe 规范核心知识线介绍

0&#xff0c;总体Topology x86 处理器系统中 PCIe的拓扑结构&#xff1a; PCIe Switch的总体结构 1&#xff0c;PCIe 枚举 BIOS 负责枚举与分派配置设备的 BusID[7:0] : DeviceID[4:0] : FunctionID[2:0]; cpu先识别 Host-PCI-Bridge&#xff0c;其下是Bus0&#xff1b; 在…

Linux:DHCP服务配置

目录 一、DHCP概述以及DHCP的好处 1.1、概述 1.2、DHCP的好处 二、DHCP的模式与分配方式 2.1、模式 2.2、DHCP的分配方式 三、DHCP工作原理 四、安装DHCP服务 五、DHCP局部配置并且测试 5.1、subnet 网段声明 5.2、客户机预留指定的固定ip地址 一、DHCP概述以及DHCP…

在CentOS7云服务器下搭建MySQL网络服务详细教程

目录 0.说明 1.卸载不要的环境 1.1查看当前环境存在的服务mysql或者mariadb 1.2卸载不要的环境 1.2.1先关闭相关的服务 1.2.2查询曾经下载的安装包 1.2.3卸载安装包 1.2.4检查是否卸载干净 2.配置MySQLyum源 2.1获取mysql关外yum源 2.2 查看当前系统结合系统配置yum…

EN-SLAM:Implicit Event-RGBD Neural SLAM解读

论文路径&#xff1a;https://arxiv.org/pdf/2311.11013.pdf 目录 1 论文背景 2 论文概述 2.1 神经辐射场&#xff08;NeRF&#xff09; 2.2 事件相机&#xff08;Event Camera&#xff09; 2.3 事件时间聚合优化策略&#xff08;ETA&#xff09; 2.4 可微分的CRF渲染技术…

最新版Python安装教程

一、安装Python 1.下载Python 访问Python官网&#xff1a; https:/www.oython.orgl 点击downloads按钮&#xff0c;在下拉框中选择系统类型(windows/Mac OS./Linux等) 选择下载最新稳定版本的Python 以下内容以演示安装Windows操作系统64位的python 左边是稳定发布版本Stabl…

芯片封装简介

1、背景 所谓“封装技术”是一种将集成电路用绝缘的塑料或陶瓷材料打包的技术。以CPU为例&#xff0c;实际看到的体积和外观并不是真正的CPU内核的大小和面貌&#xff0c;而是CPU内核等元件经过封装后的产品。封装技术对于芯片来说是必须的&#xff0c;也是至关重要的。因为芯片…