MySQL入门

摘要

MySQL是世界上最流行的开源数据库。尽管具有强大的功能,MySQL设置简单,易于使用。下面是一些指导,通过几个简单的步骤帮助您启动并运行MySQL。我们还解释了如何使用mysql客户端。

笔记
  • 下面的说明并不一定适用于MySQL 5.7之前的版本。

  • 这些是仅用于新安装的说明。如果你已经在使用MySQL并且想要升级到一个新的版本,请参阅升级MySQL

有关法律信息,请参见法律声明

如果需要使用MySQL的帮助,请访问MySQL论坛,在这里您可以与其他MySQL用户讨论您的问题。

文件生成日期:21-04-21(修订日期:69451)


表的内容


安装和启动MySQL

安装MySQL有不同的方法。下面介绍了在不同平台上安装和启动MySQL的最简单方法。

使用MySQL客户端连接MySQL服务器

MySQL服务器启动并运行后,您可以作为超级用户连接到它mysql客户端。

  • 在Linux上,在命令行终端输入以下命令(对于使用通用二进制文件进行安装,可能需要首先转到箱子MySQL安装基本目录下的文件夹):

    mysql -u root -p
  • 在Windows上,点击开始所有程序MySQLMySQL 5.7命令行客户端(或MySQL 8.0命令行客户端分别)。如果没有使用MySQL安装程序安装MySQL,打开命令提示符,转到箱子在MySQL安装的基本目录下的文件夹,并发出以下命令:

    C:\> mysql -u root -p

然后你被要求密码,根据你安装MySQL的方式以不同的方式分配。上面给出的安装和初始化指令已经解释了密码,但这里是一个快速总结:

  • 对于使用MySQL Yum存储库、MySQL SUSE存储库或直接从Oracle下载的RPM包安装,生成的密码在错误日志中。例如,可以使用以下命令查看它:

    /var/log/mysqld.log .log
  • 对于使用MySQL APT存储库或直接从Oracle下载的Debian包的安装,您应该已经分配了密码你自己;如果您由于某些原因没有这样做,请参阅“重要”说明在这里如何重置Root用户密码

  • 对于安装在Linux上使用通用二进制文件,然后使用数据目录初始化mysqld——初始化讨论了在初始化数据目录,生成的密码在数据目录初始化时的标准错误流中显示:

    [警告]“root@localhost: iTag*AfrH5ej”出现临时密码

    请注意

    根据您用于初始化MySQL服务器的配置,错误输出可能已经被定向到MySQL错误日志;如果你没有在屏幕上看到上面的信息,去那里检查密码。错误日志是一个带有.err扩展,通常在服务器的数据目录下找到(其位置取决于服务器的配置,但很可能是数据在MySQL安装基本目录下的/var/lib/mysql文件夹)。

    如果您已经初始化数据目录mysqld——initialize-insecure相反,密码是空的。

  • 对于Windows上使用MySQL安装程序和OS X上使用安装程序包的安装,您应该分配一个密码你自己。

如果你忘记了您选择的密码或在找到临时密码时遇到问题为您生成的密码,请参阅如何重置Root用户密码

一旦您连接到MySQL服务器,将显示一个欢迎消息,并且mysql >提示符出现,如下所示:

欢迎来到MySQL监视器。命令以;或\ g。MySQL Community Server (GPL)版权所有(c) 2000, 2020, Oracle和/或其附属公司。Oracle是Oracle公司和/或其附属公司的注册商标。其他名称可能是其各自所有者的商标。键入“help”或“\h”寻求帮助。键入'\c'以清除当前输入语句。mysql >

此时,如果您已经使用临时登录在安装或初始化过程中生成的密码(如果使用MySQL Yum存储库安装MySQL,或使用Oracle的RPM包或通用二进制文件安装MySQL,就会出现这种情况),请更改您的在提示符输入以下语句,输入密码:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

直到你改变密码,您将不能行使任何超级用户权限,即使您以

这里有一些有用的东西在使用mysql客户:

  • 客户端命令(例如,帮助辞职,清晰的)和SQL语句中的关键字(例如,选择创建表,插入)不区分大小写。

  • 列名区分大小写。表名在大多数类unix平台上是区分大小写的,但在Windows平台上不区分大小写。字符串比较期间的大小写敏感性取决于您使用的字符排序规则。通常,将所有标识符(数据库名、表名、列名等)和字符串都区分大小写是一个好主意。看到标识符区分大小写字符串搜索中的大小写敏感性获取详细信息。

  • 通过按下,可以在多行上输入SQL语句输入在中间。输入分号()后面跟着一个输入结束SQL语句并将其发送到服务器执行;当一个语句以……结束时,也会发生同样的情况\ g\ G(对于后者,返回的结果将垂直显示)。但是,客户端命令(例如,帮助辞职,清晰的)不需要终止符。

要断开与MySQL服务器的连接,输入辞职\问在客户端:

mysql >退出

MySQL的一些基本操作

