news 2026/5/23 16:44:34

MySQL 运维实战系列(一)二进制安装 Mysql 8.0

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MySQL 运维实战系列(一)二进制安装 Mysql 8.0

01 数据库服务概述

什么是数据库服务?

数据库是规范存储数据的服务程序,用于存储网站或App界面看不到的数据,支持快速、高效的数据调取

数据库服务分类

类型特点代表产品
关系型数据库数据存储类似Excel表格(库=文件,表=表格,字段/记录=行列)MySQL, MariaDB, Oracle, PostgreSQL
非关系型数据库无表格结构限制Redis(缓存型), MongoDB(文档型)
新型数据库结合关系型与非关系型特点,支持分布式存储OB, TiDB(兼容MySQL), 达梦, openGauss(兼容Oracle)

02 数据库服务安装部署(以MySQL为例)

安装方式对比

方式优点缺点
yum简单无法定制版本
rpm可控需要解决依赖
源码编译灵活慢、耗资源
二进制(推荐)解压即用需手动配置

二进制安装步骤(MySQL 8.0.36)

1. 操作系统环境准备
# 我用的centos7.9# 关闭防火墙和SELinuxsystemctl stop firewalld&&systemctl disable firewalld setenforce0# 关闭selinux setenforce: SELinux is disabled# 创建管理用户和目录useraddmysql-M-s/sbin/nologinmkdir-p/data/3306/datamkdir-p/data/3306/logschown-Rmysql.mysql /data/3306/data /data/3306/logscd/usr/local/# 安装数据库需要的依赖yuminstall-ylibaio-devel

1.1下载数据库安装包
MySQL 官方下载页面

2. 安装程序
# 下载好的安装包上传到 /usr/localcd/usr/localtarxf mysql-8.0.36-linux-glibc2.12-x86_64.tar.xzln-smysql-8.0.36-linux-glibc2.12-x86_64 mysql# 配置环境变量echo'export PATH="$PATH:/usr/local/mysql/bin"'>>/etc/profilesource/etc/profile# 验证版本mysql-V

若系统中已有MariaDB/MySQL,需先卸载:

rpm-qa|grep-E"mariadb|mysql"|xargsrpm-e--nodeps# --nodeps忽略依赖检查

mysql/bin 目录下的工具

分类命令作用使用场景
服务器启动与管理mysqldMySQL 服务器主程序直接启动数据库服务
mysqld_safe安全的启动脚本,进程异常自动重启生产环境推荐使用
mysqladmin管理工具(查看状态、关闭服务等)快速管理操作
客户端连接工具mysqlMySQL 命令行客户端连接数据库执行 SQL 命令
mysqlshow显示数据库、表、列信息查看数据库结构
备份与恢复mysqldump逻辑备份工具(导出 SQL 文件)最常用的备份工具
mysqlbinlog解析二进制日志增量备份、数据恢复
数据库检查与修复mysqlcheck检查、修复、优化表维护数据库表
myisamchkMyISAM 表检查和修复修复 MyISAM 引擎表
innochecksum检查 InnoDB 表空间完整性检测 InnoDB 文件损坏
安全与配置mysql_secure_installation安全配置向导首次安装后加固安全
mysql_config_editor加密保存登录凭据避免密码明文
性能测试mysqlslap数据库压力测试工具测试并发性能
错误诊断perror查看错误码含义查看错误说明
升级工具mysql_upgrade升级数据库系统表MySQL 版本升级后运行
3. 初始化设置
# 配置文件 /etc/my.cnfcat>/etc/my.cnf<<'EOF' [mysqld] # 基础路径配置 basedir = /usr/local/mysql datadir = /data/3306/data socket = /tmp/mysql.sock pid-file = /data/3306/data/mysqld.pid port = 3306 user = mysql # 错误日志(必须) log-error = /data/3306/logs/mysqld.log # 字符集 character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci [client] socket = /tmp/mysql.sock port = 3306 default-character-set = utf8mb4 [mysql] socket = /tmp/mysql.sock port = 3306 default-character-set = utf8mb4 prompt = '\\u@\\h [\\d]> ' EOF
# 初始化(免密方式,推荐)mysqld --defaults-file=/etc/my.cnf --initialize-insecure
4. 启动数据库(三种方法,推荐3)
# 1.命令方式mysqld_safe --defaults-file=/etc/my.cnf&# 2.脚本方式,mysql自带的脚本cp/usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld /etc/init.d/mysqld startservicemysqld start# 3.设置系统服务(推荐)cp/usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld systemctlenablemysqld# 先执行这个初始化systemctl start mysqld

