mysql中用完即删用什么_MySQL使用和操作总结(《MySQL必知必会》读书笔记)

简介

MySQL是一种DBMS,即它是一种数据库软件。DBMS可分为两类:一类是基于共享文件系统的DBMS,另一类是基于客户机——服务器的DBMS。前者用于桌面用途,通常不用于高端或更关键应用。

MySQL是基于客户机——服务器的数据库。客户机——服务器应用分为两个不同的部分。服务器部分是负责所有数据访问和处理的软件。这个软件运行在称为数据服务器的计算机上。客户机是与用户打交道的软件。

使用MySQL

连接数据库

在操作系统命令提示符下输入 mysql 将出现如下提示:

C:\Users\greenhat>mysql

Welcometo the MySQL monitor. Commands end with ; or\g.

Your MySQL connection idis 9Server version:5.6.38MySQL Community Server (GPL)

Copyright (c)2000, 2017, Oracle and/or its affiliates. Allrights reserved.

Oracleis a registered trademark of Oracle Corporation and/orits

affiliates. Other names may be trademarksoftheir respective

owners.

Type'help;' or '\h' for help. Type '\c' to clear the currentinput statement.

mysql>

如上述界面提示即打开了数据库的连接。也可用root用户打开:mysql -u root -p。这是会提示输入密码,如果安装时未设置密码按回车即可。如果软件安装时未设置环境变量,需要在所安装目录的/bin下输入mysql方可启动。

注意:

a.命令输入在mysql>之后;

b.命令用;或\g结束;

c.输入quit或exit退出命令行实用程序。

选择数据库

最初连接到MySQL时,没有数据库打开供你使用。这时可输入 SHOW DATABASES 查看已有的数据库:

mysql>SHOW DATABASES;+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

| student |

| students |

| test |

+--------------------+

6 rows in set (0.02 sec)

从已有的数据库中选择一个数据库。可用关键字USE:

mysql> USEstudents;Databasechanged

mysql>

使用SHOE TABLES 查看数据库中存在的表:

mysql>SHOW TABLES;+--------------------+

| Tables_in_students |

+--------------------+

| student1 |

| students |

| teacher |

| teacher1 |

+--------------------+

4 rows in set (0.08 sec)

接下来可用SQL语句来对数据库进行新建表格等操作。

用户管理与维护

MySQL服务器的安全基础是:用户应该对他们需要的数据具有适当的访问权限,既不能多也不能少。例如多数用户只需对表进行读和写,某些用户(管理员)可能需要处理用户账号的权限。MySQL创建一个名为root的用户账号,它对整个MySQL服务具有完全的控制。你可能已经试过用root账号登陆,不过在现实世界的日常工作中,绝对不能随便使用root。应该创建一系列的账号,有的用于管理,有的供用户使用,有的供开发人员使用,等等。

MySQL用户账号和信息存储在名为 mysql 的MySQL数据库中:

mysql> USEmysql;Databasechanged

mysql> SELECT user FROM user;+------+

| user |

+------+

| root |

+------+

创建用户账号

创建一个新的用户账号,使用CREATE USER语句,如下:

mysql> CREATE USERjack;

Query OK,0 rows affected (0.48 sec)

这时再列出用户就能看到我们刚才新建的用户了。我们也可以在创建用户时添加口令,使用IDENTIFIED BY PASSWORD,如下:

mysql> CREATE USER jackson IDENTIFIED BY '123456';

Query OK,0 rows affected (0.06 sec)

重命名一个用户账号时,使用RENAME USER语句,如下:

mysql> RENAME USER jack TOben;

Query OK,0 rows affected (0.04 sec)

删除用户账号

删除一个用户账号,使用DROP USER语句,如下:

mysql> DROP USERben;

Query OK,0 rows affected (0.00 sec)

设置访问权限

在创建账号后,必须接着分配访问权限。新创建的账号没有访问权限。它们能登陆MySQL,但不能看到数据,不能执行任何数据操作。