下面是MySQL服务器的一些基本操作。SQL语句详细解释了下面演示的SQL语句的丰富语法和功能。

显示现有的数据库。使用一个显示数据库声明:

mysql >显示数据库;+--------------------+ | 数据库  | +--------------------+ | mysql information_schema | | | | performance_schema | |系统  | +--------------------+ 4行集(0.00秒)

创建一个新的数据库。使用一个创建数据库声明:

mysql>创建宠物数据库;查询OK, 1行受影响(0.01秒)

检查数据库是否已经创建:

mysql >显示数据库;+--------------------+ | 数据库  | +--------------------+ | 宠物mysql information_schema | | | | performance_schema | | | |系统  | +--------------------+ 5行集(0.00秒)

在数据库中创建表。首先,选择要在其中使用使用声明:

mysql> USE pets数据库更改

使用语句告诉MySQL使用宠物作为后续语句的默认数据库。接下来,使用创建表声明:

创建表的猫(INT id未签名的NOT NULL AUTO_INCREMENT,惟一的id号备案名称VARCHAR(150)不是NULL, #猫主人的名字VARCHAR (150) NOT NULL, #的猫出生日期不为空,#生日的猫主键(id) #使id的主键);

可以在每一列中使用的数据类型说明在数据类型主关键字优化解释主键的概念。下面一个控件将忽略每一行的注释mysql客户端;看到评论其他注释样式。

检查表是否已使用显示表声明:

mysql >显示表;+----------------+ | Tables_in_pets  | +----------------+ | 猫  | +----------------+ 1行集(0.00秒)

描述显示一个表的所有列的信息:

mysql >描述猫;+-------+------------------+------+-----+---------+----------------+ | 字段默认零关键| | | | |类型多  | +-------+------------------+------+-----+---------+----------------+ | id | int(10)无符号|没有零| | PRI | auto_increment | | |名称varchar(150) | | |零| | | |老板varchar(150) | | |零| | |没有出生日期| | ||零  | | +-------+------------------+------+-----+---------+----------------+ 4行集(0.00秒)

向表中添加记录。例如,使用an插入值……声明:

INSERT INTO cats (name, owner, birth) VALUES ('Sandy', 'Lennon', '2015-01-03'), ('Cookie', 'Casey', '2013-11-13'), ('Charlie', 'River', '2016-05-21');

看到文字值如何写字符串,日期,和其他类型的文字在MySQL。

从表中检索记录。使用一个选择声明,要匹配所有列:

mysql> SELECT * FROM cats;+----+---------+--------+------------+ | id名称| | |所有者  | +----+---------+--------+------------+ | 1 |桑迪列侬| | 2015-01-03 | | 2 |饼干凯西| | 2013-11-13 | | 3 | 2016-05-21 | |查理河  | +----+---------+--------+------------+ 3行集(0.00秒)

控件按特定条件选择特定的列和行在哪里条款:

mysql> SELECT name FROM cats WHERE owner = 'Casey';+--------+ | 的名字  | +--------+ | 饼干  | +--------+ 1行集(0.00秒)

从表中删除一条记录。使用一个删除语句从表中删除记录,并使用在哪里条款:

mysql> DELETE FROM cats WHERE name='Cookie';mysql> SELECT * FROM cats;+----+---------+--------+------------+ | id名称| | |所有者  | +----+---------+--------+------------+ | 1 |桑迪列侬| | 2015-01-03 | | 3 | 2016-05-21 | |查理河  | +----+---------+--------+------------+ 2行集(0.00秒)

从表中添加或删除列。使用一个ALTER TABLE…添加语句添加列。你可以用,例如,an子句指定新列的位置:

mysql> ALTER TABLE cats ADD gender CHAR(1) AFTER name;查询OK, 0行影响(0.24秒)记录:0重复:0警告:0

使用描述检查结果:

mysql >描述猫;+--------+------------------+------+-----+---------+----------------+ | 字段默认零关键| | | | |类型多  | +--------+------------------+------+-----+---------+----------------+ | | int id(10)无符号|没有零| | PRI | auto_increment | | |名称varchar(150) | | |零| | | |性别char(1) |是| |零| | | |老板varchar (150)没有| | |零| | | |出生日期没有| | | NULL  | | +--------+------------------+------+-----+---------+----------------+ 5行集(0.00秒)

显示创建表显示了一个创建表语句,它提供了关于表的更多细节:

猫\ G mysql >显示创建表  *************************** 1。行  *************************** 表:猫创建表:创建表“猫”(“id”int(10)无符号不是零AUTO_INCREMENT,“名字”varchar(150)不是NULL,“性别”字符(1)默认为空,“主人”varchar(150)不是NULL,出生日期非空,主键(id))引擎= InnoDB AUTO_INCREMENT = 4默认字符集= latin1一行在集合中的一个(0.00秒)

使用ALTER TABLE下降……删除列:

mysql> ALTER TABLE cats DROP gender;查询OK, 0行影响(0.19秒)记录:0重复:0警告:0 mysql>描述猫;+-------+------------------+------+-----+---------+----------------+ | 字段默认零关键| | | | |类型多  | +-------+------------------+------+-----+---------+----------------+ | id | int(10)无符号|没有零| | PRI | auto_increment | | |名称varchar(150) | | |零| | | |老板varchar(150) | | |零| | |没有出生日期| | ||零  | | +-------+------------------+------+-----+---------+----------------+ 4行集(0.00秒)

看到教程获取更多关于如何使用MySQL服务器的说明。

其他需要完成的重要任务

创建更多的用户帐户。是管理MySQL服务器的超级用户帐户,不应该用于一般操作。关于如何创建各种类型的用户帐户,请参阅添加帐号、分配权限、删除帐号

将MySQL配置为systemd管理。如果您在systemd平台上使用通用二进制文件安装了MySQL,并希望使用systemd对其进行管理,请参阅使用systemd管理MySQL服务器

故障排除

以下是一些资源,用于排除您可能遇到的一些问题:

其他有用的资源

法律声明

版权所有©1997,2021,Oracle和/或其附属公司。

本软件和相关文档是根据包含使用和披露限制的许可协议提10bet官方网站供的,并受知识产权法的保护。除非您的许可协议明确允许或法律允许,否则您不得以任何形式或以任何方式使用、复制、复制、翻译、广播、修改、许可、传输、分发、展示、表演、出版或展示任何部分。除非法律要求互操作性,否则禁止对该软件进行反向工程、反汇编或反编译。

此处所包含的信息可在不另行通知的情况下更改,并不能保证没有错误。如发现任何错误,请以书面形式向我们报告。

如果这是交付给美国政府或代表美国政府对其进行授权的任何人的软件10bet官方网站或相关文档,则适用以下通知:

美国政府最终用户:Oracle程序(包括任何操作系统、集成软件、在交付硬件上嵌入、安装或激活的任何程序,以及对该等程序的修改)和提交给美国政府最终用户或由美国政府最终用户访问的Oracle计算机文档或其他Oracle10bet官方网站数据均为根据适用的《联邦收购条例》和特定机构补充条例的“商用计算机软件”或“商用计算机软件文档”。i) Oracle程序(包括任何操作系统、集成软件、在交付硬件上嵌入、安装或激活的任何程序,以及对该等程序的修改),ii) Oracle计算机文档和/或ii10bet官方网站i)其他Oracle数据,受适用合同中包含的许可中规定的权利和限制的约束。管理美国政府使用Oracle云服务的条款由此类服务的适用合同定义。没有其他权利被授予美国政府。

