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;
相关推荐
Maverick063 小时前
Oracle Redo 日志操作手册
数据库·oracle
攒了一袋星辰4 小时前
高并发强一致性顺序号生成系统 -- SequenceGenerator
java·数据库·mysql
W.D.小糊涂4 小时前
gpu服务器安装windows+ubuntu24.04双系统
c语言·开发语言·数据库
云贝教育-郑老师4 小时前
【OceanBase 的多租户架构是怎样的?有什么优势?】
数据库·oceanbase
顶点多余4 小时前
使用C/C++语言链接Mysql详解
数据库·c++·mysql
xiaokangzhe4 小时前
MySQL 数据库操作
数据库·oracle
发际线还在6 小时前
互联网大厂Java三轮面试全流程实战问答与解析
java·数据库·分布式·面试·并发·系统设计·大厂
小王不爱笑1326 小时前
MyBatis 执行流程源码级深度解析:从 Mapper 接口到 SQL 执行的全链路逻辑
数据库·sql·mybatis
Seven976 小时前
MySQL语句执行深度剖析:从连接到执行的全过程
mysql