全面数据库安装教程:数据库高手进阶之路
全面数据库安装教程:数据库高手进阶之路
数据库安装不是“点下一步”这么简单。真正的高手,会把安装当成部署、安全、性能、可维护性四件事一起完成。下面以 MySQL 8.4 LTS / 8.0
LTS 和 PostgreSQL 16/17 为主线,覆盖 Windows、Linux、Docker 三大场景。
一、安装前先选对数据库
不同数据库适合不同业务场景。
Web 应用、电商、CMS:优先选 MySQL / MariaDB。生态成熟、读写性能较好、文档丰富,是很多互联网项目的首选。
复杂查询、GIS、事务一致性要求高:优先选 PostgreSQL。查询能力强、扩展性好,适合复杂业务和数据分析场景。
缓存、会话、排行榜:优先选 Redis。内存型、低延迟,适合热点数据和高并发缓存。
嵌入式、本地应用:优先选 SQLite。零配置、单文件,适合轻量级场景。
企业 ERP、财务、强合规:可以考虑 Oracle / SQL Server。商业支持完善,但部署复杂度和成本更高。
个人学习和普通项目,优先从 MySQL 或 PostgreSQL 开始。
二、MySQL 安装
1. Windows 安装
推荐使用 MySQL Installer。
1mysql --version
安装时建议:
选择 Developer Default 或 Server Only;
端口保持 3306;
认证方式选择强密码加密;
设置 root 强密码;
勾选开机自启。
如果使用 ZIP 免安装版,需要手动配置 my.ini,指定 basedir、datadir,然后执行:
1mysqld --initialize-insecure
2mysqld --install
3net start mysql
2. Linux 安装
Ubuntu / Debian:
1sudo apt update
2sudo apt install -y mysql-server
3sudo systemctl start mysql
4sudo systemctl enable mysql
5sudo mysql_secure_installation
CentOS / RHEL / Rocky Linux:
1sudo dnf install -y mysql-community-server
2sudo systemctl start mysqld
3sudo systemctl enable mysqld
4grep 'temporary password' /var/log/mysqld.log
5sudo mysql_secure_installation
生产环境建议使用 MySQL 8.4 LTS 或 8.0 LTS,不要再使用已停更的 5.7。
3. Docker 安装
1docker pull mysql:8.4
2
3docker run -d
4 --name mysql84
5 --restart always
6 -p 3306:3306
7 -v /opt/mysql/data:/var/lib/mysql
8 -v /opt/mysql/conf:/etc/mysql/conf.d
9 -e MYSQL_ROOT_PASSWORD=你的强密码
10 -e TZ=Asia/Shanghai
11 mysql:8.4
三、PostgreSQL 安装
1. Linux 安装
Ubuntu / Debian:
1sudo apt update
2sudo apt install -y postgresql
3sudo systemctl enable postgresql
4sudo systemctl start postgresql
Fedora / RHEL:
1sudo dnf install -y postgresql-server postgresql-contrib
2sudo postgresql-setup --initdb --unit postgresql
3sudo systemctl enable postgresql
4sudo systemctl start postgresql
设置超级用户密码:
1sudo -u postgres psql
2password postgres
2. Docker 安装
1docker pull postgres:17
2
3docker run -d
4 --name pg17
5 --restart always
6 -p 5432:5432
7 -e POSTGRES_PASSWORD=你的强密码
8 -e POSTGRES_DB=app_db
9 -v /opt/postgres/data:/var/lib/postgresql/data
10 postgres:17
四、高手必须做的安全配置
安装完成后,至少完成这几件事:
修改默认密码,禁用弱口令;
删除匿名用户;
禁止 root / postgres 远程直连;
只开放必要端口;
为应用创建专用账号,遵循最小权限;
开启 SSL/TLS 传输加密;
配置审计日志和慢查询日志。
MySQL 示例:
sql
编辑
1CREATE USER 'app_user'@'localhost' IDENTIFIED BY '强密码';
2GRANT SELECT, INSERT, UPDATE, DELETE ON app_db.* TO 'app_user'@'localhost';
3FLUSH PRIVILEGES;
五、性能配置要点
MySQL 关键参数
ini
编辑
1[mysqld]
2innodb_buffer_pool_size = 物理内存的 50%-70%
3max_connections = 根据并发调整
4character-set-server = utf8mb4
5collation-server = utf8mb4_unicode_ci
6skip_name_resolve = ON
7slow_query_log = ON
8long_query_time = 2
PostgreSQL 关键参数
ini
编辑
1shared_buffers = 物理内存的 25% 左右
2effective_cache_size = 物理内存的 50%-75%
3work_mem = 根据排序和聚合需求调整
4maintenance_work_mem = 适当提高
5max_connections = 配合连接池使用
6log_statement = 'ddl'
7log_min_duration_statement = 1000
六、备份与恢复
MySQL 备份:
1mysqldump -u root -p --all-databases > full_backup.sql
PostgreSQL 备份:
1pg_dumpall -U postgres > full_backup.sql
生产环境必须做到:
定期全量备份;
必要时开启增量归档;
定期做恢复演练;
备份文件异地保存;
明确 RPO 和 RTO。
七、验证安装是否成功
MySQL:
1mysql -u root -p
2SHOW DATABASES;
PostgreSQL:
1sudo -u postgres psql
2l
Redis:
1redis-cli ping
如果都能正常返回结果,说明基础安装已完成。
八、从入门到高手的路线
会安装:能在 Windows、Linux、Docker 上跑起来;
会配置:知道字符集、连接数、内存、日志怎么设;
会安全:不会把 root 暴露给公网;
会备份:知道数据丢了怎么恢复;
会监控:能看慢查询、连接数、磁盘和内存;
会高可用:了解主从复制、读写分离、故障切换;
会自动化:能用脚本、Ansible、Docker Compose 重复部署。
-
全面数据库安装教程:数据库高手进阶之路全面数据库安装教程:数据库高手进阶之路数据库安装不是“点下一步”这么简单。真正的高手,会把安装当成部署、安全、性能、可维护性四件事一起完成。下面以 MySQL 8.4 LTS / 8.0 LTS 和 PostgreSQL 16/17 为主线,覆盖 Windows、Linux、Docker 三大场景。一、安装前先选对数...
-
【干货】数据库设计优化技巧,性能提升10倍一、表结构设计:从源头减少性能隐患选对数据类型是成本最低、收益最高的优化。能用 TINYINT 就别用 INT,能用 VARCHAR(50) 就别用 VARCHAR(255),日期字段用 DATE/DATETIME 而非字符串存储。字段越短,索引越小,I/O 越少。主键优先用自增整数,避免 UUID 或长字符串做主键。...
-
【干货】主从复制优化技巧,性能提升10倍主从复制是后端开发中最基础的高可用架构方案,无论是面试还是实际项目搭建,核心原理都是相通的。我按 MySQL(关系型代表) 和 Redis(缓存代表) 两大主流中间件,为你整理了一份从原理到配置再到避坑的完整攻略。一、 核心原理速查:为什么能实现数据同步?主从...
-
2026年高级MVCC最新趋势与技术选型既然您提到了“高级”,说明您已经对 MVCC(多版本并发控制)的基础概念(如隐藏字段、Undo Log、Read View)有了基本了解。在高级阶段,我们需要深入探讨 MVCC 的底层架构差异、与锁机制的协同、以及极端场景下的性能瓶颈。以下为您梳理的 MVCC 高级核心知识图谱:一、...
-
一文搞懂数据库优化方案,面试和工作都用得到数据库优化是一个系统性工程,通常遵循“先定位瓶颈,再针对性优化”的原则。结合你平时关注的软件开发技术栈,这里为你梳理了一套从 SQL 到架构的实战优化方案,可以直接落地到项目中:第一步:精准定位瓶颈在动手优化前,必须先通过数据找到真正的性能...
-
Redis数据类型常见问题排查手册Redis 早已超越了简单的 Key-Value 缓存,其核心竞争力在于提供了一套丰富且原生支持的数据结构。结合你平时对软件开发技术的关注,以下为你梳理了 Redis 的核心数据类型及其在工程化落地中的选型逻辑:核心基础数据类型(五大金刚)这五种类型覆盖了 90% 以上的常规...