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;
相关推荐
SelectDB2 小时前
为什么 JSON 正在成为分析数据库新的竞争点?
数据库·json·agent
ClouGence3 小时前
开源数据库管理工具 CloudDM 4.2.0 发布,新增 GoldenDB、KingbaseES 等数据源
数据库·dba·devops
发霉的馒头3 小时前
ORA-00845: MEMORY_TARGET not supported on this system的解决方法
数据库
草莓熊Lotso5 小时前
【Redis 初阶】Set 类型深度解析:去重集合的运算能力与实战场景
linux·网络·数据库·windows·redis·tcp/ip·缓存
煎饼皮皮侠6 小时前
【设计】设计一个web版的数据库管理平台后端(之五) --借鉴mybatis
数据库·mybatis
东风破_13 小时前
danci 2:创建的单词书到底存在哪里?从 Supabase 一路理解 ORM、Drizzle 和 RLS
数据库·后端·node.js
九皇叔叔13 小时前
《MySQL 体系架构详解:Server 层、SQL 执行流程与 InnoDB、MyISAM、MEMORY 存储引擎》
sql·mysql·架构
橙子家14 小时前
OSS 文件上传的几个风险点和解决方案
数据库
2601_9620664915 小时前
【Sql Server】Update中的From语句,以及常见更新操作方式
android·java·数据库
愤怒的苹果ext16 小时前
MySQL Shell备份恢复数据库
数据库·mysql·备份恢复·mysqlsh