0

0

MySQL基础入门教程_从安装配置到第一个数据库创建详解

雪夜

雪夜

发布时间:2025-08-01 08:08:01

|

683人浏览过

|

来源于php中文网

原创

mysql的安装配置及使用主要包括以下步骤:1.根据操作系统选择合适版本并安装,windows使用图形界面安装器,macos用homebrew命令安装,linux通过apt/yum/dnf安装;2.安装后运行mysql_secure_installation增强安全性;3.配置环境变量path以便命令行直接调用;4.连接mysql后创建数据库和表,使用create database、use、create table等语句定义结构并插入数据;5.常见问题如连接失败、权限错误、字符编码问题、端口冲突等可通过检查服务状态、修改用户权限、设置字符集、更改端口等方式解决;6.进阶学习包括用户权限管理、索引优化、join查询、备份恢复、事务控制、存储过程与触发器、数据库范式设计及性能调优。

MySQL基础入门教程_从安装配置到第一个数据库创建详解

MySQL,这个名字对于任何和数据打交道的人来说,都像空气一样无处不在。它是一个开源的关系型数据库管理系统(RDBMS),强大、稳定,而且免费,这让它成为了从小型个人项目到大型企业应用的首选之一。如果你正打算踏入数据世界的大门,或者只是想给自己的应用找个可靠的数据存储地,那么学会如何安装、配置MySQL,并创建你的第一个数据库,绝对是迈出的关键一步。这听起来可能有点技术性,但相信我,它远没有你想象的那么复杂,我们一步步来,很快你就能让它为你工作了。

MySQL基础入门教程_从安装配置到第一个数据库创建详解

安装和配置MySQL,坦白说,这通常是新手最容易卡壳的地方,但也是最关键的起点。我个人觉得,这就像搭乐高积木,你得先找到对的零件,然后按照说明书拼好。

首先,选择适合你操作系统的MySQL版本。如果你用的是Windows,最直接的方式是去MySQL官网下载Installer。那个图形界面安装器做得挺友好,基本上就是一路“Next”下去。不过,有几个地方需要留意:一是选择“Developer Default”通常能满足大多数开发需求;二是设置root用户的密码,这密码可得记牢了,它是你数据库的“超级管理员”权限。安装过程中,它还会问你一些配置选项,比如端口号(默认3306),这些一般保持默认就行。

MySQL基础入门教程_从安装配置到第一个数据库创建详解

macOS用户,可以选择Homebrew来安装,一行命令 brew install mysql 就能搞定,非常优雅。安装完之后,brew services start mysql 就能启动服务。这比手动下载包解压配置PATH省心太多了。

至于Linux,尤其是Debian/Ubuntu系的,sudo apt update 然后 sudo apt install mysql-server 就行了。安装过程中,它也会提示你设置root密码。CentOS/RHEL系则用yumdnf

MySQL基础入门教程_从安装配置到第一个数据库创建详解

安装完毕后,一个非常重要的步骤是运行安全脚本:mysql_secure_installation。这个脚本会引导你做一些安全设置,比如删除匿名用户、禁止root远程登录、删除测试数据库等。这些都是提高数据库安全性的基本操作,强烈建议执行。我记得我第一次接触MySQL时,就因为没做这一步,结果数据库权限管理一团糟,后来才发现是这些默认设置的问题。

有时候,安装完你会发现命令行无法直接运行mysql命令,这通常是环境变量PATH的问题。你需要把MySQL的bin目录(比如Windows下的C:\Program Files\MySQL\MySQL Server 8.0\bin或Linux/macOS下的/usr/local/mysql/bin)添加到系统的PATH环境变量里。这听起来有点烦,但做一次就劳逸永逸了。

如何创建你的第一个MySQL数据库和表?

当MySQL服务跑起来,并且你能通过命令行连接上它时,恭喜你,你已经站在了数据世界的入口。接下来,我们来创建你的第一个数据库和表,这就像是盖房子,先有地基,再有房间。

连接到MySQL服务器,通常是这样: mysql -u root -p 然后输入你之前设置的root密码。成功登录后,你会看到mysql>的提示符,这意味着你现在可以直接和数据库对话了。

创建数据库的命令非常直观: CREATE DATABASE my_first_db; 这里my_first_db就是你的数据库名字,你可以随意取名,但建议使用小写字母和下划线,避免特殊字符。

创建完数据库,你需要“进入”这个数据库才能在里面操作,就像你进入一个房间才能摆放家具一样: USE my_first_db;

现在,我们来创建一张表。表是用来存储具体数据的,它由行和列组成,每一列都有特定的数据类型(比如整数、文本、日期等)。我们创建一个简单的用户表,包含ID、姓名和年龄:

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    age INT
);

