MySQL 服务基础

MySQL 服务的二进制安装

MySQL 是全球最流行、应用最广泛的开源关系型数据库管理系统(RDBMS),凭借轻量、高效、易用、免费的特性,成为互联网、中小企业、嵌入式开发等场景的首选数据库,是 Web 开发与数据存储的核心基石。

核心特性

  1. 开源免费

    社区版完全开源免费,无版权成本,个人、企业均可自由使用、修改、分发。

  2. 轻量高效

    资源占用低、读写速度快,支持高并发访问,适配从小型网站到大型分布式系统的全场景。

  3. 跨平台兼容

    支持 Linux、Windows、macOS 等所有主流操作系统,部署灵活。

  4. 标准 SQL 支持

    遵循通用 SQL 语法,学习成本低,与 Oracle、SQL Server 等数据库语法互通性强。

  5. 多存储引擎

    支持 InnoDB(默认,支持事务、外键)、MyISAM 等多种存储引擎,可按需选择。

  6. 高可用与易扩展

    支持主从复制、读写分离、集群部署,满足海量数据与高并发业务需求。

1.基础环境准备

bash 复制代码
# 关闭防火墙与 SELINUX
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

# 创建 mysql 用户与用户组
groupadd mysql
useradd -r -g mysql -s /sbin/nologin mysql

# 安装依赖
yum -y install libaio-devel

2.二进制安装

bash 复制代码
# 下载并安装 MySQL 二进制包
cd /usr/local
wget https://cdn.mysql.com/Downloads/MySQL-8.0/mysql-8.0.36-linux-glibc2.28-x86_64.tar.xz
tar -xvf mysql-8.0.36-linux-glibc2.28-x86_64.tar.xz
mv mysql-8.0.36-linux-glibc2.28-x86_64 mysql

# 创建数据目录并授权
mkdir -p /data/mysql
chown -R mysql:mysql /data/mysql
chown -R 750 /data/mysql

3.设定配置文件

ini 复制代码
# /etc/my.cnf
[mysqld]
basedir = /usr/local/mysql
datadir = /data/mysql
socket = /tmp/mysql.sock
port = 3306
character-set-server = utf8
default-storage-engine = INNODB
max_connections = 1000
log-error = /data/mysql/mysql-error.log
pid-file = /data/mysql/mysql.pid

[client]
socket = /tmp/mysql.sock
default-character-set = utf8

4.配置 systemctl 启动

  1. 创建服务文件

    bash 复制代码
    vim /usr/lib/systemd/system/mysqld.service
  2. 服务文件代码

    ini 复制代码
    [Unit]
    Description=MySQL Server
    After=network.target
    
    [Service]
    User=mysql
    Group=mysql
    Type=forking
    ExecStart=/usr/local/mysql/bin/mysql_safe --defaults-file=/etc/my.cnf
    ExecStop=/usr/local/mysql/bin/mysqladmin -u root -p shutdown
    Restart=on-failure
    
    [Install]
    WantedBy=multi-user.target
  3. 重载并启动服务

    bash 复制代码
    systemctl daemon-reload
    systemctl start mysqld
    systemctl enable mysqld
    systemctl status mysqld

5.访问数据库

bash 复制代码
# 查看临时密码
grep 'temporary password' /data/mysql/mysql-error.log

# 登录 MySQL
mysql -u root -p

# 修改初始密码
alter user 'root'@'localhost' identified by '新密码';
flush privileges;
相关推荐
ClickHouseDB4 小时前
ClickHouse Cloud 与 Snowflake 实时性价比对比:CostBench 测试中的 412 倍差距来
运维·数据库·系统架构
m0_639906944 小时前
Redis入门|五种数据结构、使用场景、持久化RDB&AOF
数据结构·数据库·redis
时间售卖铺5 小时前
触发器与函数实战:MySQL高效编程秘诀
运维·数据库·mysql·云原生
qetfw5 小时前
UOS MariaDB 数据库:安装、最小权限与备份验证
linux·数据库·mariadb·uos
数智园区合作社6 小时前
问数平台怎么把同一个指标锁成一个数
大数据·数据库·人工智能·ai
lbb 小魔仙6 小时前
Windows搭建PaddleOCR+飞书Webhook自动打卡通知机器人:识别、推送与远程触发完整教程
数据库·人工智能·prometheus·时序数据库
captain3767 小时前
MyBatis操作数据库(入门2)
java·数据库·spring boot·后端·spring·mybatis
心中有你02148 小时前
Java实现Dijkstra最短路径算法(邻接表 + 优先队列)
java·数据库·算法
龙亘川8 小时前
综合素质评价业务建模:从过程性评价到成长档案全链路闭环
数据库·智慧城市·数据可视化
数据库小组8 小时前
NineData 实战教程:MySQL 5.5 数据迁移同步到 MySQL 8.0(跨版本升级)
数据库·mysql·mysql优化·数据库开发·数据库迁移·版本升级·数据复制