CentOS系统环境搭建(七)——Centos7安装MySQL
centos系统环境搭建专栏🔗点击跳转
坦诚地说,本文中百分之九十的内容都来自于该文章🔗Linux:CentOS7安装MySQL8(详),十分佩服大佬文章结构合理,文笔清晰,我曾经在这篇文章指导下成功安装mysql。今天,想把内容搬运写到此博客,方便查看。
Centos7安装MySQL
文章目录
- Centos7安装MySQL
- 1、安装工作
- 1.1、卸载 MariaDB
- 1.1.1、MariaDB
- 1.1.2、卸载
- 1.2、下载资源包
- 1.2.1、官网下载
- 1.2.2、wget 下载
- 1.3、检查旧版本 MySQL
- 1.4、解压安装
- 2、配置工作
- 2.1、基本设置
- 2.1.1、文件夹重命名
- 2.1.2、PATH 变量
- 2.1.3、确认安装
- 2.2、创建用户组、用户
- 2.3、数据目录
- 3、初始化 & 启动
- 3.1、配置文件
- 3.2、初始化
- 3.3、启动 MySQL
- 3.3.1、启动服务
- 3.3.2、登录
- 3.4、修改密码
- 4、远程连接 MySQL
- 4.1、创建远程连接用户
- 4.2、远程连接 MySQL
1、安装工作
1.1、卸载 MariaDB
1.1.1、MariaDB
MySQL 的一个分支,主要由开源社区维护。
CentOS 7+不再默认使用 MySQL 数据库,而是 MariaDB 数据库。- 直接安装 MySQL 会与 MariaDB 的文件冲突。
安装 MySQL 之前,先卸载自带的 MariaDB。
1.1.2、卸载
查看版本:有则需要卸载。
rpm -qa|grep mariadb
卸载:复制文件名,执行以下指令。
rpm -e --nodeps 文件名
确认卸载:
rpm -qa|grep mariadb
[root@VM-4-17-centos myredis]# rpm -qa|grep mariadb
mariadb-libs-5.5.68-1.el7.x86_64
[root@VM-4-17-centos myredis]# rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
[root@VM-4-17-centos myredis]# rpm -qa|grep mariadb
1.2、下载资源包
将 MySQL 资源包放在
/usr/local/下
1.2.1、官网下载
https://downloads.mysql.com/archives/community/

