CentOS 7 上安装 MySQL 8.0.40 (二进制安装)

要在 CentOS 7 上安装 MySQL 8.0.40,按照以下步骤操作:

下载安装包。

https://dev.mysql.com/downloads/mysql/
在这里插入图片描述

下载之前查看系统c++版本
在这里插入图片描述

解压安装包

首先,解压下载的 .tar.xz 安装包。

cd /path/to/your/downloads
tar -xvf mysql-8.0.40-linux-glibc2.28-x86_64.tar.xz

解压后,会得到一个 mysql-8.0.40-linux-glibc2.28-x86_64 目录。

移动到合适的位置

接下来,你可以将解压后的目录移动到你希望安装 MySQL 的位置,通常是 /usr/local

sudo mv mysql-8.0.40-linux-glibc2.28-x86_64 /usr/local/mysql

创建 MySQL 用户和组

为了安全性,MySQL 应该运行在专用的用户和组下。

sudo groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql

创建 MySQL 数据目录

接下来,创建数据存储目录,并给 MySQL 用户设置适当的权限。

sudo mkdir /usr/local/mysql/data
sudo chown -R mysql:mysql /usr/local/mysql

配置环境变量

为了方便使用 MySQL 命令,你需要将 MySQL 的 bin 目录添加到 PATH 环境变量中。编辑 /etc/profile 文件。

sudo vi /etc/profile

在文件末尾添加以下内容:

export PATH=$PATH:/usr/local/mysql/bin

保存并退出编辑器。然后执行以下命令使改动生效:

source /etc/profile

创建配置文件

touch /etc/my.cnf
[mysqld]                              
port=3306               
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/data/mysql.sock                   
max_connect_errors=10                         
character-set-server=utf8mb4                          
default-storage-engine=INNODB                               
user=root
#skip-grant-tables  [client]                                                     
port=3306                              
socket=/usr/local/mysql/data/mysql.sock                                                                
default-character-set=utf8mb4

备注:不要有空格,否则会找不到socket连接

初始化 MySQL 数据目录

使用 MySQL 自带的 mysqld 工具初始化数据目录:

sudo /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --initialize --console --user=root

初始化成功后,会有一个临时密码

[root@localhost mysql]# ./bin/mysqld --defaults-file=/etc/my.cnf --initialize --console --user=root
2024-12-03T10:56:54.844764Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.40) initializing of server in progress as process 11446
2024-12-03T10:56:54.852440Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2024-12-03T10:56:55.144832Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2024-12-03T10:56:56.594319Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: FhN9Yk=/Cdus

删除 mysql/data目录即可重新初始化

创建 mysql.sock文件(重要,非常重要的一步)

cd  data/
touch mysql.sock

启动mysql 服务

sudo /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf &

查看mysql是否启动

执行命令  ps -ef | grep mysql

在这里插入图片描述

登录 mysql 数据库

sudo /usr/local/mysql/bin/mysql --socket=/usr/local/mysql/data/mysql.sock -u root -p

完成!

到此为止,你已经成功安装 MySQL 8.0.40。

常用命令(扩展)

# 初始化
sudo /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --initialize --console --user=root#启动服务
sudo /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf &#停止服务
sudo /usr/local/mysql/bin/mysqladmin -u root -p shutdown
#停止服务(二)
ps aux|grep mysql
kill <mysql有关的pid># 登录mysql
sudo /usr/local/mysql/bin/mysql --socket=/usr/local/mysql/data/mysql.sock -u root -p

创建账号并授权

# 进入mysql
use mysql# 用如下语句查看MySQL当前加密方式
select host,user,plugin from user;# 创建账号test01、密码test01, 设置密码插件模式mysql_native_password,并允许该用户从任何主机(即 %)进行连接
CREATE USER 'test01'@'%' IDENTIFIED WITH mysql_native_password BY 'test01';
# 如果你只希望该用户能从本地(localhost)连接,可以将 '%' 改为 'localhost':
CREATE USER 'test01'@'localhost' IDENTIFIED WITH mysql_native_password BY 'test01';# 授予权限。为  用户授予合适的权限。如果你希望该用户具有所有权限,可以使用以下命令:
GRANT ALL PRIVILEGES ON *.* TO 'test01'@'%' WITH GRANT OPTION;

忘记密码,找回

  1. kill mysql服务
  2. 进入/etc/my.cnf
  3. 添加 在 [mysqld] 下面,添加一行 skip-grant-tables
  4. 重启mysql:sudo /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf &
  5. 无密码,进入mysql。将登陆密码设置为空。将密码设置为空(此时还不能直接修改密码,必须先设置为空,否则会报错。 skip-grant-tables 模式下无法修改其他密码,只能修改为空 )
