yum安装mysql8

记录一下安装过程用于后面项目参考

目录

说明

一般情况下都是docker安装,部分特殊情况下,例如老外的项目部分禁用docker,那一般二进制安装或者yum直接安装。

  1. 安装操作系统 redhat 7.x
  2. mysql版本 8.0.22
  3. 安装方式为yum安装

安装步骤

确保您具有管理员权限或以root用户身份登录到系统

1.运行以下命令以安装MySQL服务器:

shell 复制代码
sudo yum install mysql-server

2.安装完成后,启动MySQL服务:

shell 复制代码
sudo systemctl start mysqld

3.运行以下命令以保护MySQL安装并设置root密码:

shell 复制代码
sudo mysql_secure_installation

4.完成安全设置后,可以通过以下命令检查MySQL服务的状态:

shell 复制代码
sudo systemctl status mysqld

yum安装默认目录

针对mysql8 redhat 默认安装目录总结如下:

目录 用途 说明
/usr/bin MySQL二进制文件目录 这个目录包含了MySQL服务器和客户端程序的可执行文件,例如mysql、mysqld等
/etc/my.cnf MySQL配置文件目录 这个目录包含了MySQL服务器的配置文件my.cnf,您可以在此文件中进行MySQL的配置
/var/lib/mysql 数据目录 这个目录是MySQL服务器存储数据文件的位置。其中包含了数据库文件、日志文件和其他数据文件
/var/log/mysqld.log 错误日志目录 这个目录包含了MySQL服务器的错误日志文件,您可以在此文件中查看MySQL的错误和警告信息
/tmp 临时文件目录 MySQL服务器使用此目录存储临时文件,例如排序和临时表等
/var/run/mysqld Socket文件目录 MySQL服务器使用此目录存储UNIX域套接字文件,用于与其他进程进行通信

修改默认的数据目录

假设 我们希望将数据目录调整为 /home/guzt/data/

  1. 关闭mysql服务
shell 复制代码
sudo systemctl stop mysqld
  1. 创建自定义目录
shell 复制代码
sudo mkdir /home/guzt/data/mysql
  1. 拷贝数据文件
shell 复制代码
cp -R /var/lib/mysql /home/guzt/data/
  1. 修改自定义目录归属
shell 复制代码
sudo chown -R mysql:mysql /home/guzt/data/
  1. 修改配置文件
shell 复制代码
vim /etc/my.cnf.d/mysql-server.cnf
复制代码
# ##################修改这一行########################
datadir=/home/guzt/data/mysql
# ####################################################
  1. 重启mysql服务
shell 复制代码
sudo systemctl start mysqld
sudo systemctl status mysqld

必要的my.cnf属性修改

shell 复制代码
vim /etc/my.cnf.d/mysql-server.cnf
复制代码
# #####################################################
#若你的MySQL数据库主要运行在境外,请务必根据实际情况调整本参数
default_time_zone = "+8:00"

#设置client连接mysql时的字符集,防止乱码
init_connect ='SET NAMES utf8mb4'

#是否对sql语句大小写敏感,1表示不敏感
lower_case_table_names = 1

#事务隔离级别,默认为可重复读,mysql默认可重复读级别(此级别下可能参数很多间隙锁,影响性能)
transaction_isolation = READ-COMMITTED

#TIMESTAMP如果没有显示声明NOT NULL,允许NULL值
explicit_defaults_for_timestamp = true

#SQL数据包发送的大小,如果有BLOB对象建议修改成1G
max_allowed_packet = 128M

server-id = 110
#开启bin log 功能

log-bin=mysql-bin
#binlog 记录内容的方式,记录被操作的每一行
binlog_format = ROW

#对于binlog_format = ROW模式时,FULL模式可以用于误操作后的flashBack。
#如果设置为MINIMAL,则会减少记录日志的内容,只记录受影响的列,但对于部分update无法flashBack
binlog_row_image = FULL

#bin log日志保存的天数
#如果 binlog_expire_logs_seconds 选项也存在则 expire_logs_days 选项无效
#expire_logs_days 已经被标注为过期参数
#expire_logs_days = 7
binlog_expire_logs_seconds = 1209600

log_replica_updates
relay_log_recovery = 1
replica_skip_errors = ddl_exist_errors

#控制 redolog 写磁盘频率 默认为1
innodb_flush_log_at_trx_commit = 1
#控制 binlog 写磁盘频率
sync_binlog = 1

[mysqldump]
quick
max_allowed_packet = 128M
# #####################################################

卸载Mysql

如果要协助请执行如下步骤:

shell 复制代码
sudo systemctl stop mysqld
sudo yum remove mysql-server
sudo yum remove mysql mysql-server mysql-libs
sudo rm -rf /var/lib/mysql
sudo rm -rf /etc/my.cnf
sudo userdel mysql
sudo groupdel mysql

运行以下命令以清理任何残留的MySQL文件和目录

shell 复制代码
sudo find / -name mysql
sudo find / -name my.cnf
相关推荐
遇事不決洛必達11 分钟前
【数据库系列】本地映射云服务器Mysql的方法
服务器·数据库·mysql·定时任务
yuezhilangniao1 小时前
xtr备份prepare到底变化了啥
mysql
yyk的萌1 小时前
创建属于自己的mysql的mcp
mysql·adb·ai·mcp
流烟默1 小时前
腾讯云Centos7.6使用yum安装MySQL8
mysql·centos·腾讯云
仙俊红1 小时前
如何优化 MySQL 深分页 SQL
android·sql·mysql
超梦dasgg2 小时前
工作中 MySQL 读写分离主从延迟:成因、影响、落地方案、生产实战处理
数据库·mysql
疯狂热爱代码的00后2 小时前
入门必看! MySQL增删改查全套示例SQL 直接复制运行
mysql
huipeng9262 小时前
企业级微服务开发实战(二):微服务基础设施搭建与中间件部署
java·redis·mysql·spring cloud·微服务·nacos·rabbitmq
可乐ea2 小时前
【知识获取与分享社区项目 | 项目日记第 24 天】终章总结:从认证、发布、计数、Feed、搜索到 RAG:完整复盘一个知识社区后端系统
java·spring boot·redis·mysql·elasticsearch·ai·kafka
小小编程路3 小时前
MySQL9.0|融合向量的新一代关系数据库安装配置教程
mysql