数据导入
将文件系统中的内容导入的数据库中
语法格式:
load data infile '文件名'
into table 表名
fields terminated by "分隔符"
lines terminated by '\n';
倒数第二行是:在一行内根据分隔符分隔成字段对应的值
最后一行是:代表的是这一行以什么结束
注意:导入前先把文件复制到mysql文件夹下,否则无法导入
/var/lib/mysql-files/
另外,导入到这个表中,那么这个表必须提前要创建好,不然也会导入失败
举个例子:
如:将文件scoretable.csv导入到数据库中(假设表以创建好,并且已经在mysql存放文件的路径下了)
load data infile "/var/lib/mysql-files/scoretable.csv"
into table score
fields terminated by ','
lines terminated by '\n';
数据导出
把数据库表的记录导出到系统文件里
语法格式
select 字段值列表 from 表名
into outfile "文件名"
fields terminated by "分隔符"
lines terminated by "\n";
倒数第二行是:导出到的文件中字段的值之间用什么分隔
最后一行是:这一行以什么结束
举个例子: 如,将mysql库下的userinfo表中的name、score 的值导出到系统文件userinfo.txt(名字随便起)
select name, score from userinfo
into outfile "/var/lib/mysql-files/userinfo.txt"
fields terminated by " "
lines terminateds by "\n";
账户管理
第一:开启远程连接
步骤:
①:sudo -i # 管理员权限
②:cd /etc/mysqlmysql.conf.d/ # 进入该文件夹下
③:cp mysql.cnf mysal.cnf.bak # 数据备份
④:vi mysql.cnf # 用vi打开配置文件,进行修改(可以使用别的打开)
bind-address=xxx.xxx.xxx.xxx
保存退出
⑤:/etc/init.d/mysql restart # 重启mysql服务
第二:root用户添加 授权用户
步骤:
①:mysql -uroot -p # root登陆mysql
②:grand 授权列表 on 库名.表名 to "用户名"@"%" identified by "密码" with grant option # 给用户授权
说明:
1. 权限列表都有哪些:all privileges(全部)、select、update...
2. 库名.表名:库.*(该库下的所有表)、*.*(所有库的所有表)
3. %:任何ip连接。也可以单独指定只有某个ip可以连接
举个例子:添加授权用户rabbit,密码是123,对student库的所有表只有查询、删除权限,可以从任意ip连接。
grant select,selete on student.* to "rabbit"@"%" identified by "123";
查看权限列表:
mysql> select user, host from mysql.user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| rabbit | % |
| debian-sys-maint | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+------------------+-----------+
数据备份
命令格式:
mysqldump -u用户名 -p 源库名 > xxx.sql
说明:
源库名的表示方式:
--all-databases 所有的库
库名 1个库
-B 库名1 库名2 库名3 ... 多个库,用空格隔开
库名 表1 表2 ... 该库的多张表,用空格隔开
举几个栗子:
1. 备份所有的库,名叫:Alldb.sql
mysqldump -uroot -p --all-databases > Alldb.sql
- 备份student库中的三张表:名叫:stuscx.sql
mysqldump -uroot -p student t1 t2 t3 > stuscx.sql
- 备份sanguo和student两个库,明叫:san_stu.sql
mysqldump -uroot -p -B sanguo student > san_stu.sql
数据恢复
将备份的数据进行恢复
命令格式:
mysql -u用户名 -p 目标库名 < xxx.SQL_server
在备份的多个库中恢复一个库:
mysql -u用户名 -p --one-database 目标库名 < xx.SQL_server
举个例子:在备份的所有库中恢复student库
mysql -uroot -p --one-database student < All.sql
恢复库:
如,恢复student库(恢复的只有三张表,上边备份的stuscx.sql)
mysql -uroot -p student < stuscx.sql
注意:
1. 恢复库时,如果恢复到原库会将表中的数据覆盖,新表不会删除
2. 恢复库时,如果库不存在,则必须先创建空库
The end!