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

linux-MySQL的安装

linux-MySQL的安装

  • 前言
  • 一、安装MySQL
    • 1. 下载mysql8的rpm仓库
    • 2. 安装mysql源的rpm包
    • 3. 查找是否有可用的mysql源
    • 4. 安装mysql服务器
    • 5. 启动服务
  • 二、登录MySQL
    • 1. 查看临时密码
    • 2. 连接MySQL
    • 3. MySQL安装后的内容
      • 1. 二进制文件:mysql
      • 2. 数据文件
      • 3. 日志文件
      • 4. 配置文件


前言

MySQL 关系型数据库
Redis 非关系型数据库
Oracle 关系型数据库 -> 不开源、收费(贵)

MySQL数据库
开源:源代码开放(github),开发人员可以基于源代码进行二次修改,自己使用

MySQL由瑞典MySQL AB开发 -> 被Oracle公司收购
姐妹产品MariaDB


一、安装MySQL

基于rocky linux 9.4

卸载已经安装的数据库

# 检查安装的rpm包
rpm -qa |grep mysql
# 卸载安装的rpm包
rpm -e --nodeps <包名>
rm -rf /var/lib/mysql

1. 下载mysql8的rpm仓库

wget https://dev.mysql.com/get/mysql80-community-release-el9-4.noarch.rpm

ll /etc/yum.repos.d/
总用量 32
-rw-r–r–. 1 root root 1142 8月 28 2023 epel-cisco-openh264.repo
-rw-r–r–. 1 root root 1453 8月 28 2023 epel.repo
-rw-r–r–. 1 root root 1552 8月 28 2023 epel-testing.repo
-rw-r–r–. 1 root root 6610 5月 1 2024 rocky-addons.repo
-rw-r–r–. 1 root root 1165 5月 1 2024 rocky-devel.repo
-rw-r–r–. 1 root root 2387 5月 1 2024 rocky-extras.repo
-rw-r–r–. 1 root root 3417 5月 1 2024 rocky.repo


2. 安装mysql源的rpm包

yum install mysql80-community-release-el9-4.noarch.rpm -y

[root@clone ~]# ll /etc/yum.repos.d/
总用量 44
-rw-r–r–. 1 root root 1142 8月 28 2023 epel-cisco-openh264.repo
-rw-r–r–. 1 root root 1453 8月 28 2023 epel.repo
-rw-r–r–. 1 root root 1552 8月 28 2023 epel-testing.repo
-rw-r–r-- 1 root root 2129 10月 24 2023 mysql-community-debuginfo.repo
-rw-r–r-- 1 root root 1910 10月 24 2023 mysql-community.repo
-rw-r–r-- 1 root root 1989 10月 24 2023 mysql-community-source.repo
-rw-r–r–. 1 root root 6610 5月 1 2024 rocky-addons.repo
-rw-r–r–. 1 root root 1165 5月 1 2024 rocky-devel.repo
-rw-r–r–. 1 root root 2387 5月 1 2024 rocky-extras.repo
-rw-r–r–. 1 root root 3417 5月 1 2024 rocky.repo


3. 查找是否有可用的mysql源

yum repolist enabled | grep mysql

mysql-connectors-community MySQL Connectors Community
mysql-tools-community MySQL Tools Community
mysql80-community MySQL 8.0 Community Server


4. 安装mysql服务器

yum install mysql-community-server -y


5. 启动服务

systemctl start mysqld
设置开机自启
systemctl enable mysqld

查看端口
netstat -tulnp|grep mysqld
ss -anplut|grep mysqld

tcp6 0 0 :::3308 ::: * LISTEN 841/mysqld
tcp6 0 0 :::33060 ::: * LISTEN 841/mysqld

losf -i:3306

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld 841 mysql 33u IPv6 42560 0t0 TCP *:mysql (LISTEN)

查看进程
ps aux|grep mysqld

mysql 841 3.5 10.8 1742080 402732 ? Ssl 15:29 0:06 /usr/sbin/mysqld
root 841 0.0 0.0 6632 2304 pts/0 S+ 15:32 0:00 grep --color=auto mysqld


二、登录MySQL

1. 查看临时密码

cat /var/log/mysqld.log |grep password

2025-06-27T02:02:36.054100Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: <Zdp1AVzcmR&

使用临时密码登录

[root@localhost ~]# mysql -uroot -p
Enter password:
mysql>

修改当前用户的密码(注意密码复杂度)

mysql> alter user user() identified by “设置复杂密码”;
Query OK, 0 rows affected (0.02 sec)


2. 连接MySQL

帐号+密码+ip+端口 => 网络socket
mysql -uroot -h127.0.0.1 -P3306 -p
mysql -uroot -p
 
文件scoket: 实现一台电脑里不同进程之间的通信
mysql -uroot -S /var/lib/mysql/mysql.sock -p


3. MySQL安装后的内容

1. 二进制文件:mysql

ll /usr/sbin/mysql*
-rwxr-xr-x. 1 root root 64945536 3月 31 21:38 /usr/sbin/mysqld => mysql服务端
 