为看到赋予用户账号的权限,使用SHOW GRANTS FOR 语句,如下:

mysql> SHOW GRANTS FORjackson;+--------------------------------------------------------------------------------------------------------+

| Grants for jackson@%

|

+--------------------------------------------------------------------------------------------------------+

| GRANT USAGE ON *.* TO 'jackson'@'%' IDENTIFIED BY PASSWORD '*6BB4837EB74329105

EE4568DDA7DC67ED2CA2AD9' |

+--------------------------------------------------------------------------------------------------------+

1 row in set (0.04 sec)

输出结果显示用户jackson有一个权限USAGE ON *.* 。USAGE表示根本没有权限。

为设置权限,使用GRANT语句。GRANT要求你至少给出以下信息:

a.要授予的权限;

b.被授予访问权限的数据库和表。

c.用户名。

下面给出GRANT的用法例子:

mysql> GRANT SELECT ON students.* TOjackson;

Query OK,0 rows affected (0.09 sec)

此GRANT允许用户jackson在students.*(students数据库的所有表)上使用SELECT 。通过授权SELECT访问权限,用户jackson对students数据库中所有的数据具有只读访问权限。

查看更改后的用户的权限:

mysql> SHOW GRANTS FORjackson;+--------------------------------------------------------------------------------------------------------+

| Grants for jackson@%

|

+--------------------------------------------------------------------------------------------------------+

| GRANT USAGE ON *.* TO 'jackson'@'%' IDENTIFIED BY PASSWORD '*6BB4837EB74329105

EE4568DDA7DC67ED2CA2AD9' |

| GRANT SELECT ON `students`.* TO 'jackson'@'%'

|

+--------------------------------------------------------------------------------------------------------+

2 rows in set (0.04 sec)

GRANT的饭操作为REVOKE,用来撤销特定的权限。如下:

mysql> REVOKE SELECT ON students.* FROMjackson;

Query OK,0 rows affected (0.01 sec)

GRANT和REVOKE可在几个层次上控制访问权限:

a.整个服务器,使用GRANT ALL 和 REVOKE ALL ;

b.整个数据库,使用ON database.* ;

c.特定的表,使用ON database.table ;

d.特定的列;

e.特定的存储过程。

更多具体的权限可查看相关官方文档。

更改口令

更改用户口令,可使用SET PASSWORD 语句。如下:

mysql> SET PASSWORD FOR jackson=Password('654321');

Query OK,0 rows affected (0.05 sec)

新口令必须传递到Password()函数进行加密。

备份数据

像所有数据一样,MySQL的数据也必须经常备份。下面列出可进行备份的方法:

a.私用命令行实用程序mysqldump转存所有数据库内容到某个外部文件。在进行常规备份前这个程序应该正常运行,以便正确的备份转存文件。

b.可用命令行实用程序mysqlhotcopy从一个数据库复制所有数据。

c.可以使用MySQL的BACKUP TABLE 或SELECT INTO OUTFILE 转储所有数据到外部文件。这两条语句都接受将要创建的系统文件名,此文件必须存在,否则会出错。数据库可用RESTORE TABLE 来复原。

数据库维护

MySQL提供一系列的语句,可以用来保证数据库正确和正常运行。

ANALYZE TANLE用来检查表键是否正确。如下:

mysql> ANALYZE TABLEstudents;+-------------------+---------+----------+----------+

| Table | Op | Msg_type | Msg_text |

+-------------------+---------+----------+----------+

| students.students | analyze | status | OK |

+-------------------+---------+----------+----------+

1 row in set (1.12 sec)

此外还可以用CHECH TABLE用来针对多个问题进行检查。

参考文献

《MySQL必知必会》Ben Forta,人民邮电出版社。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/475275.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 157. 用 Read4 读取 N 个字符