use mysql; (使用mysql数据表)
update user set authentication_string='' where user='root';(将密码置为空)
quit; (然后退出Mysql)
  1. kill mysql服务。 将/etc/my.cnf 添加的一行skip-grant-tables去掉, 再次启动。
  2. 再次无密码登录
  3. 更新密码,要使用mysql_native_password 插件模式,否则navicat可能链接不上
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '1234';
FLUSH PRIVILEGES;

修改加密模式

update user set plugin='mysql_native_password' where user='root';

进入mysql,use mysql,直接update加密模式,退出来,原密码就无法登录了

在Mysql 8版本中,必须分两步来实现设置用户权限

在Mysql 8版本中,不能使用

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password'WITH GRANT OPTION;

这一行命令来设置用户权限,必须分两步来实现设置用户权限【先创建用户、在对该用户分配用户权限】,最后刷新权限

CREATE USER 'test2'@'%' IDENTIFIED WITH mysql_native_password BY 'test2';
GRANT ALL PRIVILEGES ON *.* TO 'test2'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

或者

CREATE USER 'test3'@'%' IDENTIFIED BY 'test3';
GRANT ALL PRIVILEGES ON *.* TO 'test3'@'%' WITH GRANT OPTION;
update user set plugin='mysql_native_password' where user='test3';
FLUSH PRIVILEGES;

然后外部就可以通过账户密码访问了。

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

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

相关文章

汽车产业数字化转型:协同创新破解挑战,平衡安全与流通

在数字经济时代的浪潮中&#xff0c;数据资源和数据信息已成为驱动各行各业转型升级的“新石油”。汽车产业&#xff0c;作为国民经济的重要支柱&#xff0c;正经历着前所未有的变革。随着数字化创新和转型的深入&#xff0c;数据在汽车全产业链中的作用和价值日益凸显。在这个…

windows 脚本批量管理上千台服务器实战案例

如果你们有接触服务器&#xff0c;都是知道服务器有BMC管理界面的&#xff0c;这几天我在做项目中&#xff0c;需要不断的开关机服务器&#xff0c;如果一两台服务器登录BMC界面重启服务器还好&#xff0c;如果服务器数量非常的庞大&#xff0c;成百上千台&#xff0c;我们不可…

yarn : 无法加载文件 C:\Users\L\AppData\Roaming\npm\yarn.ps1,因为在此系统上禁

关于执行安装yarn命令后执行yarn -v报错&#xff1a; 先确认执行安装yarn命令是否有误 # 安装yarn npm install yarn -g 终端输入set-ExecutionPolicy RemoteSigned 当然如果yarn -v仍然执行失败&#xff0c;考虑使用管理员方式运行IDEA&#xff0c; 注&#xff1a;如上操作…

Redis 数据结结构(一)—字符串、哈希表、列表

Redis&#xff08;版本7.0&#xff09;的数据结构主要包括字符串&#xff08;String&#xff09;、哈希表&#xff08;Hash&#xff09;、列表&#xff08;List&#xff09;、集合&#xff08;Set&#xff09;、有序集合&#xff08;Sorted Set&#xff09;、超日志&#xff08…

FPGA实战篇(按键控制LDE实验)

1.按键简介 按键开关是一种电子开关&#xff0c;属于电子元器件类。我们的开发板上有两种按键开关&#xff1a;第一种是本实验所使用的轻触式按键开关&#xff0c;简称轻触开关。使用时以向开关的操作方向施加压力使内部电路闭合接通&#xff0c;当撤销压力时开关断开&#xff…

4.模块化技术之子程序

总学习目录请点击下面连接 SAP ABAP开发从0到入职&#xff0c;冷冬备战-CSDN博客 目录 ​编辑 1.模块化基础和概述 使用模块化有什么好处 两大类模块化技术 程序局部的模块化 SAP系统内全局模块化 封装有什么好处&#xff1f; 2.子程序模块化 三种传递类型 子程序结构…

策略模式实战 - 猜拳游戏

**可以整体的替换一套算法&#xff0c;这就是策略模式。**这样对于同一个问题&#xff0c;可以有多种解决方案——算法实现的时候&#xff0c;可以通过策略模式来非常方便的进行算法的整体替换&#xff0c;而各种算法是独立封装好的&#xff0c;不用修改其内部逻辑。 具体的实…

