资源预览内容
第1页 / 共23页
第2页 / 共23页
第3页 / 共23页
第4页 / 共23页
第5页 / 共23页
第6页 / 共23页
第7页 / 共23页
第8页 / 共23页
第9页 / 共23页
第10页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
MySQL简单管理及MySQL操作,MySQL数据库简单的管理及MySQL数据库的操作。通过学习,需要掌握以下内容: 进入MySQL设置管理员密码。 增加用户并设置密码。 设置用户权限。 取消权限及删除用户。 备份和复制数据库。 MySQL数据库定义。 SQL数据操作。,1 进入MySQL设置管理员密码,MySQL数据库的管理员应该知道如何设置管理员账号的密码,当用户忘记MySQL数据库管理员的密码时,或MySQL数据库系统的密码被其他人知道以及长时间使用一个密码,影响MySQL数据库系统的安全时,用户可以进入MySQL数据库对管理员密码进行修改。下面就介绍一下怎么样修改MySQL数据库管理员的密码,分为两种情况,一种是知道管理员的密码去修改,另一种是忘记了管理员的密码。,1.1 修改管理员密码,换掉MySQL数据库的旧密码。首先要运行“ms.dos”命令窗口,然后通过命令“cd C:MySQLbin”,进入MySQL数据库的“bin”目录下,如图10.1所示。 在图10.1所示的窗口中,表明读者已进入MySQL的bin目录下,接下来就进行修改密码的操作,在光标闪的地方输入如下的命令。 mysqladmin u root p password mypassword 在此命令中,“password”后面跟的是读者要修改的新密码。也可以把管理员的名字修改为读者的名字。运行引命令后,会提示用户输入旧密码,这样保证了数据库的安全,如图10.2所示。,1.2 重置管理员密码,如果用户忘记了MySQL数据库的密码,也可以通过以下操作来重新设置MySQL数据库的密码。 (1)首先要把MySQL数据库的所有进程结束,如果是windows,直接调出进程管理器结束。 (2)然后以安全模式启动MySQL数据库,安全模式启动MySQL数据库的方法是运行“ms.dos”命令窗口,然后通过命令“cd C:MySQLbin”,进入MySQL数据库的“bin”目录下。 (3)无密码进入MySQL数据库,命令如下所示。 safe_mysqld -skip-grant-tables ,2 增加用户并设置密码及设置用户权限,MySQL数据库管理员应该知道如何设置MySQL用户账号,指出哪个用户可以连接服务器,从哪里连接,连接后可以做什么。,2.1 设置用户权限的命令,MySQL现在的版本中,引入了两条语句,使得管理员的工作更容易完成,“gradt”语句是用于创建MySQL数据库中的用户并指定其权限,而“revoke”语句是用来删除用户的权限。两条语句是为MySQL数据库系统的前端服务的,并提供与直接操作这些表的内容的不同方法。这两条语句影响MySQL数据库系统中的4个表,这4个表如表10.1所示。,2.2 数据库用户有哪些权限,下面介绍下MySQL数据库中用户的权限,给用户设置权限就是告诉MySQL数据库此用户可以连接哪个数据库及数据表,连接数据库及数据表后可以做什么工作。MySQL数据库中用户的权限如表10.2所示。,2.3 增加用户并赋予权限,本小节会演示一些去权限方面的命令,为了便于读者阅读,通过编号形式展现每个命令和功能。 (1)增加一个用户,并赋予其权限及口令。MySQL数据库增加用户的命令格式如下。 grant select on 数据库.* to 用户名登录主机 identified by “密码” (2)创建一个只能在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作。创建此用户的命令如下所示。 grant select,insert,update,delete on mydb.* to test1localhost identified by “123“; (3)把某个查询表的权限授予指定用户,此操作是如何来实现,下面笔者就以数据表“table1”为例,把数据表“talbe1”的所有权限赋予给用户“test1”。实现此操作的命令如下所示。 grant select on table table1 to test1; (4)把多个数据表的权限授予指定几个用户,此操作是如何来实现。下面笔者就以数据表“table1”、“table2”为例,把数据表“talbe1”和“table2”的所有权限赋予给用户“test1”和“test2”。实现此操作的命令如下所示。 grant all privileges on table table1,table2 to test1,.test2; 5)如果想把某个数据表的查询权限授予所有用户,此操作是如何实现的呢?下面就以数据表“table1”为例,把数据表“talbe1”的所有权限赋予给所有用户。实现此操作的命令如下所示。 grant select on table table1 to public; (6)如果想把某个查询表和修改用户名的权限授予指定用户,那么此操作该怎样完成呢?下面就以查询表“table1”为例,把查询表“talbe1”的查询表和修改用户名权限赋予给用户“test1”。实现此操作的命令如下所示。 grant update (username),select on table table1 to test1; (7)如果想把某个数据表的插入信息权限授予指定用户,此操作该如何实现呢?下面就以数据表“table1”为例,把数据表“talbe1”的插入信息权限赋予给指定用户。实现此操作的命令如下所示。 grant insert on table table1 to test1; (8)如果想把某个数据库的创建数据表的权限授予指定用户,则此操作是怎样的呢?下面就以数据库“database1”为例,把数据表“database1”的创建数据表的权限赋予给用户“test1”。实现此操作的命令如下所示。 grant createtab on database database1 to test1;,3 取消权限及删除用户,取消MySQL数据库中一个用户的权限,并删除此用户。如果一个用户已经不使用此账号时,MySQL数据库管理员就要对此用户进行取消权限并删除。这样可以保证MySQL数据库系统的安全,以免不法用户使用此账号对MySQL数据库系统进行破坏。,3.1 取消用户权限和删除用户,下面介绍如何取消用户权限和删除用户。取消用户的权限,可以使用“revoke”语句,此语句的语法与“grant”非常相似,不同处就是“grant”语句中的“to”用“from”来取代并且“revoke”语句中没有“indetifed by”和“with grant option”子句。取消用户权限的语句格式如下所示。 revoke privileges (columns) on what from user 此语句中,“user”部分必须与原来“grant”语句的读者想收回授权的用户的“user”部分匹配。“privileges”部分可以不匹配,读者可以使用“grant”语句给用户授权,然后使用“revoke”语句取消用户的部分权限。 “revoke”语句中只取消了用户的权限,并没有删除此用户。虽然读者取消了用户的所有权限,但是在“user”表中用户记录依然是存在的。这就说明用户仍然可以连接MySQL数据库服务器。如果想要完全删除一个用户,就必须要使用下一条“delete”语句,明确地从“user”表中删除用户的记录。删除用户的格式如下所示。 delete from user where User=”username” and host=”hostname”; flush privileges;,3.2 实例演示删除用户的操作,下面用实例来近一步介绍如何取消用户的权限并删除此用户。如果读者想把用户“test1”的所有权限取消并删除此用户,操作如下所示。 (1)取消用户“test1”的所有权限。取消用户所有权限的命令如下所示。 revoke select,insert,update,delete on *.*from test1; (2)执行此命令后,用户“test1”的所有权限将被取消。然后把此用户的记录从“user”表中删除。命令如下所示。 DELETE FROM user WHERE User=“test1“ and Host=“localhost“; (3)此命令执行完成后,用户被删除,但是读者并没有重新载入授权表,下面是重新载入授权表的命令如下所示。 flush privileges; 这样一个已经存在的用户就被MySQL数据库管理员完全删除了。,4 备份和复制数据库,数据库的备份是很很重要的,因为在数据库出现表丢失或损坏情况时,或者如果系统崩溃时,用户肯定是希望数据库里的数据尽可能丢失最小的数据,最好是恢复到崩溃发时前的状态。如果用户对数据库做了备份,那么就不怕出现这一类的问题了,可以把数据库恢复到出现问题前的状态。就不会造成数据的丢失了。 备份数据库有两个主要的方法,使用“mysqldump”程序或直接复制数据库文件。但是每种方法都有其优点和缺点。,4.1 备份数据库,“mysqldump”备份数据库方法是与MySQL数据库服务器协同操作。直接复制方法是在服务器外部进行的。并且使用复制数据库的方法来备份数据库时,必须采取一定的措施来保证没有用户正修改或者将要复制数据库。如果用文件系统备份来备份数据库,也会发生同样的问题。如果数据库中数据表在文件系统备份过程序中被修改,进行备份的数据表文件就会出现与原数据文件不一致的现象,对以后恢复数据表将会失去意义。文件系统备份与直接复制文件的区别是直接复制数据库文件时可以完全控制备份过程,这样能采取措施确保MySQL数据库服务器上的表不受干扰。 注意:使用“mysqldump”要比直接复制数据库文件要慢。 下面介绍如何使用“mysqldump”程序备份数据库文件。采用“mysqldump”程序产生数据库备份文件时,文件内容包含创建正在转储的数据表的“create”语句和包含数据表中行数据的“insert”语句。也就是说“mysqldump”程序产生的输出可在以后用于“mysql”的输入来重建数据库。,4.2 数据库的破损恢复,数据库损坏的发生有很多原因,程度也不同。可能损坏一个数据表,也可能必须替换整个数据库。在某些情况下也需要恢复,比如用户错误的删除了数据库。读者可以实施数据库的恢复。 恢复数据库有两种信息源,数据库备份文件和更新日志。备份文件将表恢复到实施备份时的状态,然而一般数据表在备份与发生问题间的时间内已经被修改,更新日志包含了用于进行这些修改的查询。读者可以使用日志文件作为MySQL数据库的输入来重复查询。这也是为什么启用更新日志的原因。 注意:读者在备份数据库文件前需要关闭MySQL数据库,然后重启MySQL数据库。,4.3 恢复单个表,下面介绍一下,如何恢复单个表。恢复单个数据表较为复杂。如果读者用一个由“mysqldump”生成的备份文件,并且其不包含读者需要的数据的数据,则需要从相关行中提取读者需要的数据,并将其作为MySQL数据库的输入,这是容易的部分。难的部分是从只运用该数据表的更新日志中拉出一部分,“mysql_find_rows”实用程序对此很有帮助,它能够从更新日志中提取出多行查询。 另一个办法是使用另一台服务器恢复整个数据库,然后复制需要的数据表文件夹到原数据库中,这可能是一个简单的方法,不过,当读者将文件复制到原数据库目录中时,需要确保原数据库的服务器关闭状态。,5 MySQL数据库定义,MySQL数据库的定义就是MySQL数据库的命名规则和其创建语法。MySQL数据库的命名可以是字母、下画线和数字。创建一个新的MySQL数据库,可以使用“create”语句来实现的。,5.1 增加、删除及选择数据库,对于MySQL数据库进行操作时,可以使用MySQL数据库中的命令来增加数据库及数据表、删除数据库及数据表、选择数据库。下面对这些命令进行介绍。,5.2 数据表的组成及建立、索引和修改、删除数据表,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号