这种软件或硬件是为各种信息管理应用程序的通用用途而开发的。它不是开发或打算用于任何固有的危险应用,包括可能造成人身伤害风险的应用。如果您在危险的应用程序中使用此软件或硬件,则您应负责采取所有适当的故障保险、备份、冗余和其他措施,以确保其安全使用。甲骨文公司及其附属公司对在危险应用中使用该软件或硬件造成的任何损害不承担任何责任。

Oracle和Java是Oracle和/或其附属公司的注册商标。其他名称可能是其各自所有者的商标。

英特尔和英特尔内部是英特尔公司的商标或注册商标。所有SPARC商标均在许可下使用,是SPARC国际有限公司的商标或注册商标。AMD、Epyc和AMD标识是Advanced Micro Devices的商标或注册商标。UNIX是开放集团的注册商标。

本软件或硬件和文档可能提供对第三方内容、产品和服务的访问或信10bet官方网站息。除非您与Oracle之间的适用协议另有规定,Oracle公司及其关联公司不负责并明确否认与第三方内容、产品和服务有关的任何类型的保证。Oracle公司及其关联公司不承担因您访问或使用第三方内容、产品或服务而产生的任何损失、成本或损害,但您与Oracle之间的适用协议中规定的除外。

本文档不是10bet官方网站在GPL许可下发布的。本文档的使用应遵守以下条10bet官方网站款:

您可以创建本文件的打印副本,仅供您个人使用。10bet官方网站转换为其他格式是允许的,只要实际内容没有以任何方式改变或编辑。您不得以任何形式或在任何媒体上发布或分发本文档,除非您以类似Oracle发布方式(10bet官方网站即,在网站上通过电子方式下载该软件)或在CD-ROM或类似媒体上发布。但前提是该文档与软件在同一媒体上一起传播。10bet官方网站任何其他用途,如印刷副本的传播或本文档的全部或部分在其他出版物中使用,都需要获得Oracle授权代表的事先书面同意。10bet官方网站Oracle和/或其关联公司保留上述未明确授予的对本文档的任何和所有权利。10bet官方网站

10bet官方网站文档可访问性

有关Oracle对可访问性承诺的信息,请访问博彩到10bet娱乐城Oracle可访问性计划网站https://www.oracle.com/corporate/accessibility/

访问Oracle支持的可访问性

已购买支持的Oracle客户可以通过“我的Oracle支持”访问电子支持。的信息,请访问https://www.oracle.com/corporate/accessibility/learning-support.html#support-tab