阅读量:0
文章目录
数据库管理员 (DBA)
新建用户
创建本地用户 create user '用户名'@'localhost' identified by '密码' 创建外网用户 create user '用户名'@'%' identified by '密码';
默认没有任何权限
使用 root 用户查看系统中当前用户有哪些
select user, host from mysql.user
给用户授权
授权语法 GRANT 权限,权限2... on 库名.表名 to '用户名'@'主机名/ip地址' 给本地用户授权 grant 权限1,权限2... on 库名.表名 to '用户名'@'localhost'/127.0.0.1; 给外网用户授权 grant [权限1,权限2...] on 库名.表名 to '用户名'@'外网ip'; 外网ip如果是%: 这个用户可以从任何地方连接到数据库服务器 权限: 所有权限:all privileges 单个权限:select、insert、delete、update、alter、create、drop、index(索引)、usage(登录权限)...... 库名可以使用 * ,它代表所有数据库 表名可以采用 * ,它代表所有表 也可以提供具体的数据库和表,例如:powernode.emp (powernode数据库的emp表)
授权后必须刷新权限,才能生效:flush privileges
查看某个用户有哪些权限
show grants for '用户名'@'主机名/ip地址' 最后带上 with grant option的作用是:这个用户也可以把自己有的权限授权给别的用户
撤销用户权限
revoke 权限 on 数据库名.表名 from '用户'@'ip地址'
撤销权限后也需要刷新权限:flush privileges
注意:撤销权限时 “数据库名.表名” 不能随便写,要求和授权语句时的 “数据库名.表名” 一致。
修改用户的密码
alter user '用户名'@'主机名/ip地址' identified by '新密码';
修改密码后,也需要刷新权限才能生效:flush privileges
以上是MySQL8版本以后修改用户密码的方式。
修改用户名
rename user '原始用户名'@'主机名/ip地址' to '新用户名'@'主机名/ip地址'
需要 flush privileges
删除用户
drop user '用户名'@'主机名/ip地址'
==需要 flush privileges
数据备份
导出数据(在登录mysql数据库之前进行)
mysqldump 库名 [表名] > 地址 -u用户 -p密码 --default-character-set = 字符集 每表名就是导出整个库的数据 例如: # 导出powernode中emp表的数据 mysqldump powernode emp > e:/powernode.sql -uroot -p1234 --default-character-set=utf8
导入数据第一种方式(在登录mysql数据库之前进行)
就是 mysqldump 库名 [表名] < 地址 -u用户 -p密码 --default-character-set = 字符集 #没表名就是导入整个库的数据 例如: # 现在登录mysql状态下新建一个数据库 create database powernode; # 在登录mysql之前执行以下命令 mysql powernode < e:/powernode.sql -uroot -p1234 --default-character-set=utf8
导入第二种方式(在登录mysql数据库之前进行)
create database 库; use 库; source sql文件地址【或者直接拖进来】