1.2.2、wget 下载
在 /usr/local/ 下执行,下载资源包
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz
1.3、检查旧版本 MySQL
rpm -qa|grep mysql
-
没有输出:说明当前系统没有安装 MySQL,开始安装。
-
有输出:显示的 MySQL 不是想要的版本,则卸载。
停止服务
systemctl stop mysqld
卸载
rpm -e --nodeps mysql文件名
1.4、解压安装
解压:tar 指令。
# .tar.gz 后缀
tar -zxvf 文件名# .tar.xz 后缀
tar -Jxvf 文件名
解压完成:/usr/local/ 下会生成 MySQL 文件夹。
2、配置工作
2.1、基本设置
2.1.1、文件夹重命名
重命名 MySQL 文件夹
mv 原文件夹名 mysql8
2.1.2、PATH 变量
vim /etc/profile
在最下面追加
export PATH=$PATH:/usr/local/mysql8/bin
重载环境变量
source /etc/profile
2.1.3、确认安装
查看版本
mysql --version
确定 MySQL 安装成功后,可删除压缩包。
rm -rf 压缩包名
2.2、创建用户组、用户
注:需要进入
/usr/local
创建用户组:groupadd
groupadd mysql
创建用户:useradd(-r 创建系统用户,-g 指定用户组)
useradd -r -g mysql mysql
2.3、数据目录
创建目录:
mkdir -p /data/mysql8_data
赋予权限:
更改属主和数组
chown -R mysql:mysql /data/mysql8_data
更改模式 只有具有 root 权限的用户和 mysql 用户可以读取、写入和执行
chmod -R 700 /data/mysql8_data
3、初始化 & 启动
3.1、配置文件
在 /usr/local/etc/ 下创建 my.cnf 配置文件用于初始化 MySQL 数据库
[mysql]
# 默认字符集
default-character-set=utf8mb4
[client]
# 客户端使用的端口号
port=3306
# 客户端连接的 socket 路径
socket=/tmp/mysql.sock
[mysqld]
# 服务端使用的端口号
port=3306
# 服务器 ID
server-id=3306
# MySQL 运行用户
user=mysql
# 日志时间系统时间
log_timestamps=SYSTEM
# 默认时区东八区
default-time_zone='+8:00'
# 服务器连接的 socket 路径
socket=/tmp/mysql.sock
# MySQL 安装目录
basedir=/usr/local/mysql8
# 数据存放目录
datadir=/data/mysql8_data/mysql
# 开启二进制日志功能
log-bin=/data/mysql8_data/mysql/mysql-bin
# InnoDB 数据文件存放目录
innodb_data_home_dir=/data/mysql8_data/mysql
# InnoDB 日志文件存放目录
innodb_log_group_home_dir=/data/mysql8_data/mysql
# MySQL 错误日志文件路径
log-error=/data/mysql8_data/mysql/mysql.log
# 存放 MySQL 进程 ID 的文件路径
pid-file=/data/mysql8_data/mysql/mysql.pid
# 表名大小写不敏感
lower_case_table_names=1
# 服务端字符集
character-set-server=utf8mb4
# 自动提交所有事务
autocommit=1
# 跳过排它锁定
skip-external-locking
# 键缓存大小
key_buffer_size=256M
# 允许的最大数据包大小
max_allowed_packet=1M
# 表缓存
table_open_cache=1024
# 排序缓存大小
sort_buffer_size=4M
# 网络缓冲区长度
net_buffer_length=8K
# 读取缓冲区大小
read_buffer_size=4M
# 随机读取缓冲区大小
read_rnd_buffer_size=512K
# MyISAM 排序缓冲区大小
myisam_sort_buffer_size=64M
# 线程缓存大小
thread_cache_size=128
# 临时表大小
tmp_table_size=128M
# 启用显式默认时间戳
explicit_defaults_for_timestamp=true
# 最大连接数
max_connections=500
# 连接错误最大数量
max_connect_errors=100
# 打开文件限制
open_files_limit=65535
# 二进制日志格式
binlog_format=mixed
# 二进制日志过期时间(秒)
binlog_expire_logs_seconds=864000
# 创建表时使用的默认存储引擎
default_storage_engine=InnoDB
# InnoDB 数据文件路径设置
innodb_data_file_path=ibdata1:10M:autoextend
# InnoDB 缓冲池大小
innodb_buffer_pool_size=1024M
# InnoDB 日志文件大小
innodb_log_file_size=256M
# InnoDB 日志缓冲区大小
innodb_log_buffer_size=8M
# InnoDB 每次提交时刷新日志
innodb_flush_log_at_trx_commit=1
# InnoDB 加锁等待超时时间(秒)
innodb_lock_wait_timeout=50
# 事务隔离级别为读已提交
transaction-isolation=READ-COMMITTED
[mysqldump]
# 快速导出数据
quick
# 允许的最大数据包大小
max_allowed_packet=16M
[myisamchk]
# 键缓存大小
key_buffer_size=256M
# 排序缓冲区大小
sort_buffer_size=4M
# 读取缓冲区大小
read_buffer=2M
# 写入缓冲区大小
write_buffer=2M
[mysqlhotcopy]
# 交互式超时时间
interactive-timeout
3.2、初始化
需要进入
/usr/local/mysql8/bin,若添加了 PATH 变量可忽略。
初始化命令:注意文件夹名称。
--defaults-file:指定配置文件(要放在–initialize 前面)--user: 指定用户--basedir:指定安装目录--datadir:指定初始化数据目录--intialize-insecure:初始化无密码(否则生成随机密码)
mysqld --defaults-file=/usr/local/etc/my.cnf --basedir=/usr/local/mysql8 --datadir=/data/mysql8_data/mysql --user=mysql --initialize-insecure
3.3、启动 MySQL
查看 MySQL 的
/bin下是否包含mysqld_safe用于后台安全启动 MySQL
3.3.1、启动服务
安全后台启动 MySQL
# 完整命令
/usr/local/mysql8/bin/mysqld_safe --defaults-file=/usr/local/etc/my.cnf &
# 若添加了PATH变量,可省略如下
mysqld_safe --defaults-file=/usr/local/etc/my.cnf &
确认启动:第二条即 MySQL 服务。
ps -ef|grep mysql
3.3.2、登录
mysql -u root --skip-password
3.4、修改密码
修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
设置密码永不过期(本地)
alter user 'root'@'localhost' password expire never;
刷新权限
FLUSH PRIVILEGES;
4、远程连接 MySQL
4.1、创建远程连接用户
选择 mysql 数据库,查看当前用户
USE mysql;
host 字段表示可访问当前数据库的主机,目前仅本地可访问。
SELECT user,host,plugin,authentication_string FROM user;
创建用户
CREATE user 'root'@'%';
设置首次密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
授权用户所有权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
设置密码永不过期(远程)
alter user 'root'@'%' password expire never;
刷新权限
FLUSH PRIVILEGES;
4.2、远程连接 MySQL
开放端口
- 查看端口状态:no 表示未开启
firewall-cmd --query-port=3306/tcp
- 永久开放端口:
firewall-cmd --add-port=3306/tcp --permanent
- 重启防火墙:
systemctl restart firewalld
至于如何设置mysql开机自启动。请看专栏的下一篇文章。
相关文章:
CentOS系统环境搭建(七)——Centos7安装MySQL
centos系统环境搭建专栏🔗点击跳转 坦诚地说,本文中百分之九十的内容都来自于该文章🔗Linux:CentOS7安装MySQL8(详),十分佩服大佬文章结构合理,文笔清晰,我曾经在这篇文章…...
3.react useRef使用与常见问题
react useRef使用与常见问题 文章目录 react useRef使用与常见问题1. Dom操作: useRef()2. 函数组件的转发: React.forwardRef()3. 对普通值进行记忆, 类似于一个class的实例属性4. 结合useEffect,只在更新时触发FAQ 1. Dom操作: useRef() // 1. Dom操作: useRef()let app doc…...
Axios使用CancelToken取消重复请求
处理重复请求:没有响应完成的请求,再去请求一个相同的请求,会把之前的请求取消掉 新增一个cancelRequest.js文件 import axios from "axios" const cancelTokens {}export const addPending (config) > {const requestKey …...
九耶丨阁瑞钛伦特-Spring boot与Spring cloud 之间的关系
Spring Boot和Spring Cloud是两个相互关联的项目,它们可以一起使用来构建微服务架构。 Spring Boot是一个用于简化Spring应用程序开发的框架,它提供了自动配置、快速开发的特性,使得开发人员可以更加轻松地创建独立的、生产级别的Spring应用程…...
总结,由于顺丰的问题,产生了电脑近期一个月死机问题集锦
由于我搬家,我妈搞顺丰发回家,但是没有检查有没有坏,并且我自己由于不可抗力因素,超过了索赔时间,反馈给顺丰客服,说超过了造成了无法索赔的情况,现在总结发生了损坏配件有几件,显卡…...
C#程序配置读写例子 - 开源研究系列文章
今天讲讲关于C#的配置文件读写的例子。 对于应用程序的配置文件,以前都是用的ini文件进行读写的,这个与现在的json类似,都是键值对应的,这次介绍的是基于XML的序列化和反序列化的读写例子。对于ini文件,操作系统已经提…...
Angular中的管道Pipes
Angular中的管道(Pipes)是一种强大的工具,它可以处理和转换数据,然后将其呈现在视图中。它们可以被用于排序、格式化和过滤数据等任务。在本文中,我们将介绍Angular中的管道以及如何使用它们来简化开发过程。 管道的基…...
React入门 jsx学习笔记
一、JSX介绍 概念:JSX是 JavaScript XML(HTML)的缩写,表示在 JS 代码中书写 HTML 结构 作用:在React中创建HTML结构(页面UI结构) 优势: 采用类似于HTML的语法,降低学…...
sqlserver数据库中把一张表中的数据复制到另一张表中
我们在使用ERP时经常会遇到,把老系统的单据直接拉过来使用,但是对应的数据却没有,为空,这时候就需要把老系统数据库里的数据复制一份到新系统里,(方法如下) 1、如果是整个表复制表达如下&#…...
el-table 多个表格切换多选框显示bug
今天写了个功能,点击左侧的树做判断,一级树节点显示系统页面,二级树节点显示数据库页面,三级树节点显示表页面。 数据库页面和表页面分别有2个el-table ,上面的没有多选框,下面的有多选框 现在出现bug,在…...
UE5.2程序发布及运行问题记录
发布后的程序默认是以全屏模式启动运行的,通过添加以下命令行参数,可实现程序的窗口模式运行: -ResX1280 -ResY720 -WINDOWED 发布后的程序,启动时,提示显卡驱动警告(如图1所示),但是…...
c语言strtol函数、strtod函数、strtoul函数浅悉
---------------- | strtol | ---------------- i.e. string to long long int strtol(const char *nptr, char **endptr, int base) strtol()会将nptr指向的字符串,根据参数base,按权转化为long int, 然后返回这个值。 参数base的范…...
Spark第三课
1.分区规则 1.分区规则 shuffle 1.打乱顺序 2.重新组合 1.分区的规则 默认与MapReduce的规则一致,都是按照哈希值取余进行分配. 一个分区可以多个组,一个组的数据必须一个分区 2. 分组的分区导致数据倾斜怎么解决? 扩容 让分区变多修改分区规则 3.HashMap扩容为什么必须…...
LangChain手记 Chains
整理并翻译自DeepLearning.AILangChain的官方课程:Chains(源代码可见) Chains 直译链,表达的意思更像是对话链,对话链的背后是思维链 LLM Chain(LLM链) 首先介绍了一个最简单的例子,…...
ONNX版本YOLOV5-DeepSort (rknn版本已经Ready)
目录 1. 前言 2. 储备知识 3. 准备工作 4. 代码修改的地方 5.结果展示 1. 前言 之前一直在忙着写文档,之前一直做分类,检测和分割,现在看到跟踪算法,花了几天时间找代码调试,看了看,展示效果比单纯的检…...
MySQL的约束
文章目录 1、约束的概念2、约束的分类2.1 主键约束2.1.1 概念2.1.2 主键操作 2.2 自增约束2.2.1 概念2.2.2 自增操作 2.3 唯一约束2.3.1 概念2.3.2 唯一操作 2.4 非空约束2.4.1 概念2.4.2 非空操作 2.5 默认约束2.5.1 概念2.5.2 默认操作 2.6 外键约束2.6.1 概念2.6.2 外键操作…...
Lnton羚通关于【PyTorch】教程:torchvision 目标检测微调
torchvision 目标检测微调 本教程将使用Penn-Fudan Database for Pedestrian Detection and Segmentation 微调 预训练的Mask R-CNN 模型。 它包含 170 张图片,345 个行人实例。 定义数据集 用于训练目标检测、实例分割和人物关键点检测的参考脚本允许轻松支持添加…...
AMD fTPM RNG的BUG使得Linus Torvalds不满
导读因为在 Ryzen 系统上对内核造成了困扰,Linus Torvalds 最近在邮件列表中表达了对 AMD fTPM 硬件随机数生成器的不满,并提出了禁用该功能的建议。 因为在 Ryzen 系统上对内核造成了困扰,Linus Torvalds 最近在邮件列表中表达了对 AMD fTPM…...
idea 转换为 Maven Project 的方法
选项: Add as Maven Project...
es1.7.2 按照_type先聚合,再按照时间二次聚合
// 设置查询条件if (this.query ! null) {this.searchbuilder.setQuery(this.query);}TermsBuilder typeAggregation AggregationBuilders.terms("agg_type").field("_type");DateHistogramBuilder dateTermsBuilder AggregationBuilders.dateHistogram(…...
【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...
《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...
前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
打手机检测算法AI智能分析网关V4守护公共/工业/医疗等多场景安全应用
一、方案背景 在现代生产与生活场景中,如工厂高危作业区、医院手术室、公共场景等,人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式,存在效率低、覆盖面不足、判断主观性强等问题,难以满足对人员打手机行为精…...
Ubuntu Cursor升级成v1.0
0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开,快捷键也不好用,当看到 Cursor 升级后,还是蛮高兴的 1. 下载 Cursor 下载地址:https://www.cursor.com/cn/downloads 点击下载 Linux (x64) ,…...
sshd代码修改banner
sshd服务连接之后会收到字符串: SSH-2.0-OpenSSH_9.5 容易被hacker识别此服务为sshd服务。 是否可以通过修改此banner达到让人无法识别此服务的目的呢? 不能。因为这是写的SSH的协议中的。 也就是协议规定了banner必须这么写。 SSH- 开头,…...
基于Python的气象数据分析及可视化研究
目录 一.🦁前言二.🦁开源代码与组件使用情况说明三.🦁核心功能1. ✅算法设计2. ✅PyEcharts库3. ✅Flask框架4. ✅爬虫5. ✅部署项目 四.🦁演示效果1. 管理员模块1.1 用户管理 2. 用户模块2.1 登录系统2.2 查看实时数据2.3 查看天…...
vxe-table vue 表格复选框多选数据,实现快捷键 Shift 批量选择功能
vxe-table vue 表格复选框多选数据,实现快捷键 Shift 批量选择功能 查看官网:https://vxetable.cn 效果 代码 通过 checkbox-config.isShift 启用批量选中,启用后按住快捷键和鼠标批量选取 <template><div><vxe-grid v-bind"gri…...
旋量理论:刚体运动的几何描述与机器人应用
旋量理论为描述刚体在三维空间中的运动提供了强大而优雅的数学框架。与传统的欧拉角或方向余弦矩阵相比,旋量理论通过螺旋运动的概念统一了旋转和平移,在机器人学、计算机图形学和多体动力学领域具有显著优势。这种描述不仅几何直观,而且计算…...
