当前位置: 首页 > news >正文

Centos上安装Mysql5.7教程

目录

一.开始

1. 添加 MySQL Yum 仓库

2. 安装 MySQL 5.7

3. 启动 MySQL 服务

4. 获取初始密码

5. 安全配置 MySQL

6. 登录 MySQL

7.常用管理命令

8.配置文件位置

9.修改默认配置(可选)

10. 卸载Mysql

11. 常见问题

       11.1 忘记密码重置

        11.2 MySQL GPG 密钥与当前软件包不匹配

二. 图形化界面访问数据库

1.进入服务器找到防火墙

2.添加规则(开放端口号)

3.我们以SQLog工具为例子


一.开始

1. 添加 MySQL Yum 仓库

# 下载 MySQL 官方 Yum 源
sudo wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm# 安装 Yum 源
sudo rpm -Uvh mysql57-community-release-el7-11.noarch.rpm# 验证仓库是否添加成功
sudo yum repolist enabled | grep "mysql.*-community.*"

2. 安装 MySQL 5.7

# 安装 MySQL 服务器
sudo yum install mysql-community-server -y

3. 启动 MySQL 服务

# 启动服务
sudo systemctl start mysqld# 设置开机自启
sudo systemctl enable mysqld# 检查状态
sudo systemctl status mysqld

4. 获取初始密码

# 获取临时 root 密码
sudo grep 'temporary password' /var/log/mysqld.log

输出示例:A temporary password is generated for root@localhost: 3e5g7G!qQw2e

5. 安全配置 MySQL

# 运行安全脚本
sudo mysql_secure_installation

按提示操作:

  1. 输入临时密码
  2. 设置新密码(需包含大小写字母、数字和特殊字符)
  3. 移除匿名用户:Y
  4. 禁止 root 远程登录:Y(根据需求选择)
  5. 移除 test 数据库:Y
  6. 立即重载权限表:Y

6. 登录 MySQL

mysql -u root -p

登录成功!!!

7.常用管理命令

# 启动服务
sudo systemctl start mysqld# 停止服务
sudo systemctl stop mysqld# 重启服务
sudo systemctl restart mysqld# 查看状态
sudo systemctl status mysqld

8.配置文件位置

# 主配置文件
/etc/my.cnf# 数据存储目录
/var/lib/mysql# 错误日志
/var/log/mysqld.log

9.修改默认配置(可选)

sudo vi /etc/my.cnf

常用配置项

[mysqld]
# 设置字符集
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci# 最大连接数
max_connections=500# 表名不区分大小写
lower_case_table_names=1# 开启慢查询日志
slow_query_log=1
slow_query_log_file=/var/log/mysql-slow.log
long_query_time=2

修改后重启

sudo systemctl restart mysqld

10. 卸载Mysql

# 停止服务
sudo systemctl stop mysqld# 卸载软件包
sudo yum remove mysql-community-server mysql57-community-release# 删除数据文件
sudo rm -rf /var/lib/mysql
sudo rm -rf /var/log/mysqld.log

11. 常见问题

       11.1 忘记密码重置


# 停止 MySQL
sudo systemctl stop mysqld# 跳过权限检查启动
sudo mysqld_safe --skip-grant-tables &# 登录 MySQL
mysql -u root# 重置密码
UPDATE mysql.user SET authentication_string=PASSWORD('NewPassword') WHERE User='root';
FLUSH PRIVILEGES;
EXIT;# 重启 MySQL
sudo systemctl restart mysqld

        11.2 MySQL GPG 密钥与当前软件包不匹配

The GPG keys listed for the "MySQL 5.7 Community Server" repository are already installed but they are not correct for this package.Check that the correct key URLs are configured for this repository. Failing package is: mysql-community-libs-5.7.44-1.el7.x86_64 GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

当出现以上错误 终极解决方案

这个错误表明系统上安装的 MySQL GPG 密钥与当前软件包不匹配,即使您已经尝试过修复。别担心,我会提供一套完整的解决方案来解决这个顽固的问题:

1: 完全清除所有 MySQL 相关组件

# 停止并移除所有 MySQL 服务
sudo systemctl stop mysqld 2>/dev/null
sudo yum remove -y mysql-community-* mysql57-community-release# 删除所有残留文件和配置
sudo rm -rf /var/lib/mysql
sudo rm -rf /etc/my.cnf*
sudo rm -rf /var/log/mysqld.log
sudo rm -f /etc/yum.repos.d/mysql-community*
sudo rm -f /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql*
# 清理 RPM 数据库中的旧密钥
sudo rpm -e --allmatches gpg-pubkey $(rpm -qa | grep 'gpg-pubkey.*mysql' | sed 's/gpg-pubkey-//')

2: 下载并安装最新的仓库配置

