MYSQL高级管理与开发_mysql 12章_MySQL数据库的高级管理

一、 用户管理

Root用户是MySQL数据库管理系统中的系统管理员,但在实际开发过程中通常需要根据不同的开发者分配不同的用户,这样有利于用户的管理和维护。1、 用户的创建:1) 方式1:使用MySQL提供的用户管理语句完成CREATE USER语法:Create user identified by ;

说明:

identified by用于指定用户的初始密码,系统会自动对密码进行加密处理,新创建的用户将被保存到mysql.user表中,密码采用加密后的暗文保存。

举例:CREATE USER 'user_39'@'localhost' IDENTIFIED BY "123456";SELECT * FROM mysql.`user`;DROP useruser_39;2) 方式2:通过使用insert into语句向MySQL.user表中添加记录,达到创建用户的目的。

语法:Insert into。。。。。。

说明:

a) 有6个字段通常需要赋值:HOST、user、password、ssl_cipher、x509_issuer、x509_subject

b) 不会自动对密码加密,需要时可以使用password()函数手动加密

c) 用户创建后需要使用权限刷新语句FLUSHPRIVILEGES;才能被系统识别

举例:--密码需要用加密函数

INSERT INTO mysql.user(HOST,user,password,ssl_cipher,x509_issuer,x509_subject)VALUES('localhost','user_399',PASSWORD('123456'),'','','');--刷新权限

FLUSH PRIVILEGES;--删除user_399

DELETE FROM mysql.`user` WHERE HOST = 'localhost' AND user = 'user_399';2、 用户权限的授予:

语法:Grant {权限列表 | all} ON {数据库名.数据库对象名列表 | *.*} to [identified by 密码] [with grant option];

说明:1) All是所有权限的通配符,*是所有数据库和数据库对向的通配符。2) 使用grant也可以创建不存在的新用户,同时也完成授权。3) with grantoption若添加此项表示被授权的用户还可以将权限授予其他用户,前提是该用户具有grant的权限。

举例:GRANT ALL ON myschool39.* TO 'user_39'@'localhost' WITH GRANT OPTION;GRANT ALL ON mysql.* TO 'user_39'@'localhost' WITH GRANT OPTION;3、 用户权限的回收:

语法:revoke{权限列表 | all} ON {数据库名.数据库对象名列表 | *.*} from ;

说明:当某个用户的权限被回收时,它授予出去的权限会不会被回收?

举例:REVOKE ALL ON myschool39.* FROM 'user_39'@'localhost';4、 用户的修改:修改用户密码

语法:Set password [for 用户名@主机名] =password(新密码);

说明:1) for 用户名@主机名:指定给其他某个用户修改密码,不指定表示给当前用户修改密码。2) passw()函数必须使用,否则无法完成修改。

举例:1. SET password FOR 'user_39'@'localhost' = password('654321'); --给user_39修改密码

2. SET password = password('654321'); --给当前用户修改密码

5、 删除用户

语法:drop user ;

举例:

二、 数据库的备份与恢复

为了防止意外发生,我们需要对数据库中的数据进行备份,一旦灾难来临时,可以使用备份的数据进行恢复。

MySQL提供了备份和恢复的命令,命令需要在DOS命令提示符下使用。1. 数据库的备份

语法1:备份单个数据库

C:\>mysqldump -u 用户名 –p 密码 数据库名 数据表名 1 数据表名 2 >路径\及备份文件名.sql

语法2:备份多个数据库

C:\>mysqldump -u 用户名 –p 密码 --databases 数据库名 数据表名 1 数据表名 2 > 路径\及备份文件名.sql

语法3:备份全部数据库

C:\>mysqldump -u 用户名 –p 密码 –-all-databases >路径\及备份文件名.sql

举例:1) mysqldump –u root -proot myschool39 >d:\db39.sql2) mysqldump –u root -proot --databases myschool39 mysql > d:\mutil.sql

3) mysqldump –u root -proot –-all-databases > d:\all.sql2. 数据库的恢复

语法1:恢复单个数据库

C:\>mysqldump -u 用户名 –p密码 数据库名

语法2:恢复多个或全部数据库

C:\>mysqldump -u 用户名 –p密码

举例:1) mysqldump –u root -proot myschool39

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值