Centos二进制方式搭建Mysql8,并升级mysql8.0.33到mysql8.3.0

  1. 准备安装包

    # 切换目录
    cd /usr/local/src/
    # 下载libaio包
    wget http://mirror.centos.org/centos/7/os/x86_64/Packages/libaio-0.3.109-13.el7.x86_64.rpm
    # 下载MySQL8.0.33安装包
    wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.33-linux-glibc2.17-x86_64-minimal.tar.xz
    # 下载mysql8.3.0安装包
    wget https://cdn.mysql.com/archives/mysql-8.3/mysql-8.3.0-linux-glibc2.17-x86_64.tar.xz
    wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.43-linux-glibc2.12-x86_64.tar.gz
    wget https://cdn.mysql.com/archives/mysql-8.4/mysql-8.4.0-linux-glibc2.17-x86_64.tar.xz
    # 批量解压缩或者使用tar -xvf   xxx.tar.xz单个解压缩
    # 测试xargs命令  echo "1 2 , 3 4" |xargs -n1
    ls *.tar.xz | xargs -n1 tar xvf
    

  2. 开始安装

    1. 安装libaio包

      # 查询libaio是否安装,下面提示已安装,跳过此步骤
      [root@VM-16-2-centos mysql]# rpm -qa |grep libaio
      libaio-0.3.109-13.el7.x86_64
      [root@VM-16-2-centos mysql]## 如果提示未安装libaio,则进行安装
      [root@VM-16-2-centos mysql]# # rpm -ivh libaio-0.3.109-13.el7.x86_64.rpm
      

    2. 创建mysql用户和用户组

      # 查询mysql的用户和用户组是否存在,下面提示存在则跳过此步骤
      [root@VM-16-2-centos mysql]# cat /etc/passwd |grep mysql
      mysql:x:995:1001::/home/mysql:/bin/bash
      [root@VM-16-2-centos mysql]# cat /etc/group |grep mysql
      mysql:x:1001:
      [root@VM-16-2-centos mysql]#
      # 如果不存在则创建mysql用户和用户组
      # 创建用户组mysql
      groupadd mysql
      # 创建用户mysql并将其添加到用户组mysql
      useradd -r -g mysql mysql

    3. 初始化配置文件

      #使用vi命令编辑 vi /etc/my.cnf, 内容如下[mysqld]
      port = 3306
      user = mysql
      #basedir=/usr/local/src/mysql-8.4.0-linux-glibc2.17-x86_64
      datadir=/data/mysql-data
      # 设置binlog日志有效期20天
      expire_logs_days=20
      log_error=error.log
      general_log=OFF[mysql]
      prompt=\\u@\\h:\\d \\r:\\m:\\s>[client]
      user=root
      password=123456

    4. 配置mysql的相关软连接和配置

      # mysql主目录软连接到usr/local/mysql
      ln -s /usr/local/src/mysql-8.0.33-linux-glibc2.17-x86_64-minimal /usr/local/mysql
      # 软连接mysql客户端和启动脚本
      ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
      ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql

    5. 初始化数据库,启动服务

      # 初始化数据库,会在/data/mysql-data下创建元数据
      /usr/local/mysql/bin/mysqld --initialize --user=mysql
      # 启动mysql数据库
      /usr/local/mysql/bin/mysqld_safe --user=mysql &
      # 之后可以使用service启动,停止数据库
      service mysql start## 初始化后会在最后提示密码
      [root@VM-16-2-centos data]# /usr/local/mysql/bin/mysqld --initialize --user=mysql
      2024-07-08T02:28:13.187355Z 0 [Warning] [MY-010918] [Server] 'default_authentication_plugin' is deprecated and will be removed in a future release. Please use authentication_policy instead.
      2024-07-08T02:28:13.187378Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.33) initializing of server in progress as process 13654
      2024-07-08T02:28:13.194616Z 0 [Warning] [MY-013242] [Server] --character-set-server: 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
      2024-07-08T02:28:13.207166Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
      2024-07-08T02:28:13.919112Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
      2024-07-08T02:28:15.322041Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: FCjdMJ,W<1El## 启动后会提示错误日志文件的位置 /data/mysql-data/error.log
      [root@VM-16-2-centos data]# /usr/local/mysql/bin/mysqld_safe --user=mysql &
      [1] 15620
      [root@VM-16-2-centos data]# 2024-07-08T02:33:22.288351Z mysqld_safe Logging to '/data/mysql-data/error.log'.
      2024-07-08T02:33:22.313324Z mysqld_safe Starting mysqld daemon with databases from /data/mysql-data## 可以在错误日志文件中查询初始密码
      [root@VM-16-2-centos data]# cat /data/mysql-data/error.log |grep password
      2024-07-08T02:33:12.323826Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: FCjdMJ,W<1El

  3. 修改默认密码并开启远程连接

    [root@VM-16-2-centos data]# mysql -u root -p'FCjdMJ,W<1El'# 以下操作均在mysql bash中输入# 密码设置为123456,永不过期
    ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
    # 刷新权限
    flush privileges;# 切换至mysql数据库
    use mysql;
    # 设置允许远程登录,不限制ip
    update user set user.Host='%' where user.User='root';
    # 刷新权限
    flush privileges;
    

  4. 设置开机自启

    # 将服务文件拷贝到init.d下,并重命名为mysql
    cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
    # 赋予可执行权限
    chmod 777 /etc/init.d/mysql
    # 添加服务到自启动列表
    chkconfig --add mysql
    # 查询自启动列表
    [root@VM-16-2-centos data]# chkconfig Note: This output shows SysV services only and does not include nativesystemd services. SysV configuration data might be overridden by nativesystemd configuration.If you want to list systemd services use 'systemctl list-unit-files'.To see services enabled on particular target use'systemctl list-dependencies [target]'.mysql          	0:off	1:off	2:on	3:on	4:on	5:on	6:off
    netconsole     	0:off	1:off	2:off	3:off	4:off	5:off	6:off
    network        	0:off	1:off	2:on	3:on	4:on	5:on	6:off

  5. 测试连接-使用本地windows客户端连接mysql 端口3306,用户名root,密码123456

  6. mysql升级

    1. 数据备份及程序升级

      # 逻辑备份数据库
      #mysqldump备份
      mysqldump -uroot -p123456 --all-databases > ./back.sql
      mysqldump -u root -p --all-databases --single-transaction --quick --lock-tables=false > full-backup.sql
      # 停止mysql服务
      service mysql stop 
      # 备份数据库目录
      cp -r /data/mysql-data/ /data/mysql-data0708
      # 删除软连接
      unlink /usr/local/mysql
      # 创建软连接-升级后的程序目录
      ln -s /usr/local/src/mysql-8.3.0-linux-glibc2.17-x86_64 mysql
      # 启动mysql服务
      service mysql start# 备注 mysql数据恢复命令
      # mysql -u root -p --force < data-for-upgrade.sql

    2. 观察错误日志

      [root@VM-16-2-centos local]# service mysql restartERROR! MySQL server PID file could not be found!
      Starting MySQL... ERROR! The server quit without updating PID file (/data/mysql-data/VM-16-2-centos.pid).

    3. 进行数据或者配置文件的修复

    4. # 查看日志文件的错误信息
      [root@VM-16-2-centos local]# cat /data/mysql-data/error.log |grep 'ERROR'
      2024-07-08T03:00:49.368924Z 0 [ERROR] [MY-000067] [Server] unknown variable 'expire_logs_days=20'.
      2024-07-08T03:00:49.370590Z 0 [ERROR] [MY-010119] [Server] Aborting
      2024-07-08T03:00:55.287583Z 0 [ERROR] [MY-000067] [Server] unknown variable 'expire_logs_days=20'.
      2024-07-08T03:00:55.288511Z 0 [ERROR] [MY-010119] [Server] Aborting
      # 删除配置文件的日志过期时间的配置,或者重新设置日志过期时间
      [root@VM-16-2-centos local]# /usr/local/mysql/bin/mysqld --help --verbose |grep expire--binlog-expire-logs-auto-purge (Defaults to on; use --skip-binlog-expire-logs-auto-purge to disable.)--binlog-expire-logs-seconds=# binlog_expire_logs_seconds seconds; Purges happen atThe number of days after which the password will expire.--disconnect-on-expired-password (Defaults to on; use --skip-disconnect-on-expired-password to disable.)with a random expired password and store it into the log.The timeout to expire sessions in the TLS session cache
      binlog-expire-logs-auto-purge                                TRUE
      binlog-expire-logs-seconds                                   2592000
      disconnect-on-expired-password                               TRUE
      [root@VM-16-2-centos local]# 
      # 可以看到binlog过期时间的设置是binlog-expire-logs-seconds,并且有默认值,单位是秒
      vi /etc/my.cnf
      #设置binlog的过期时间是20天
      binlog-expire-logs-seconds=1728000

  7. 问题汇总

    1. 升级之后服务无法启动

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ANR日志输出

