Linux 系统 MySQL 完整安装配置教程:从卸载 MariaDB 到优化 my.cnf----《Hello MySQL!》(1)

Linux 系统 MySQL 完整安装配置教程:从卸载 MariaDB 到优化 my.cnf----《Hello MySQL!》(1)

文章目录

前言

在 Linux 系统中,许多发行版(如 CentOS 7)默认预装 MariaDB(MySQL 的分支项目),但在实际开发、部署场景中,我们常需要安装 MySQL 官方版本以满足特定兼容性或功能需求。然而,新旧数据库环境的冲突、YUM 源配置异常、初始密码登录、中文乱码等问题,往往成为新手入门的 “绊脚石”。​

本文将从卸载冗余环境出发,一步步带你完成 MySQL 官方 YUM 源配置、服务器安装、服务启停、客户端登录(含 3 种密码解决方案)、核心配置文件(my.cnf)优化等关键操作,全程附实操命令与效果截图,兼顾实用性与易懂性。无论你是 Linux 运维新手,还是需要快速搭建 MySQL 环境的开发者,都能通过本文快速上手,避开常见坑点,高效完成 MySQL 环境的部署与配置。

卸载不要的环境

先检查是否有mariadb在运行: ps ajx |grep mariadb 

如果是这样,没有其他东西的话,就说明没有在运行
如果不是这样的话,还需要:

systemctl stop mariadb.service来停止这个服务

ps axj |grep mariadb再次看来判断是不是停止成功了

检查系统安装包

rpm -qa |grep mariadb//mariadb是mysql的一个分支项目 rpm -qa |grep mysql 
在这里插入图片描述

卸载这些包

可以一个一个删,也可以一块都删了

批量删除的方法:rpm -qa | grep mysql | xargs yum remove这是删的rpm -qa | grep mysql里面的
/etc/my.cnf里面的是MySQL/MariaDB的配置文件

/var/lib/mysql里面的是数据库的数据存储目录

这俩不会被主动删除的,–也不建议删

安装MySQL官方yum源

获取MySQL官方yum源:

http://repo.mysql.com/里面(查看网页源代码看的会更详细)

最好是安装跟自己系统一致的mysql版本,不然小心软件兼容性问题

然后通过rz指令把安装包搞到自己的系统里面

安装软件配置包:rpm -Uvh mysql57-community-release-el7.rpm

可以看ls /etc/yum/repos/d/ -l来看安没安装上

yum list |grep mysql可以查看有关mysql的软件包
之后就yum install -y mysql-community-server安装MySQL服务器的核心主程序包

这一步安装失败的问题:

通过这个解决:rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

使用程序

注意:与存储相关的网络服务器进程默认通常需要 root 权限启动,比如mysqld

但是mysql不需要哈,mysql是客户端,用于连接已启动的 MySQL 服务器然后进行操作
systemctl start mysqld.service或者systemctl start mysqld来启动MySQL的后台服务端

可以用ps ajx |grep mysqld来查看是不是启动成功了

这样就是启动成功了
mysql -uroot -p来启动客户端:
这里就会询问你密码:(有三种方法)

1.老版本的方法:没有密码,可以直接登录(password那里直接回车就行)

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

3.打开mysql的配置文件vim /etc/my.cnf,在最后一栏放上skip-grant-tables,然后重启mysqld(重启可以用systemctl restart mysqld或者先关闭再启动)


这样就是登录成功了

配置my.cnf

打开/etc/my.cnf(my.cnf后面不加/!)

给补充成这样:

port=3306:指定 MySQL 服务监听的网络端口(MySQL默认用的是3306–所以这个不写也行)

character-set-server=utf8:设置 MySQL 服务器端的默认字符集为 utf8,解决中文等非英文字符的乱码问题

default-storage-engine=innodb:指定 MySQL 创建表时的默认存储引擎为 InnoDB

引申:datadir那个是对应的数据存放路径

引申:一些其他的指令

systemctl enable mysqld--让mysqld开机自启动 --这个一般是不需要的,因为云服务器也基本上是不关机的 systemctl daemon-reload--重新加载所有服务的配置文件(重启mysqld代替不了这个) --修改了/usr/lib/systemd/system/mysqld.service里面的东西才需要 
打断数据的话还是ctrl+c ctrl+d是退出mysql客户端 

Read more

