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;
相关推荐
成为你的宁宁几秒前
【Prometheus监控Nginx/Mysql/Redis/Docker/Rabbitmq】
mysql·nginx·prometheus
@我漫长的孤独流浪5 分钟前
SQL触发器实战:银行系统数据完整性控制
数据库·oracle
半夜修仙18 分钟前
Redis中Set数据类型的常见命令
java·数据库·redis·笔记·学习
oradh25 分钟前
Oracle逻辑存储结构概述
数据库·oracle·逻辑存储结构·oracle逻辑存储结构概述
廿一夏30 分钟前
MySql视图触发器函数存储过程
数据库·sql·oracle
hikktn31 分钟前
Oracle 行锁 ORA-00054 高效重试机制实战:MERGE 批量更新 + FOR UPDATE NOWAIT 完整方案
数据库·oracle
￰meteor33 分钟前
【数据库导学】
数据库
zxrhhm33 分钟前
Oracle检查点Checkpoint深度解析
数据库·oracle
rising start35 分钟前
三、深入理解MySQL索引底层
数据库·mysql
weixin_4261507041 分钟前
AI辅助Oracle容量规划:告别拍脑袋扩容
运维·数据库·人工智能·oracle