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
相关推荐
AIgorithmGEEK3 小时前
MySQL 索引全解(下):建、查、删实战与知识速查表
数据库·mysql·b+树·索引
Lost_the_wind3 小时前
MySQL学习笔记四
mysql
geovindu7 小时前
sql:Search-Optimized SQL Queries using mysql 9.0
android·数据库·sql·mysql·数据库开发·数据库架构
for_ever_love__7 小时前
MySQL SELECT 与 WHERE 优化实战:可搜索条件、联合索引与执行计划
数据库·mysql·oracle·select·where·条件优化·查询优化技巧
2501_931803758 小时前
MySQL 锁机制详解
数据库·mysql
.Hypocritical.10 小时前
MySQL |常用 SQL 语句与 pymysql 函数
mysql
NineData11 小时前
MySQL 到 Doris 实时数据同步:订单、用户和日志数据入仓方案
数据库·mysql
Dovis(誓平步青云)12 小时前
现场问题先关闭还是先验收,建筑任务怎样处理依赖
前端·javascript·数据库·mysql·音视频
xuefuhe13 小时前
MySQL:group_replication_start_on_boot vs group_replication_bootstrap_group
mysql
for_ever_love__13 小时前
MySQL Online DDL 完全指南:INSTANT/INPLACE/COPY 三种算法、MDL 锁事故与 gh-ost 实战
数据库·mysql·ddl·online·gh-ost·锁表·加字段