# 下载最新的仓库配置 (2023年更新)
sudo wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm# 安装仓库配置(跳过依赖检查)
sudo rpm -ivh mysql57-community-release-el7-11.noarch.rpm --nodeps --force

3: 手动下载并安装正确的 GPG 密钥

# 创建 GPG 密钥目录
sudo mkdir -p /etc/pki/rpm-gpg# 下载 2023 版新密钥
sudo curl -o /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2023 \https://repo.mysql.com/RPM-GPG-KEY-mysql-2023# 创建正确的符号链接
sudo ln -sf /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2023 /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql# 导入密钥到 RPM 数据库
sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2023

4: 手动编辑仓库文件

sudo vi /etc/yum.repos.d/mysql-community.repo

确保内容如下(特别注意

gpgkey 路径):

[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2023  # 关键修改

5: 手动下载并安装 RPM 包(跳过 Yum)

# 创建缓存目录
mkdir -p ~/mysql-install
cd ~/mysql-install# 下载所有必要组件
sudo yum install --downloadonly --downloaddir=./ \mysql-community-common \mysql-community-libs \mysql-community-client \mysql-community-server# 手动安装所有 RPM 包(强制安装)
sudo rpm -ivh *.rpm --nodeps --force# 如果仍有签名警告,强制忽略
sudo rpm -ivh *.rpm --nodeps --force --nosignature

6: 启动并配置 MySQL

# 启动服务
sudo systemctl start mysqld# 获取临时密码
sudo grep 'temporary password' /var/log/mysqld.log# 安全配置
sudo mysql_secure_installation

如果上述方法仍然失败

备选方案 1: 使用官方 MySQL Yum 仓库的 Docker 容器

# 安装 Docker
sudo yum install -y docker
sudo systemctl start docker# 在容器中运行 MySQL 5.7
sudo docker run -d \--name mysql57 \-p 3306:3306 \-e MYSQL_ROOT_PASSWORD=your_password \mysql:5.7

备选方案 2: 改用 MariaDB(完全兼容 MySQL 5.7)

# 安装 MariaDB
sudo yum install -y mariadb-server# 启动服务
sudo systemctl start mariadb
sudo systemctl enable mariadb# 安全配置
sudo mysql_secure_installation# 验证版本(会显示兼容性)
mysql -V

二. 图形化界面访问数据库

通过图形化界面访问部署的服务器必须开放服务器上的防火墙

1.进入服务器找到防火墙

2.添加规则(开放端口号)

根据自己需求添加开放的端口即可。

3.我们以SQLog工具为例子

遇到以上1130错误该怎么办?

3.1解决方案

使用root权限登录数据库后选择mysql库

mysql -u root -p
use mysql;

查看mysql库中的user表的host值后修改为通配符%

select host from user where user='root';
update user set host='%' where user='root';
flush privileges;

查看修改结果并重新测试

select user,host from user;

此时即可连接成功!!!!

以上内容希望对大家有帮助 ,如有错误,请大家积极指出!!!一起进步

http://www.dtcms.com/a/317563.html

相关文章:

  • 智能提示词引擎的革新与应用:PromptPilot使用全解析
  • Bug 记录:SecureRandom.getInstanceStrong()导致验证码获取阻塞
  • 算法238. 除自身以外数组的乘积
  • 完整的登陆学生管理系统(配置数据库)
  • VSCode git提交记录中文commit显示乱码
  • 碰撞问题的分析
  • OpenAI开源大模型gpt-oss系列深度解析:从120B生产级到20B桌面级应用指南
  • C++实现线程池(3)缓存线程池
  • get请求中文字符参数乱码问题
  • 互联网一线大厂Java面试八股文整理(1000题附答案)
  • MATLAB深度学习之数据集-数据库构建方法详解
  • Leetcode——209. 长度最小的子数组
  • Redis中间件(二):Redis协议与异步方式
  • 用docker的方式快速搭建一个Hive的调测环境
  • Java 字节码文件(.class)的组成详解
  • 具有柔性关节的机械臂matlab仿真
  • 在Word和WPS文字中如何输入汉字的偏旁部首
  • 【计算机网络 | 第4篇】分组交换
  • Linux seLinux
  • 网络工程师--华为命令专题
  • 安卓雷电模拟器安装frida调试
  • 《Day2-PyTorch Tensor 从入门到实践:核心操作与避坑指南》
  • jmm 指令重排 缓存可见性 Volatile 内存屏障
  • 数据中心白牌服务器市场规模与发展趋势分析报告-路亿市场策略
  • 丝杆升降机的螺母磨损到什么程度需要更换?有无预警或检测方法?
  • Orange的运维学习日记--31.Linux防火墙深度详解
  • LVS-DR模式高性能负载均衡实战
  • PLC学习之路-定时器-(三)
  • Fabric.js从入门学习到实现labelImg矩形多边形标注工具【上】
  • 论文学习19:Multi-view Aggregation Network for Dichotomous Image Segmentation