ll /usr/bin/mysql*
-rwxr-xr-x. 1 root root 7743824 3月 31 21:38 /usr/bin/mysql => mysql客户端
-rwxr-xr-x. 1 root root 7429800 3月 31 21:38 /usr/bin/mysqladmin
-rwxr-xr-x. 1 root root 7892432 3月 31 21:38 /usr/bin/mysqlbinlog


2. 数据文件

默认位置/var/lib/mysql
Mysql将数据库(目录)、表(文件)数据存在在这个目录下

系统数据库

mysql> show databases;
±-------------------+
| Database |
±-------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
±-------------------+
4 rows in set (0.01 sec)

  • information_schema: 信息数据库,存储了MySQL数据库各种数据对象的元数据信息
  • mysql: 用户帐户信息、权限、帮助、日志
  • performance_schema: 性能相关数据,查询执行情况,锁使用情况,内存使用情况,文件I/O等…
  • sys: 基于 performance_schema 的便捷视图,用于性能分析

3. 日志文件

  • 错误日志、常规日志(数据库启动、运行过程中出现错误常规信息,用来排错)
    /var/log/mysqld.log
  • 二进制日志(记录对数据库的更改操作,数据恢复和复制)
  • 查询日志(记录所有的SQL查询,审计)

4. 配置文件

/etc/my.cnf

[mysqld] => 配置服务端
 
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
 
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
 
[mysql] => 配置客户端

如何修改配置文件

  1. 创建目录

mkdir /data/mysql -p
# 因为mysql进程是用mysql用户启动并管理,所以/data/mysql目录需要写权限
chown mysql:mysql /data/mysql/ -R

  1. 修改数据目录

[root@localhost performance_schema]# cat /etc/my.cnf|grep -v “#”
 
[mysqld]
 
datadir=/data/mysql
socket=/var/lib/mysql/mysql.sock
# 端口号
port=3308
# 错误日志
log-error=/data/mysql/mysqld3308.err
pid-file=/var/run/mysqld/mysqld.pid
 
[mysql]
# 启用自动补全功能
auto-rehash
#自定义客户端提示符的格式,显示内容为:
\u:当前登录的用户名
\d:当前使用的数据库(若未选择数据库则显示 none)
\R:\m:当前时间(小时:分钟)
prompt=\u@\d \R:\m>

  1. 改了配置文件需要重启mysql服务

systemctl restart mysqld

启动服务失败分析

[root@localhost ~]# mysql -uroot -P3308 -p
Enter password:
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)

启动服务失败查找线索:
1.看 log-error => /data/mysql/mysqld3308.err
2.journalctl -xe

临时关闭selinux
setenforce 0

配置永久关闭
[root@localhost ~]# vim /etc/selinux/config
SELINUX=disabled

  1. 验证
http://www.dtcms.com/a/272135.html

相关文章:

  • 从品牌附庸到自我表达:定制开发开源AI智能名片S2B2C商城小程序赋能下的营销变革
  • SQLite3 中列(变量)的特殊属性
  • Linux下LCD驱动-IMX6ULL
  • 一款集驱动TFT屏幕/语音控制/蓝牙为一体的芯片介绍WT2606B
  • Linux驱动学习day21(GPIO子系统)
  • 【保姆级喂饭教程】GitLab创建用户规范,分支开发规范,提交日志规范
  • 标题:2025游戏反外挂终极指南:从DMA对抗到生态治理的全面防御体系
  • 【博文汇项目全维度测试报告:功能与自动化双轨验证】
  • 在指定conda 环境里安装 jupyter 和 python kernel的方法
  • 【LeetCode 热题 100】2. 两数相加——(解法二)迭代法
  • MyBatis-Plus 中使用 Wrapper 自定义 SQL
  • 专题:2025供应链数智化与效率提升报告|附100+份报告PDF、原数据表汇总下载
  • 【2025/07/10】GitHub 今日热门项目
  • JavaEE——线程池
  • 嵌入式开发:云端仿真赋能WS2812创意灯光教学
  • PyTorch随机擦除:提升模型抗遮挡能力
  • 【会员专享数据】2013-2024年我国省市县三级逐日SO₂数值数据(Shp/Excel格式)
  • Houdini 分布式解算效率瓶颈突破:渲染 101 云集群实战指南
  • Transformer江湖录 第一章:江湖前传 - 神经网络门派纷争
  • 微服务架构下某汽车APP电商模块订单服务自动化测试方案(Python蹭个场)
  • YOLO11 目标检测从安装到实战
  • [论文阅读]LLMZip: Lossless Text Compression using Large Language Models
  • qemu vcpu的创建过程
  • 智慧气象新范式:人工智能如何重构城市级气象服务生态?
  • AI技术通过智能缺陷检测正在深度重构多个行业的生产模式、质量管理体系和人才结构,其影响已超越单纯的技术升级,正在引发系统性变革。
  • Windows 11 安装过程中跳过微软账户创建本地账户
  • 大模型 Agent(智能体)技术简介
  • 静默的田野革命—人工智能重构农业生态的技术风暴与文明悖论
  • 蛋白质序列-omega参数计算算法解读
  • 「按键精灵安卓/ios辅助工具」动态验证码该怎么得到完整的图片