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
相关推荐
nice_lcj5207 分钟前
MySQL中GROUP_CONCAT函数详解 | 按日期分组拼接销售产品经典案例
数据库·mysql
·云扬·35 分钟前
MySQL索引实战指南:添加场景、联合索引要点与失效场景解析
数据库·mysql
小白考证进阶中1 小时前
MySQL OCP认证可以考中文?备考难度怎么样?
数据库·mysql·dba·数据库管理·开闭原则·数据库管理员·mysql认证
小冷coding1 小时前
【Java】以 Java + Redis + MySQL 为技术栈,模拟电商商品详情的读写场景,Cache Aside+ 延迟双删 方案
java·redis·mysql
韩立学长2 小时前
【开题答辩实录分享】以《足球球员数据分析系统开题报告》为例进行选题答辩实录分享
java·数据库·mysql
小-黯2 小时前
QT编译MySQL驱动教程(Windows/Linux)
windows·qt·mysql
萧咕3 小时前
理解MySQL数据可视化的核心概念
数据库·mysql·信息可视化
静谧空间3 小时前
Linux自动备份Mysql数据
linux·运维·mysql
霖霖总总3 小时前
[小技巧40]MySQL中的MVCC:多版本并发控制的深度解析
数据库·mysql
德彪稳坐倒骑驴3 小时前
DataX将数据在MySQL和HDFS之间互相迁移
数据库·mysql·hdfs