文章目录1. 题目2. 解题1. 题目 给你一个文件,并且该文件只能通过给定的 read4 方法来读取,请实现一个方法使其能够读取 n 个字符。 read4 方法: API read4 可以从文件中读取 4 个连续的字符,并且将它们写入缓存数组 buf 中。 …

mysql设置catalog_Catalog与Schema

按照SQL标准的解释,在SQL环境下Catalog和Schema都属于抽象概念,可以把它们理解为一个容器或者数据库对象命名空间中的一个层次,主要用来解决命名冲突问题。从概念上说,一个数据库系统包含多个Catalog,每个Catalog又包含…

北京印象

由于出差的缘故,在北京短暂的停留了四天。出了北京南站打车到了东单,待了几天才发现能小憩在东单真是挺爽的事情。 出了火车就有点咳嗽,不知道是不是空气太干的原因。与正值雨季的杭州不同,北京一直天气晴朗,不然去办…

LeetCode 716. 最大栈(双栈 / list+map)

文章目录1. 题目2. 解题2.1 双栈解法2.2 listmap1. 题目 设计一个最大栈,支持 push、pop、top、peekMax 和 popMax 操作。 push(x) -- 将元素 x 压入栈中。 pop() -- 移除栈顶元素并返回这个值。 top() -- 返回栈顶元素。 peekMax() -- 返回栈中最大元素。 popMax…

linux python命令无反应_Python学习第164课--Linux命令行特殊符号的意义及命令的语法规则...

【每天几分钟,从零入门python编程的世界!】这节我们介绍Linux系统命令行中的一些特定的符号具有什么含义,以及命令行的语法规则。●Linux命令行中特定的符号的含义比如我登录到系统中之后,会显示[xiaozhilocalhost~]$这一行符号&a…

Lucene3.5自学4--建索引相关知识总结

Lucene简单介绍(该部分摘自网络) Lucene是一个高效的,基于Java的全文检索库。 所以在了解Lucene之前要费一番工夫了解一下全文检索。 那么什么叫做全文检索呢?这要从我们生活中的数据说起。 我们生活中的数据总体分为两种&#xf…

LeetCode 734. 句子相似性(哈希)

