




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
205 11 思考题参考答案 第二章 2 在 Win32 平台上运行分发包中的 setup exe 程序 安装 MySQL 系统后 就自动 初始化授权表 对于 Unix 平台 运行脚本 mysql install db 之前应该首先切换到启动 mysqld 的用 户 例如 mysql su mysql mysql install db 安装授权表之后修改 root 用户的密码 由于初始化后存在两个从 localhost 和任意主 机连接的 root 用户 所以推荐使用下面的办法 mysql u root mysql 由于现在不存在密码 因此不比提供 p 选项 mysql UPDATE user SET password PASSWORD mypass WHERE User root 3 使用如下命令更改密码 shell mysqladmin u root p password newpass Enter Password 出现 Enter Password 的提示后输入原来的密码 oldpass 即可 读者可以尝试其它所有本章介绍的方法 4 首先以 root 用户的身份连接到服务器 shell mysql u root p Enter password 出现 Enter password 提后输入 root 用户的密码 然后即进入 mysql 客户机的交互模 式 可以看到下面的提示 Welcome to the MySQL monitor Commands end with or g Your MySQL connection id is 4 to server version 3 23 25 beta log Type help or h for help Type c to clear the buffer mysql 然后发布查询 直接键入题目中的语句 mysql SELECT User Host FROM mysql user 应该有类似于下面的结果 User Host root admin localhost root localhost 5 在全局选项文件 Unix 上位于 etc f Windows 上位于 c f 中加入 下面的几行 mysql user root password 然后在运行 mysql 客户程序 就不必提供参数 shell mysql Enter Password 你可以查看当前的连接 以确定是否是如此 mysql SHOW PROCESSLIST Id User Host db Command Time State Info 4 root localhost NULL Query 0 NULL SHOW PROCESSLIST 第三章 2 连接服务器的命令为 shell mysql h u root p test Enter Password 如果使用选项文件 将下面几行加入全局选项文件中 mysql host user root password 然后可以直接运行 mysql 不比提供连接参数 207 11 shell mysql Enter Password 3 创建表的语句为 CREATE TABLE pet name CHAR 30 owner CHAR 30 species CHAR 10 sex ENUM M F NOT NULL birth DATE death DATE 4 如下录入文件 pet txt 段与段用制表符分隔 FluffyHaroldcatF1993 02 04 N ClawsGwencatM1994 03 17 N BuffyHarolddog F1989 05 13 N ChirpyGwenbird F1998 09 11 N FangBennydog M1990 08 27 N BowserDianedog M1990 08 311995 07 29 Whistler Gwenbird N1997 12 09 N SlimBennysnakeM1996 04 29 N PuffballDianehamsterF1999 03 30 N 然后连接服务器 发布查询 mysql LOAD DATA INFILE pet txt INTO TABLE pet 由于缺省时 LOAD DATA 语句以特殊字符 n 作为记录的结束 这和 Unix 系统的 文本编辑器以 n 为换行符是一致的 但是在 Windows 系统中 换行符是 r n 因此 如果是在 Windows 系统编辑的文件 那么上面的语句不能成功的录入数据 要做如下的 修改 mysql LOAD DATA INFILE pet txt INTO TABLE pet LINES TERMINATED BY r n 如果使用 mysqlimport 程序 相应的命令行为 shell mysqlimport test pet tt 或者使用 shell mysqlimport test pet tt lines terminated by r n 第四章 1 创建表 mysql CREATE TABLE ex4 data FLOAT birth DATETIME 录入数据 mysql INSERT ex4 VALUES RAND NOW 多录入几个数据 现有的数据为 mysql select from ex4 data birth 0 830329 2001 01 01 21 21 10 0 531143 2001 01 01 21 21 12 0 164729 2001 01 01 21 21 13 0 230213 2001 01 01 21 21 14 data 列的平均值 mysql SELECT AVG data AS average FROM ex4 average 0 43910377845168 data 列的总和 mysql SELECT SUM data AS sum of data FROM ex4 sum of data 1 7564151138067 mysql SELECT MAX data AS max of data MIN data AS min of data FROM ex4 max of data min of data 209 11 0 83032947778702 0 16472874581814 data 列降序排列 mysql SELECT FROM ex4 ORDER BY data DESC data birth 0 830329 2001 02 18 21 21 10 0 531143 2001 02 18 21 21 12 0 230213 2001 02 18 21 21 14 0 164729 2001 02 18 21 21 13 2 使用标准 SQL 模式匹配 mysql select from ex4 where birth like 2001 01 01 data birth 0 830329 2001 01 01 21 21 10 0 531143 2001 01 01 21 21 12 0 164729 2001 01 01 21 21 13 0 230213 2001 01 01 21 21 14 使用扩张正则表达式模式匹配 mysql select from ex4 where birth REGEXP 2001 01 01 data birth 0 830329 2001 01 01 21 21 10 0 531143 2001 01 01 21 21 12 0 164729 2001 01 01 21 21 13 0 230213 2001 01 01 21 21 14 3 为 student 表创建索引 mysql ALTER TABLE student ADD PRIMARY KEY id ADD INDEX mark english chinese history 这样查看创建的索引 mysql SHOW INDEX FROM student Table Non unique Key name Seq in index Column name student 0 PRIMARY 1 id student 1 mark 1 english student 1 mark 2 chinese student 1 mark 3 history 为 pet 表创建索引 这次使用另一种方法 mysql CREATE INDEX name ON pet name 10 owner 10 查看创建的索引的情况 mysql SHOW INDEX FROM pet Table Non unique Key name Seq in index Column name pet 1 name 1 name pet 1 name 2 owner 4 删除 pet 表的索引 mysql DROP INDEX name ON pet 或者可以 mysql ALTER TABLE pet DROP INDEX name 然后再用 SHOW 语句产看可知 mysql show index from pet Empty set 0 01 sec 第五章 1 shell mysqldump all database opt data sql 2 shell mysqldump tab bak test 3 创建数据库 test1 mysql CREATE DATABASE test1 恢复表的结构 shell mysql test1 mysqlimport test1 bak pet txt 在 Win32 平台上 你必须一个个的恢复文件 在 Unix 平台上 可以通过 shell 的文件匹配的功能 简化命令行 mysql test1 INSERT pet SET name tes mysql DELETE FROM pet WHERE name tes 相应的在更新日志中增加的记录为 use test INSERT pet SET name tes DELETE FROM pet WHERE name tes 然后我们删除 test1 数据库 mysql drop database test10 相应的更新日志中的内容为 drop database test10 为了恢复数据库 假设更新日志的文件名是 wxy 058 假定该日志包括第四题 中更新日志的内容 首先删除更新日志中删除数据库的记录 然后用下面的语句恢复数据库表 shell mysql one databse test1LOCK TABLE pet READ 清空缓存 mysql FLUSH TABLES 检查表 shell myisamchk path to pet 在我的主机上 为 data test pet 释放表锁 mysql UNLOCK TABLES 2 创建数据库的方法是 mysql CREATE DATABASE test2 mysql CREATE TABLE pet SELECT FROM test pet 恢复数据库的方法是 由于表的描述文件被删除 因此我们可以创建一个具有相同结构的表 mysql CREATE TABLE pet1 为了节省时间 由于本题只是一个演示 所以你还可以从 test pet 中恢复表的 结构 mysql CREATE TABLE pet1 SELECT FROM test pet WHERE 0 然后 进入数据库目录 把 pet1 frm 文件复制为 pet frm 文件 完成操作即可 3 备份过程在正文中有详细叙述 此处略 第七章 1 原因是 先考虑一下 mysql install db 如何建立初始权限表和服务器如何使用 user 表记 录匹配客户连接 在你用 mysql install db 初始化你的数据库时 它创建类似这样 的 user 表 HostUser localhost localhost root 213 11 root 头两个记录允许 root 指定 localhost 或主机名连接本地服务器 后两个允许匿名 用户从本地连接 当增加 fox 用户后 Host User localhost localhost root root fox 在服务器启动时 它读取记录并排序它们 首先按主机 然后按主机上的用户 越具体越排在前面 Host User localhost localhost root root fox 有 localhost 的两个记录排在一起 而对 root 的记录排在第一 因为它比空值更 具体 的记录也类似 所有这些均是没有任何通配符的字面上的 Host 值 所以它们排在对 fox 记录的前面 特别是匿名用户排在 fox 之前 结果是在 fox 试图从 localhost 连接时 Host 列中的一个空用户名的记录在包含 的记录前匹配 该记录的口令是空的 因为缺省的匿名用户没有口令 因 为在 fox 连接时指定了一个口令 由一个错配且连接失败 这里要记住的是 虽然用通配符指定用户可以从其连接的主机是很方便 但你 从本地主机连接时会有问题 只要你在 table 表中保留匿名用户记录 一般地 建议你删除匿名用户记录 mysql DELETE FROM user WHERE User 更进一步 同时删除其他授权表中的任何匿名用户 有 User 列的表有 db tables priv 和 columns priv 2 应该给用户分配全局的 RELOAD SHUTDOWN 权限 使用 GRANT 语句 mysql GRANT RELOAD SHUTDOWN ON TO admin localhost INDENTIFIED BY mypass 使用直接修改授权表的方法 mysql INSERT mysql user User Host Password Reload priv Shutdown priv VALUES amin localhost PASSWORD mypass Y Y 3 由于该用户只在 user 表中有权限记录 所以只要删除该记录即可 mysql DELETE FROM mysql user WHERE User admin 4 创建数据库 mysql CREATE DATABASE mark 创建用户并授权 mysql GRANT SELECT DROP CREATE INSERT UPDATE DELETE INDEX ALTER ON
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 龙江物流面试题及答案
- 高考疫情测试题及答案
- java中垃圾回收面试题及答案
- 导图揭秘文言文难题
- 家电公司客户服务管理细则
- 贵州省贵阳市清镇北大培文学校2026届高三化学第一学期期末复习检测模拟试题含解析
- springboot教学管理自动化系统设计与实现
- 21.2.2解一元二次方程-公式法(第1课时)(教学课件)数学人教版九年级上册
- 保安队安全知识培训课件
- 保安灭火器知识培训课件
- 运用PDCA降低I类切口感染率模板课件
- 特种设备安全管理课件-电梯安全知识
- 车辆转让合同电子版下载可打印
- 深圳填海工程施工实施方案
- BB/T 0023-2017纸护角
- 建设集团有限公司安全生产管理制度汇编
- 行为习惯养成教育校本教材
- 疫苗运输温度记录表
- logopress3培训视频教程整套模具大纲
- DB32-T 2945-2016硬质合金刀具PVD涂层测试方法-(高清现行)
- TB∕T 3526-2018 机车车辆电气设备 接触器
评论
0/150
提交评论