部署Qwen3-VL-32b的踩坑实录:多卡跑大模型为何vLLM卡死而llama.cpp却能“大力出奇迹”?

部署Qwen3-VL-32b的踩坑实录:多卡跑大模型为何vLLM卡死而llama.cpp却能“大力出奇迹”?

踩坑实录:多卡跑大模型Qwen-VL,为何vLLM模型加载卡死而llama.cpp奇迹跑通还更快? 前言:部署经历 针对 Qwen2.5-32B-VL-Instruct 满血版模型的部署实战。 手头的环境是一台配备了 4张 NVIDIA A30(24GB显存) 的服务器。按理说,96GB的总显存足以吞下 FP16 精度的 32B 模型(约65GB权重)。然而,在使用业界标杆 vLLM 进行部署时,系统却陷入了诡异的“死锁”——显存占满,但推理毫无反应,最终超时报错。 尝试切换到 Ollama(底层基于 llama.cpp),奇迹发生了:不仅部署成功,而且运行流畅。这引发了我深深的思考:同样的硬件,同样模型,为何两个主流框架的表现天差地别? 本文将围绕PCIe通信瓶颈、Tensor Parallelism(张量并行) 与 Pipeline

By Ne0inhk
Copilot vs Claude Code终极对决哪个会更好用呢?

Copilot vs Claude Code终极对决哪个会更好用呢?

📊 核心差异:一句话概括 * GitHub Copilot:你的智能代码补全器 * Claude Code:你的全栈AI开发伙伴 🎯 一、产品定位对比 GitHub Copilot:专注代码补全 <TEXT> 定位:AI结对编程助手 核心理念:让你写代码更快 核心功能:基于上下文的代码建议和补全 收费模式:个人$10/月,企业$19/用户/月 Claude Code:全栈开发加速器 <TEXT> 定位:AI驱动的开发平台 核心理念:提升整个开发流程效率 核心功能:代码生成+架构设计+调试+部署 收费模式:按token计费,灵活弹性 ⚡ 二、核心技术对比

By Ne0inhk
【Git】一篇文章带你入门Git

【Git】一篇文章带你入门Git

1. 初识 Git 1.1 Git 是什么? Git 是一个开源的分布式版本控制系统,用于高效地跟踪和管理项目代码的变更历史(不仅仅是代码,还有其它格式也是可以的~) 1.2 为什么要有 Git 在学习或者是工作的时候,比如编写各种文档,为了防止文档丢失,更改失误,我们不得不复制出一个副本,保留历史记录,方便找回历史记录,比如: “设计文档-v1” “设计文档-v2” “设计文档-v3” “设计文档-确定版” “设计文档-最终版” 每个版本有各自的内容,但最终会只有⼀份文档是需要被使用的,在此之前的⼯作都需要这些不同版本的报告,于是每次都是复制粘贴副本,文件就越来越多,不仅文件多,更重要的是,随着版本数量的不断增多,我们可能记不太清每一个版本具体修改的哪些内容,文档如此,我们编写的项目代码也如此! 那么,如何解决呢? 答:版本控制器 ,记录每次修改以及版本迭代的一个管理系统,目前,最主流的版本控制器就是 Git,

By Ne0inhk
【AIGC】冷启动数据与多阶段训练在 DeepSeek 中的作用

【AIGC】冷启动数据与多阶段训练在 DeepSeek 中的作用

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳]本文专栏: AIGC |ChatGPT 文章目录 * 💯前言 * 💯冷启动数据的作用 * 冷启动数据设计 * 💯多阶段训练的作用 * 阶段 1:冷启动微调 * 阶段 2:推理导向强化学习(RL) * 阶段 3:拒绝采样与监督微调(SFT) * 阶段 4:多场景强化学习 * 💯代码示例:冷启动数据与多阶段训练的实现 * 1. 冷启动微调阶段 * 作用与应用: * 2. 推理导向的强化学习阶段 * 作用与应用: * 3. 拒绝采样与监督微调阶段 * 作用与应用: * 4. 多场景强化学习 * 作用与应用: * 总体流程 * DeepSeek 中的应用 * 💯总结 💯前言 在人工智能领域,深度学习模型的训练和优化往往需要大量的标注数据和计算资源。然而,面对复杂任务时,即使是最先进的技术和大量的训练数据也未必能够保证模型的最优表现。DeepSeek

By Ne0inhk