一天一个关于测试知识点,5分钟内讲解你最关心的软件测试问题,今天就接着来谈谈关于软件测试中的“MySQL数据库之DBA命令”。
在Linux下管理MySQL数据库的时候总有一些很紧急的情况,发现数据库突然变得压力很大了,那么作为一个DBA,也许需要一些常用的手段或者说命令去分析问题出现在哪里,然后解决,本章节主要讲解“MySQL DBA命令”的内容。
MySQL DBA命令
新建用户
CREATE USER username IDENTIFIED BY 'password';
说明:
username:你将创建的用户名
password:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器。
例如:
create user p361 identified by '123';
--可以登录但是只可以看见一个库 information_schema。
授权
⒈命令详解
mysql> grant all privileges on dbname.tbname to 'username'@'login ip' identified by 'password' with grant option
①dbname=*表示所有数据库
②tbname=*表示所有表
③login ip=%表示任何ip
④password为空,表示不需要密码即可登录
⑤with grant option; 表示该用户还可以授权给其他用户
⒉细粒度授权
首先以root用户进入mysql,
然后键入命令:grant select,insert,update,delete on *.* to p361 @localhost Identified by "123";
如果希望该用户能够在任何机器上登陆mysql,则将localhost改为 "%" 。
⒊粗粒度授权
我们测试用户一般使用该命令授权;
GRANT ALL PRIVILEGES ON *.* TO 'p361'@'%' Identified by "123"
注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:
GRANT ALL PRIVILEGES ON *.* TO 'p361'@'%' Identified by "123" WITH GRANT OPTION;
⒋privileges包括:
①alter:修改数据库的表
②create:创建新的数据库或表
③delete:删除表数据
④drop:删除数据库/表
⑤index:创建/删除索引
⑥ insert:添加表数据
⑦select:查询表数据
⑧update:更新表数据
⑨all:允许任何操作
⑩usage:只允许登录
回收权限
命令详解
revoke privileges on dbname[.tbname] from username;
revoke all privileges on *.* from p361;
use mysql
select * from user
进入 mysql库中
修改密码;
update user set password = password('qwe') where user = 'p646';
刷新权限;
flush privileges
导出导入
⒈导出
①导出整个数据库
在windows的dos命令窗口中执行:mysqldump bjpowernode>D:\bjpowernode.sql -uroot -p123
②导出指定库下的指定表
在windows的dos命令窗口中执行:mysqldump bjpowernode emp> D:\ bjpowernode.sql -uroot –p123
⒉导入
登录MYSQL数据库管理系统之后执行:source D:\ bjpowernode.sql