新书速览|循序渐进Node.js企业级开发实践

《循序渐进Node.js企业级开发实践》 1 本书内容 《循序渐进Node.js企业级开发实践》结合作者多年一线开发实践&#xff0c;系统地介绍了Node.js技术栈及其在企业级开发中的应用。全书共分5部分&#xff0c;第1部分基础知识&#xff08;第1&#xff5e;3章&#xff09;&#xf…

通过 FRP 实现 P2P 通信:控制端与被控制端配置指南

本文介绍了如何通过 FRP 实现 P2P 通信。FRP&#xff08;Fast Reverse Proxy&#xff09;是一款高效的内网穿透工具&#xff0c;能够帮助用户突破 NAT 和防火墙的限制&#xff0c;将内网服务暴露到公网。通过 P2P 通信方式&#xff0c;FRP 提供了更加高效、低延迟的网络传输方式…

游戏发布AppStore平台

首先&#xff0c;要注册一个开发者账号。这里不多说了&#xff0c;下载官方app“Developer”&#xff0c;然后买个能发布的账号&#xff0c;个人&#x1f4b2;99的就行。&#xff08;其实还有点麻烦&#xff0c;我的好像是人脸识别后出问题了&#xff0c;反正遇到问题找苹果官方…

【Linux系列】AWK 使用指南

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

【算法】模拟

阿华代码&#xff0c;不是逆风&#xff0c;就是我疯 你们的点赞收藏是我前进最大的动力&#xff01;&#xff01; 希望本文内容能够帮助到你&#xff01;&#xff01; 目录 一&#xff1a;替换所有的问号 二&#xff1a;提莫攻击 三&#xff1a;z字形变换 四&#xff1a;外观…

Ubuntu环境安装RabbitMQ

1.安装Erlang RabbitMq需要Erlang语⾔的⽀持&#xff0c;在安装rabbitMq之前需要安装erlang # 更新软件包 sudo apt-get update # 安装 erlang sudo apt-get install erlang 查看erlang版本 : erl 退出命令:halt(). 2. 安装RabbitMQ # 更新软件包 sudo apt-get update # 安装 …

【STM32】定时器 —— 输出比较PWM

使用的单片机机型为STM32F103C8T6 文章目录 PWM输出比较编程实例输出比较呼吸灯舵机转向PWM控制直流电机 PWM 对于5V电路来说&#xff0c;输出只有高电平5V和低电平0V&#xff0c;控制LED灯就是点亮和熄灭&#xff0c;但如果想要控制其亮度呢&#xff1f;这就需要PWM PWM PWM…

Anaconda 下安装OpenCV 4.10.0

大家也可以使用pip安装。 pip install opencv-python4.10.0 这里使用conda安装 conda install opencv4.10.0 import cv2 print(cv2.__version__)

深入探索 C++ 类型转换的奥秘

目录 1. C语言中的类型转换 2.C的类型转换 &#xff08;1&#xff09;static_cast &#xff08;2&#xff09; dynamic_cast &#x1f60a;&#x1f60a;static_cast和dynamic_cast在面对继承和多态的父子类强转的区别&#xff1a; 1.static_cast 和 继承关系中的强转 …

量产小妙招---KdTreeFLANN的使用

1 概念 KDTreeFLANN是一种结合了k-d树&#xff08;k-dimensional tree&#xff09;数据结构和FLANN&#xff08;Fast Library for Approximate Nearest Neighbors&#xff09;算法库的技术&#xff0c;主要用于高效地进行最近邻搜索等操作。 KdTreeFLANN是Point Cloud Library …

62 基于单片机的智能饮水机

所有仿真详情导航&#xff1a; PROTEUS专栏说明-CSDN博客 目录 一、主要功能 二、硬件资源 三、主程序编程 四、资源下载 一、主要功能 基于51单片机&#xff0c;采用DS1302时钟模块读取时间&#xff0c;DS18B20温度传感器检测时间&#xff0c;超声波检测&#xff0c;如果…

制造业数据集成案例分享:3小时内实现MySQL到MySQL数据对接

ZZ刷新生产用料清单四化库存-制造一处-3小时&#xff1a;MySQL到MySQL数据集成案例分享 在现代制造业中&#xff0c;实时、准确的数据流动是确保生产效率和资源优化的关键。本文将分享一个实际运行的系统对接集成案例——“ZZ刷新生产用料清单四化库存-制造一处-3小时”&#…

大数据新视界 -- 大数据大厂之 Hive 临时表与视图:灵活数据处理的技巧(上)(29 / 30)

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…