appNotResponding //com.android.server.am.AppErrors.java/* app: 当前发生ANR的进程* activity: 发生ANR的界面* parent: 发生ANR的界面的上一级界面* aboveSystem: * annotation: 发生ANR的原因*/ final void appNotResponding(ProcessRecord app, ActivityRecord activity…

Zabbix分布式监控

目录 分布式监控架构 实现分布式监控的步骤 优点和应用场景 安装Zabbix_Proxy Server端Web页面配置 测试 Zabbix 的分布式监控架构允许在大规模和地理上分散的环境中进行高效的监控。通过分布式监控&#xff0c;Zabbix 可以扩展其监控能力&#xff0c;支持大量主机和设备…

企业网站用免费wordpress主题的风险和弊端

免费WordPress主题除了不用花钱之外&#xff0c;几乎没有什么好处。个人网站如果用用还可以&#xff0c;如果是企业用的商业网站&#xff0c;最好不要用免费的WordPress主题模板&#xff0c;一但发生问题&#xff0c;你将付出的代价&#xff0c;比两三百元买个付费的WordPress主…

基于全志Orangepi Zero 2 的语音刷抖音项目

目录 一、硬件连接 二、项目实现功能 三、SU-03T语音模块的配置和烧录 3.1 创建产品&#xff1a; 3.2 设置PIN引脚为串口模式&#xff1a; 3.3 设置唤醒词&#xff1a; 3.4 设置指令语句&#xff1a; 3.5 设置控制详情&#xff1a; 3.6 发音人配置&#xff1a; 3.7 其…

