网络知识 娱乐 MySQL数据库之DBA命令

MySQL数据库之DBA命令

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;nrevoke all privileges on *.* from p361;nuse mysqlnselect * 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