L02-MySQL环境搭建
MySQL的下载、安装、配置
MySQL的4大版本
- MySQL Community Server 社区版本,开源免费,自由下载,但不提供官方技术支持,适用于大多数普通用户。
- MySQL Enterprise Edition 企业版本,需付费,不能在线下载,可以试用30天。提供了更多的功能和更完备的技术支持,更适合于对数据库的功能和可靠性要求较高的企业客户。
- MySQL Cluster 集群版,开源免费。用于架设集群服务器,可将几个MySQL Server封装成一个 Server。需要在社区版或企业版的基础上使用。
- MySQL Cluster CGE 高级集群版,需付费。
此外,官方还提供了 MySQL Workbench (GUITOOL)一款专为MySQL设计的图形界面管理工具。MySQLWorkbench又分为两个版本,分别是社区版 (MySQL Workbench OSS)、商用版(MySQL WorkbenchSE)。
安装配置过程
https://www.bilibili.com/video/BV16L4y1b75R?p=8&vd_source=eba51e546b009d19fac1699fcaa8bab1
客户端的登录与退出
登录
格式:
1
mysql -h 主机名 -P 端口号 -u 用户名 -p密码
举例:
1
mysql -h localhost -P 3306 -u root -p12345678 # 这里我设置的root用户的密码是12345678
注意:
- -p与密码之间不能有空格,其他参数名与参数值之间可以有空格也可以没有空格
- 密码建议在下一行输入,保证安全
1
2mysql -h localhost -P 3306 -u root -p
Enter password:****- 客户端和服务器在同一台机器上,所以输入localhost或者IP地址127.0.0.1。同时,因为是连接本机,-hlocalhost就可以省略,如果端口号没有修改,-P3306也可以省略。简写成:
1
2mysql -u root -p
Enter password:****
查看版本信息
未登录
1 | mysql -V |
登录后
1 | select version(); |
退出
1 | exit |
MySQL演示使用
使用演示
- 查看所有的数据库
1 | show databases; |
- “information_schema”是 MySQL 系统自带的数据库,主要保存 MySQL 数据库服务器的系统信息, 比如数据库的名称、数据表的名称、字段名称、存取权限、数据文件所在的文件夹和系统使用的文件夹等
- “performance_schema”是 MySQL 系统自带的数据库,可以用来监控 MySQL 的各类性能指标。
- “sys”数据库是 MySQL 系统自带的数据库,主要作用是以一种更容易被理解的方式展示 MySQL 数据库服务器的各类性能指标,帮助系统管理员和开发人员监控 MySQL 的技术性能。
- “mysql”数据库保存了 MySQL 数据库服务器运行时需要的系统信息,比如数据文件夹、当前使用的字符集、约束检查信息,等等
- 创建自己的数据库
1 | create database 数据库名; |
- 使用自己的数据库
1 | use 数据库名; |
说明:如果没有使用use语句,后面针对数据库的操作也没有加“数据名”的限定,那么会报“ERROR 1046 (3D000): No database selected”(没有选择数据库)。使用完use语句之后,如果接下来的SQL都是针对一个数据库操作的,那就不用重复use了,如果要针对另 一个数据库操作,那么要重新use。
- 查看某个库的所有表格
1 | show tables; #要求前面有use语句 |
- 创建新的表格
1 | create table 表名称( |
说明:如果是最后一个字段,后面就不用加逗号,因为逗号的作用是分割每个字段。
1 | 创建学生表 |
- 查看一个表的数据
1 | select * from 数据库表名称; |
1 | 查看学生表的数据 |
- 添加一条记录
1 | insert into 表名称 values(值列表); |
- 查看表的创建信息
1 | show create table 表名称 |
1 | +---------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ |
MySQL 8.0支持插入中文,5.0不支持,需要修改字符集。
- 查看数据库的创建信息
1 | show create database 数据库名 |
1 | +-----------+-------------------------------------------------------------------------------------------------------------------------------------+ |
- 删除表格
1 | drop table 表名称; |
- 删除数据库
1 | drop database 数据库名; |
编码设置
在MySQL 8.0版本之前,默认字符集为latin1,utf8字符集指向的是utf8mb3。网站开发人员在数据库设计的时候往往会将编码修改为utf8字符集。如果遗忘修改默认的编码,就会出现乱码的问题。从MySQL 8.0 开始,数据库的默认编码改为 utf8mb4 ,从而避免了上述的乱码问题。
MySQL图形化管理工具
MySQL图形化管理工具极大地方便了数据库的操作与管理,常用的图形化管理工具有:MySQL Workbench、phpMyAdmin、Navicat Preminum、MySQLDumper、SQLyog、dbeaver、MySQL ODBC Connector。
MySQL Workbench
MySQL官方提供的图形化管理工具MySQL Workbench完全支持MySQL 5.0以上的版本。MySQL Workbench 分为社区版和商业版,社区版完全免费,而商业版则是按年收费。
MySQL Workbench 为数据库管理员、程序开发者和系统规划师提供可视化设计、模型建立、以及数据库管理功能。它包含了用于创建复杂的数据建模ER模型,正向和逆向数据库工程,也可以用于执行通常需要花费大量时间的、难以变更和管理的文档任务。
下载地址: http://dev.mysql.com/downloads/workbench/ 。
Navicat
Navicat MySQL是一个强大的MySQL数据库服务器管理和开发工具。它可以与任何3.21或以上版本的 MySQL一起工作,支持触发器、存储过程、函数、事件、视图、管理用户等,对于新手来说易学易用。 其精心设计的图形用户界面(GUI)可以让用户用一种安全简便的方式来快速方便地创建、组织、访问和 共享信息。Navicat支持中文,有免费版本提供。
下载地址: http://www.navicat.com/ 。
SQLyog
SQLyog 是业界著名的 Webyog 公司出品的一款简洁高效、功能强大的图形化 MySQL 数据库管理工具。这款工具是使用C++语言开发的。该工具可以方便地创建数据库、表、视图和索引等,还可以方便地进行插入、更新和删除等操作,同时可以方便地进行数据库、数据表的备份和还原。该工具不仅可以通过 SQL文件进行大量文件的导入和导出,还可以导入和导出XML、HTML和CSV等多种格式的数据。
下载地址: http://www.webyog.com/ 。
dbeaver
DBeaver是一个通用的数据库管理工具和 SQL 客户端,支持所有流行的数据库:MySQL、PostgreSQL、 SQLite、Oracle、DB2、SQL Server、 Sybase、MS Access、Teradata、 Firebird、Apache Hive、Phoenix、Presto等。DBeaver比大多数的SQL管理工具要轻量,而且支持中文界面。DBeaver社区版作为一个免费开源的产品,和其他类似的软件相比,在功能和易用性上都毫不逊色。
唯一需要注意是 DBeaver 是用Java编程语言开发的,所以需要拥有 JDK(Java Development ToolKit)环境。如果电脑上没有JDK,在选择安装DBeaver组件时,勾选“Include Java”即可。
下载地址: https://dbeaver.io/download/。
MySQL目录结构与源码
主要目录结构
- 以MacOS系统为例
MySQL的目录结构 | 说明 |
---|---|
bin目录 | 所有MySQL的可执行文件 |
/lib/plugin | 插件目录 |
data目录 | 系统数据库和个人数据库所在的目录 |
/keyring/keyring | 密钥环数据文件 |
/data/mysqld.local.err | 错误日志 |
/data/mysqld.local.pid | PID文件 |
MySQL源代码获取
采用C++开发,自行从官网获取。