文章目录1. 题目2. 解题1. 题目 给定两个句子 words1, words2 (每个用字符串数组表示),和一个相似单词对的列表 pairs ,判断是否两个句子是相似的。 例如,当相似单词对是 pairs [["great", "fine&qu…

jsp 中提交表单后在firefox、chrome 中中文显示为正常,但在IE中中文显示为乱码?...

如题: jsp 中提交表单后在firefox、chrome 中中文显示为正常,但在IE中中文显示为乱码? 备注:框架:spring 和hibernate 提交表单后,在IE中提交的数据传到Controller中进行处理,进行输出获得过来的参数&#…

python导入gif_Python之GIF图倒放,沙雕快乐源泉!我已经笑了一天了!

GIF图现在已经融入了我们的日常网络生活,微信群、QQ群、朋友圈......一言不合就斗图,你怕了吗?不用担心,只要学会了Python之GIF倒放技能,你就是“斗图王”。咱们直接开始本文的内容!使用的工具1PIL(Python …

LeetCode 758. 字符串中的加粗单词(Trie树)

文章目录1. 题目2. 解题1. 题目 给定一个关键词集合 words 和一个字符串 S&#xff0c;将所有 S 中出现的关键词加粗。所有在标签 <b> 和 </b> 中的字母都会加粗。 返回的字符串需要使用尽可能少的标签&#xff0c;当然标签应形成有效的组合。 例如&#xff0c;…

博客园配置windows live writer,实现本地代码高亮

你是否还在为只能用浏览器在博客后台写文章而苦恼&#xff1f; 你是否还在纠结于live writer没有代码高亮而苦恼&#xff1f; 现在一切都能解决&#xff1a; 其实博客园支持SyntaxHighlighter代码着色&#xff0c;可以用相应的Live Writer代码着色插件进行代码着色。他们推荐的…

执行计划 分析一条sql语句的效率 mysql_MySQL中一条SQL语句的执行过程

MySQL中一条SQL语句的执行过程发布时间&#xff1a;2018-11-24 18:35,浏览次数&#xff1a;390, 标签&#xff1a;MySQLSQL查询语句的执行顺序&#xff1a;&#xff11;.客户端通过TCP连接发送连接请求到mysql连接器&#xff0c;连接器会对该请求进行权限验证及连接资源分配(ma…

周报_2012第11周(2012/03/11-2012/03/17)

项目&#xff1a;X保密项目 2012.03.12 // Win XP 需要判断取消操作. By lishupeng360.cn 2012/03/12 11:49. if (FileOp.fAnyOperationsAborted) { bRet FALSE; } const int gcn_SEC_DELAY 100; // 等待 HTTP Download 下载线程处理网络数据。 …

LeetCode 246. 中心对称数(哈希)

文章目录1. 题目2. 解题1. 题目 中心对称数是指一个数字在旋转了 180 度之后看起来依旧相同的数字&#xff08;或者上下颠倒地看&#xff09;。 请写一个函数来判断该数字是否是中心对称数&#xff0c;其输入将会以一个字符串的形式来表达数字。 示例 1: 输入: "69&qu…

LeetCode 276. 栅栏涂色(DP)

文章目录1. 题目2. 解题2.1 DP超时解2.2 DP解1. 题目 有 k 种颜色的涂料和一个包含 n 个栅栏柱的栅栏&#xff0c;每个栅栏柱可以用其中一种颜色进行上色。 你需要给所有栅栏柱上色&#xff0c;并且保证其中相邻的栅栏柱 最多连续两个 颜色相同。然后&#xff0c;返回所有有效…

学习编程好榜样

学习编程好榜样 忠于gaming忠于down 代码分明不忘本 逻辑清晰容错强 逻辑清晰容错强 ! 学习编程好榜样 放到哪里哪里run 愿作系统的中间件 开源主义思想放光芒 开源主义思想放光芒! 学习编程好榜样 调试跟踪永不忘 注释文档是模范 开源主义品德多高尚 …

python threading setdaemon_Python中threading的join和setDaemon的区别[带例子]

python的进程和线程经常用到&#xff0c;之前一直不明白threading的join和setDaemon的区别和用法&#xff0c;今天特地研究了一下。multiprocessing中也有这两个方法&#xff0c;同样适用&#xff0c;这里以threading的join和setDaemon举例。1、join ()方法&#xff1a;主线程A…

LeetCode 1176. 健身计划评估(滑动窗口)

文章目录1. 题目2. 解题1. 题目 你的好友是一位健身爱好者。前段日子&#xff0c;他给自己制定了一份健身计划。现在想请你帮他评估一下这份计划是否合理。 他会有一份计划消耗的卡路里表&#xff0c;其中 calories[i] 给出了你的这位好友在第 i 天需要消耗的卡路里总量。 为…

为什么苹果不再需要谷歌地图?

苹果和谷歌之间的专利大战正是如火如荼&#xff0c;在这种两军对垒的时候&#xff0c;iOS设备上的那个明晃晃的谷歌地图图标就像眼中钉肉中刺一样让苹果始终不得安宁&#xff0c;让对手的核心服务扎根到自己的核心平台中&#xff0c;这感觉肯定不好。在最新版本的iPhoto中&…

java sax解析xml_【转】java使用sax解析xml文件

从下面这个url搬运。http://hck.iteye.com/blog/1175762不过程序略有改动。关于sax(搬自百科)SAX&#xff0c;全称Simple API for XML&#xff0c;既是指一种接口&#xff0c;也是指一个软件包。SAX是事件驱动型 XML解析的一个标准接口不会改变 SAX的工作原理简单地说就是…