fengdos 2020-03-20
# Mysql数据库导入导出和授权
### 数据导出
#### 1.数据库数据导出
```shell
# 不要进入mysql,然后输入以下命令 导出某个库中的数据
mysqldump -u root -p tlxy > ~/Desktop/code/tlxy.sql
```
导出一个库中所有数据,会形成一个建表和添加语句组成的sql文件
之后可以用这个sql文件到别的库,或着本机中创建或回复这些数据
#### 2.将数据库中的表导出
```shell
# 不要进入mysql,然后输入以下命令 导出某个库中指定的表的数据
mysqldump -u root -p tlxy tts > ~/Desktop/code/tlxy-tts.sql
```
### 数据导入
把导出的sql文件数据导入到mysql数据库中
```shell
# 在新的数据库中 导入备份的数据,导入导出的sql文件
mysql -u root -p ops < ./tlxy.sql
# 把导出的表sql 导入数据库
mysql -u root -p ops < ./tlxy-tts.sql
```
### 权限管理
> mysql中的root用户是数据库中权限最高的用户,千万不要用在项目中。
>
> 可以给不同的用户,或者项目,创建不同的mysql用户,并适当的授权,完成数据库的相关操作
>
> 这样就一定程度上保证了数据库的安全。
创建用户的语法格式:
`grant 授权的操作 on 授权的库.授权的表 to 账户@登录地址 identified by ‘密码’;`
示例:
```mysql
# 在mysql中 创建一个 zhangsan 用户,授权可以对tlxy这个库中的所有表 进行 添加和查询 的权限
grant select,insert on tlxy.* to ‘%‘ identified by ‘123456‘;
# 用户 lisi。密码 123456 可以对tlxy库中的所有表有 所有操作权限
grant all on tlxy.* to ‘%‘ identified by ‘123456‘;
# 删除用户
drop user ‘lisi‘@‘%‘;
```