atcoder 357 F Two Sequence Queries (线段树板子)

题目&#xff1a; 分析&#xff1a; 线段树 代码&#xff1a; // Problem: F - Two Sequence Queries // Contest: AtCoder - SuntoryProgrammingContest2024&#xff08;AtCoder Beginner Contest 357&#xff09; // URL: https://atcoder.jp/contests/abc357/tasks/abc357_…

华为HCIP Datacom H12-821 卷29

1.多选题 下面关于LSA age字段&#xff0c;描述正确的是∶ A、LSA age的单位为秒&#xff0c;在LSDB中的LSA的LS age随时间增长而增长 B、LSA age的单位为秒&#xff0c;在LSDB中的LSA的LS age随时间增长而减少 C、如果一条LSA的LS age达到了LS RefreshTime&#xff08…

[spring] Spring MVC - security(下)

[spring] Spring MVC - security&#xff08;下&#xff09; callback 一下&#xff0c;当前项目结构如下&#xff1a; 这里实现的功能是连接数据库&#xff0c;大范围和 [spring] rest api security 重合 数据库连接 - 明文密码 第一部分使用明文密码 设置数据库 主要就是…

内存与硬盘(笔记)

文章目录 1. 内存① 笔记② 相关软件 2. 硬盘① 笔记② 相关软件 3. 区别&#xff1a;4. 推荐 1. 内存 ① 笔记 ① 笔记本的内存条和台式机的内存条是不互通的 ② 我们常说的内存其实指的是运行内存(前台后台同时能运行多少APP) ③ 下图来自京东&#xff1a; 解析&#xff1…

应用程序提权

MYSQL提权 Mysql提权利用场景 1.拥有数据库账号密码 2.Webshell可以连接数据库&#xff0c;能够写文件 3.可操作数据库 如何获取数据库账号密码? 1.找数据库配置文件 2.通过webshell对数据库进行本地爆破 3.Hash获取mysql密码 UDF提权 udf提权指的是利用注…

ubuntu 分区情况