这里解释一下:

  • id INT AUTO_INCREMENT PRIMARY KEY: id是一个整数类型,AUTO_INCREMENT表示每次插入新记录时它会自动递增,PRIMARY KEY表示它是这张表的主键,唯一标识每一行数据。
  • name VARCHAR(100) NOT NULL: name是一个可变长度的字符串,最大长度100,NOT NULL表示这个字段不能为空。
  • age INT: age是一个整数类型。

表创建好了,我们往里面加点数据:

INSERT INTO users (name, age) VALUES ('张三', 30);
INSERT INTO users (name, age) VALUES ('李四', 25);

注意,id字段我们没有手动插入,因为它AUTO_INCREMENT

最后,我们来看看表里的数据: SELECT * FROM users; 当你看到整齐的数据呈现在你眼前时,那种成就感是实实在在的。

MySQL安装或使用中常见的错误和解决方案是什么?

在MySQL的旅程中,遇到问题是常态,没人能一帆风顺。我个人就没少踩坑,但每次解决问题都是一次成长。

  1. “Can't connect to local MySQL server through socket”或“Access denied for user 'root'@'localhost'”

    Build AI
    Build AI

    为您的业务构建自己的AI应用程序。不需要任何技术技能。

    下载
    • 原因分析: 前者通常是MySQL服务没启动,或者socket文件路径不对;后者是用户名或密码错误,或者用户没有从localhost连接的权限。
    • 解决方案:
      • 检查MySQL服务状态:Windows在服务管理器里看,macOS/Linux用sudo systemctl status mysqlsudo service mysql status。没启动就启动它。
      • 确认用户名和密码是否正确。
      • 如果是Access denied且服务正常,可能是root用户权限问题。尝试用sudo mysql(如果允许)登录,然后修改root用户密码或权限:ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES;
      • Socket文件问题,检查my.cnf(或my.ini)中的socket路径是否正确,通常在/var/run/mysqld/mysqld.sock/tmp/mysql.sock
  2. 忘记root密码

    • 原因分析: 记忆力是有限的,忘记密码太常见了。
    • 解决方案: 这需要一些步骤,但可以找回。基本思路是停止MySQL服务,以跳过权限验证的方式启动,然后登录修改密码,最后正常重启。具体步骤会因MySQL版本和操作系统略有不同,但通常涉及修改my.cnf添加skip-grant-tables,然后用mysql -u root登录,执行ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';,再移除skip-grant-tables并重启。
  3. 字符编码问题(乱码)

    • 原因分析: 数据库、表、客户端连接的字符集不一致,导致中文等非ASCII字符显示为乱码。
    • 解决方案: 确保数据库、表和客户端连接都使用UTF-8(推荐utf8mb4)字符集。
      • my.cnf中设置服务器默认字符集:
        [mysqld]
        character-set-server=utf8mb4
        collation-server=utf8mb4_unicode_ci
        [mysql]
        default-character-set=utf8mb4
      • 创建数据库时指定字符集:CREATE DATABASE my_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
      • 客户端连接时指定字符集:SET NAMES utf8mb4; 或在连接字符串中指定。
  4. 端口冲突

    • 原因分析: 默认端口3306被其他程序占用。
    • 解决方案:my.cnf中修改port配置项为其他未被占用的端口号,例如3307,然后重启MySQL服务。

处理这些问题时,日志文件是你的好朋友。MySQL的错误日志通常会告诉你发生了什么,路径可以在my.cnf中找到。学会看日志,能帮你省去很多猜测的时间。

学习MySQL之后,下一步可以探索哪些进阶主题?