安装补充说明

  • 依赖问题
    • Kylin系统:无需额外安装
    • CentOS 7.9:需安装libaio-devel
  • 初始化密码
    • --initialize生成临时密码(记录在错误日志中)
    • --initialize-insecure免密初始化(推荐练习)
  • 启动失败排查
    • 查看错误日志:cat /data/3306/data/*.err
    • 检查/etc/my.cnf配置
    • 必要时重新初始化(注意备份数据)

03 数据库服务基础管理

1. 密码管理

设置密码:
# 命令行mysqladmin-urootpassword"1"# 命令执行成功,两个警告 警告1:命令行输入密码不安全 警告2:密码明文传输[root@db-centos-192 /usr/local]# mysqladmin -uroot password "1"mysqladmin:[Warning]Using a password on thecommandline interface can be insecure. Warning: Since password will be sent to serverinplain text, use ssl connection to ensure password safety.# 命令(数据库内)# 无密码登录mysql alter user root@'localhost'identified by'1';
修改密码:
# 命令行mysqladmin-uroot-p旧密码 password"新密码"# 命令(数据库内)alter user root@'localhost'identified by'1';
重置密码步骤:
# 1. 停止数据库/etc/init.d/mysqld stop# 确认关闭ps-ef|grepmysql# 2. 跳过授权表启动mysqld --defaults-file=/etc/my.cnf --skip-grant-tables&# 3. 连接数据库并重置密码mysql# 重新回复授权flush privileges;alter user root@'localhost'identified by'新密码';# 4. 正常重启pkillmysql /etc/init.d/mysqld start

2. 连接管理

连接方式命令示例说明
本地连接mysql -uroot -p123456默认使用/tmp/mysql.sock
远程连接mysql -uroot -p123456 -h 10.0.0.52 -P 3306需创建远程用户
创建远程用户示例:
createuserroot@'10.0.0.%'identifiedby'123456';createuserlottery@'172.16.1.%'identifiedby'lottery';
  • 10.0.0.%:网段
  • 10.0.0.53:单IP
  • %:任意主机

推荐数据库远程连接工具:DBeaver(免费)、Navicat(付费)


3. 用户管理

-- 创建createuser'xiaoA'@'localhost'identifiedby'123456';-- 查看selectuser,hostfrommysql.user;-- 修改密码alteruser'xiaoA'@'localhost'identifiedby'新密码';-- 修改加密方式alteruser'xiaoA'@'localhost'identifiedwithmysql_native_passwordby'123456';-- 删除dropuser'xiaoA'@'localhost';-- 或deletefrommysql.userwhereuser='xiaoA';

4. 权限管理

常见权限
权限说明
select查询数据
insert插入数据
update修改数据
delete删除数据
create创建库/表
drop删除库/表
alter修改表结构
show databases查看数据库列表
授权与撤销
# *.* ---> blog.book 表示blog库里的book表权限-- 授权grantselect,inserton*.*to'root'@'10.0.0.%';-- 全部权限grantallon*.*to'root'@'10.0.0.%';-- 授权权限grantgrantoptionon*.*to'root'@'10.0.0.%';-- 查看权限showgrantsfor'root'@'10.0.0.%';-- 撤销权限revokeinserton*.*from'root'@'10.0.0.%';

特殊权限说明

  • all:除grant option外的几乎所有权限
  • grant option:允许用户将自己拥有的权限授予他人
  • usage:默认权限,仅允许登录

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/23 16:43:43

WordPress 7.0 新手极速部署与实战指南

技术博客、独立站、企业官网&#xff0c;都可以使用WordPress这个工具。很多开发者在接手新项目或者想要快速搭建个人技术博客时&#xff0c;往往会在环境配置和繁琐的部署步骤上耗费大量精力。明明核心业务逻辑已经清晰&#xff0c;却因为服务器环境不统一、数据库连接失败或者…

作者头像 李华
网站建设 2026/5/23 16:43:26

[具身智能-854]:极致形象类比:大模型育人成才,小模型生灵塑行

大模型&#xff0c;就像把一个一无所知的人培养成人类的博士生或专家&#xff0c;需要耗费大量的知识资源。小模型&#xff0c;类似任何生物体&#xff0c;哪怕是文盲&#xff0c;哪怕是没有人类语言的动物&#xff0c;也能训练很强的运动能力&#xff0c;甚至是武侠大师。一个…

作者头像 李华
网站建设 2026/5/23 16:39:37

gibMacOS:跨平台macOS组件下载与系统部署的完整解决方案

gibMacOS&#xff1a;跨平台macOS组件下载与系统部署的完整解决方案 【免费下载链接】gibMacOS Py2/py3 script that can download macOS components direct from Apple 项目地址: https://gitcode.com/gh_mirrors/gi/gibMacOS gibMacOS是一款功能强大的Python脚本工具&…

作者头像 李华
网站建设 2026/5/23 16:39:08

洛雪音乐音源终极选择指南:3分钟找到最适合你的免费音乐方案

洛雪音乐音源终极选择指南&#xff1a;3分钟找到最适合你的免费音乐方案 【免费下载链接】lxmusic- lxmusic(洛雪音乐)全网最新最全音源 项目地址: https://gitcode.com/gh_mirrors/lx/lxmusic- 你是否厌倦了在多个音乐平台之间切换&#xff1f;是否对VIP收费感到烦恼&a…

作者头像 李华