ubuntu系统安装与分区指南 - Philbert - 博客园 (cnblogs.com)https://www.cnblogs.com/liangxuran/p/14872811.html 详解安装Ubuntu Linux系统时硬盘分区最合理的方法-腾讯云开发者社区-腾讯云 (tencent.com)https://cloud.tencent.com/developer/article/1711884

pycharm中快捷键汇总

Pycarm指令汇总 Ctrl鼠标 单击&#xff0c;能直接查看其用法 Ctrl/ 快速注释 CtrlC 在pycharm的terminal中可以停止运行, 其他的地方可以复制。 CtrlV 粘贴 CtrlA 全选 CtrlP 查看&#xff08;&#xff09;中需要填写什么参数 Altenter 自动不补全所需要的库

终于找到了免费的C盘清理软件(极智C盘清理)

搜了很久&#xff0c;终于让我找到了一款 完全免费的C盘清理软件&#xff08;极智C盘清理&#xff09;。 点击前往官网免费使用极智C盘清理软件&#xff1a; C盘清理 用户好评 完全免费的极智C盘清理 用极智C盘清理清理了下系统的临时文件、缓存等无用数据文件&#xff0c;C盘终…

尚硅谷大事件后台API项目(学习自用)

大事件后台API项目 1.初始化 1.1创建项目 首先创建一个文件夹名为api_server&#xff0c;然后用vscode打开这个文件夹&#xff0c;新建终端&#xff0c;在终端输入npm init -y会生成一个package.json文件&#xff0c;接着新建一个文件app.js作为入口文件&#xff0c;在终端安…

哈尔滨等保测评标准的国际比较与启示

随着信息技术的快速发展和全球化趋势的加深&#xff0c;信息安全成为各国政府和企业共同关注的焦点。哈尔滨作为东北地区重要的经济和科技中心&#xff0c;其信息安全等级保护&#xff08;简称“等保”&#xff09;测评标准在确保本地企业信息安全的同时&#xff0c;也面临着与…

Could not find a package configuration file provided by “Torch“ 的参考解决方法

文章目录 写在前面一、问题描述二、解决方法参考链接 写在前面 自己的测试环境&#xff1a; Ubuntu20.04 一、问题描述 自己编译调用 Torch 的程序时&#xff0c;遇到如下报错&#xff1a; Make Error at CMakeLists.txt:15 (find_package):By not providing "FindTor…

设计资料:520-基于ZU15EG 适配AWR2243的雷达验证底板 高速信号处理板 AWR2243毫米波板

基于ZU15EG 适配AWR2243的雷达验证底板 一、板卡概述 本板卡系北京太速科技自主研发&#xff0c;基于MPSOC系列SOC XCZU15EG-FFVB1156架构&#xff0c;搭载两组64-bit DDR4&#xff0c;每组容量32Gb&#xff0c;最高可稳定运行在2400MT/s。另有1路10G SFP光纤接口、1路40G…

使用F1C200S从零制作掌机之构建debian文件系统

前情&#xff1a;使用buildrootfs构建的文件系统调试了很久NES模拟器&#xff0c;执行InfoNES模拟器的时候一直黑屏&#xff0c;无内容显示&#xff0c;调不通了&#xff0c;所以改用debian系统试试。 一、环境配置 首先下载两个工具&#xff1a;qemu-arm-static和debootstra…

uniapp小程序上传文件

需求 小程序需要上传用户相册图片或拍摄的照片到后端服务器 uniapp官方处理小程序文件方法 选择文件方法&#xff1a;uni.chooseMedia uni-app官网uni-app,uniCloud,serverless,uni.chooseVideo(OBJECT),chooseVideo HarmonyOS 兼容性,uni.chooseMedia(OBJECT),uni.saveVid…

Android:如何绘制View

点击查看Android 如何绘制视图官网 一、简介 Android 框架会在 Activity 获得焦点时请求 Activity 绘制其布局。Android 框架会处理绘制流程&#xff0c;但该 Activity 必须提供其布局层次结构的根节点。 Android 框架会绘制布局的根节点&#xff0c;并测量和绘制布局树。它会…

React@16.x(51)路由v5.x(16)- 手动实现文件目录参考

作为前面几篇文章的参考&#xff1a; 实现 Router实现 Route实现 Switch实现 withRouter实现 Link 和 NavLink 以上。