完成了基础的安装、配置和数据操作,你已经掌握了MySQL的入门。但这仅仅是个开始,MySQL的强大之处远不止于此。在我看来,接下来你可以深入挖掘以下几个方向,它们能让你的数据库技能更上一层楼:

  1. 用户与权限管理: 你现在用的是root用户,但在实际开发中,为每个应用或开发者创建特定的用户,并赋予最小必要的权限,是保障数据库安全的关键。学习CREATE USERGRANTREVOKE命令,理解权限的层级和粒度,这对于构建安全的系统至关重要。

  2. 索引(Indexes): 当数据量变大时,SELECT查询可能会变得非常慢。索引就像书的目录,能极大地提高查询效率。深入理解B-Tree索引、哈希索引、复合索引以及何时、何地、如何正确地使用它们,是优化数据库性能的核心。不恰当的索引甚至会降低性能,所以这块值得花时间研究。

  3. 连接查询(JOINs): 真实世界的数据往往分布在多张表中,例如用户信息表和订单信息表。JOIN操作允许你将这些表关联起来,从而获取更完整的数据视图。学习INNER JOINLEFT JOINRIGHT JOIN等不同类型的连接,掌握它们的使用场景,这是关系型数据库的精髓所在。

  4. 备份与恢复: 数据无价,定期备份是数据安全的最后一道防线。了解mysqldump工具,学习如何进行全量备份、增量备份,以及在数据丢失或损坏时如何进行恢复。这不仅仅是技术,更是一种责任。

  5. 事务(Transactions): 事务保证了一系列数据库操作的原子性、一致性、隔离性和持久性(ACID特性)。在涉及资金流转或复杂业务逻辑的场景中,事务是必不可少的。理解START TRANSACTIONCOMMITROLLBACK,能让你写出更健壮、更可靠的应用程序。

  6. 存储过程、函数与触发器: 这些是数据库层面的编程能力,可以将复杂的业务逻辑封装在数据库中,提高效率和安全性。虽然现在很多逻辑都倾向于在应用层实现,但在某些特定场景下,它们依然非常有用。

  7. 数据库设计范式: 学习第一范式(1NF)、第二范式(2NF)、第三范式(3NF)等,有助于你设计出结构合理、数据冗余少、易于维护的数据库。虽然有时候为了性能会进行反范式设计,但理解范式是基础。

  8. 性能优化: 这是一个持续学习的过程。除了索引,还可以探索查询优化器的工作原理、EXPLAIN语句分析查询计划、调整MySQL配置参数(如innodb_buffer_pool_size)等。

此外,你还可以尝试使用图形界面工具,比如MySQL Workbench,它能让你更直观地管理数据库、设计表、执行查询,对于日常开发非常方便。这些进阶主题,每一个都值得你花时间去深入探索,它们会逐步打开你对数据管理和系统架构的全新视野。

相关专题

更多
mysql修改数据表名
mysql修改数据表名

MySQL修改数据表:1、首先查看数据库中所有的表,代码为:‘SHOW TABLES;’;2、修改表名,代码为:‘ALTER TABLE 旧表名 RENAME [TO] 新表名;’。php中文网还提供MySQL的相关下载、相关课程等内容,供大家免费下载使用。

652

2023.06.20

MySQL创建存储过程
MySQL创建存储过程

存储程序可以分为存储过程和函数,MySQL中创建存储过程和函数使用的语句分别为CREATE PROCEDURE和CREATE FUNCTION。使用CALL语句调用存储过程智能用输出变量返回值。函数可以从语句外调用(通过引用函数名),也能返回标量值。存储过程也可以调用其他存储过程。php中文网还提供MySQL创建存储过程的相关下载、相关课程等内容,供大家免费下载使用。

244

2023.06.21

mongodb和mysql的区别
mongodb和mysql的区别

mongodb和mysql的区别:1、数据模型;2、查询语言;3、扩展性和性能;4、可靠性。本专题为大家提供mongodb和mysql的区别的相关的文章、下载、课程内容,供大家免费下载体验。

280

2023.07.18

mysql密码忘了怎么查看
mysql密码忘了怎么查看

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql密码忘了怎么办呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

513

2023.07.19

mysql创建数据库
mysql创建数据库

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql怎么创建数据库呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

250

2023.07.25

mysql默认事务隔离级别
mysql默认事务隔离级别

MySQL是一种广泛使用的关系型数据库管理系统,它支持事务处理。事务是一组数据库操作,它们作为一个逻辑单元被一起执行。为了保证事务的一致性和隔离性,MySQL提供了不同的事务隔离级别。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

384

2023.08.08

sqlserver和mysql区别
sqlserver和mysql区别

SQL Server和MySQL是两种广泛使用的关系型数据库管理系统。它们具有相似的功能和用途,但在某些方面存在一些显著的区别。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

522

2023.08.11

mysql忘记密码
mysql忘记密码

MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。那么忘记mysql密码我们该怎么解决呢?php中文网给大家带来了相关的教程以及其他关于mysql的文章,欢迎大家前来学习阅读。

594

2023.08.14

vlookup函数使用大全
vlookup函数使用大全

本专题整合了vlookup函数相关 教程,阅读专题下面的文章了解更多详细内容。

28

2025.12.30

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
MySQL 教程
MySQL 教程

共48课时 | 1.5万人学习

MySQL 初学入门(mosh老师)
MySQL 初学入门(mosh老师)

共3课时 | 0.3万人学习

简单聊聊mysql8与网络通信
简单聊聊mysql8与网络通信

共1课时 | 777人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号