国外做饮用来源的网站,京东网上商城官网下载,给会所做网站,西安网站维护托管目录 上机练习 14
mysql 命令
sql 语句实现步骤
shell 脚本导入 csv 格式文件到 mysql 数据库
secure-file-priv 特性
把文件拷贝到 mysql 指定目录下
上机练习 15
mysqldump 命令
上机练习 16 上机练习 14 运用上一节课学的 Shell 工具完成 1. 清洗数据《infotest.t…目录 上机练习 14
mysql 命令
sql 语句实现步骤
shell 脚本导入 csv 格式文件到 mysql 数据库
secure-file-priv 特性
把文件拷贝到 mysql 指定目录下
上机练习 15
mysqldump 命令
上机练习 16 上机练习 14 运用上一节课学的 Shell 工具完成 1. 清洗数据《infotest.txt》保存成《infotest.csv》 infotest.txt 内容 实现代码 # sed s/\[{//g /root/infotest.txt \# | sed s/\//g \
# | awk -v FS, -v OFS, BEGIN{print
# catchTime,commentCount,content,createTime,pic_list,praiseCount,reportCount,sour
# ce}{print $1,$2,$3,$4,$5,$6,$7,$8} \
# | sed s/catchTime://g \
# | sed s/commentCount://g \
# | sed s/content://g \
# | sed s/createTime://g \
# | sed s/pic_list://g \
# | sed s/praiseCount://g \
# | sed s/reportCount://g \
# | sed s/source://g \
# | sed s/}\]//g /root/infotest.csv 成品图 2. 清洗数据《douban.txt》保存成《douban.csv》 douban.txt 内容 代码实现 # sed s/{//g /root/douban.txt \
# | sed s/},/\n/g \
# | sed s/}//g \
# | sed s///g \
# | sed s/subjects://g \
# | sed s/\[//g \
# | sed s/\]//g \
# | sed s/\\//g \# | awk -v FS, -v OFS, BEGIN{print
# episodes_info,rate,cover_x,title,url,playable,cover,id,cover_y,is_new}{print
# $1,$2,$3,$4,$5,$6,$7,$8,$9,$10} \
# | sed s/episodes_info://g \
# | sed s/rate://g \
# | sed s/cover_x://g \
# | sed s/title://g \
# | sed s/url://g \
# | sed s/playable://g \
# | sed s/cover://g \
# | sed s/id://g \
# | sed s/cover_y://g \
# | sed s/is_new://g /root/douban.csv 成品图 mysql 命令 是 MySQL 数据库服务器的客户端工具它工作在命令行终端中完成对远程 MySQL 数据库 服务器的操作。 1. -hMySQL 服务器的 ip 地址或主机名 2. -u连接 MySQL 服务器的用户名 3. -e执行 mysql 内部命令 4. -p连接 MySQL 服务器的密码。 5. -P连接 MySQL 服务器的端口 mysql -h127.0.0.1 -P3306 -uroot -proot123456 test -e select * from student sql 语句实现步骤 drop table if exists ip create table if not exists ip ( one varchar(10), two varchar(10), three varchar(10), four varchar(10) ) LOAD DATA INFILE /usr/local/mysql/data/ip.csv INTO TABLE ip CHARACTER SET utf8 FIELDS TERMINATED BY , LINES TERMINATED BY \n IGNORE 1 LINES select * from ip shell 脚本导入 csv 格式文件到 mysql 数据库
secure-file-priv 特性 secure-file-priv 参数是用来限制 LOAD DATA, SELECT ... OUTFILE, and LOAD_FILE() 传到哪个指定目录的。 查看配置文件 cat /etc/my.cnf [mysqld] usermysql port3306 character-set-serverutf8 secure_file_priv/usr/local/mysql/data 把文件拷贝到 mysql 指定目录下 cp /root/ip.csv /usr/local/mysql/data/ip.csv shell 里面执行 mysql 语句 host127.0.0.1 port3306 userroot passwdroot123456 dbnametest csvinLOAD DATA INFILE /usr/local/mysql/data/ip.csv INTO TABLE ip CHARACTER SET utf8 FIELDS TERMINATED BY , LINES TERMINATED BY \n IGNORE 1 LINES mysql -h$host -P$port -u$user -p$passwd $dbname -e $csvin 自动拼接创建表 sql2create table if not exists $2( colshead -n 1 $1 | sed s/,/ /g # 得到最后一个列名 lastNamehead -n 1 $1 | awk -v FS, {print $NF} # echo $lastName for i in $cols do if [ $i $lastName ] then sql2$sql2 $i varchar(200) else sql2$sql2 $i varchar(200), fi done sql2$sql2) # echo $sql2 上机练习 15 编写 shell 脚本 /root/shell/mysqlcsv.sh # host127.0.0.1
# port3306
# userroot
# passwdroot123456
# dbnametest
# 编写 shell 脚本/root/shell/mysqlcsv.sh
# 1.如果 douban 表存在则删除
# mysql1drop table if exists douban
# mysql -h$host -P$port -u$user -p$passwd $dbname -e $mysql1
# 2.如果 douban 表不存在则新建
# mysql2create table if not exists douban
# (
# episodes_info varchar(10),
# rate float(4,1),
# cover_x int(8),
# title varchar(40),
# url varchar(200),
# playable varchar(10),# cover varchar(200),
# id varchar(20),
# cover_y varchar(10),
# is_new varchar(10)
# );
# mysql -h$host -P$port -u$user -p$passwd $dbname -e $mysql2
# # 3.导入 douban.csv 数据到 douban 表中,建表过程为根据导入的 csv 文件自动创
建表
# mysql3LOAD DATA INFILE /usr/local/mysql/data/douban.csv INTO TABLE
douban
# CHARACTER SET utf8
# FIELDS TERMINATED BY ,
# LINES TERMINATED BY \n
# IGNORE 1 LINES
# mysql -h$host -P$port -u$user -p$passwd $dbname -e $mysql3
# # 4.查询 douban 表验证结果
# mysql4select * from douban
# mysql -h$host -P$port -u$user -p$passwd $dbname -e $mysql4 mysqldump 命令 上机练习 16 实现每天凌晨 3 点 10 分备份数据库 test 到/root/backup/db 一、编写 shell 脚本为 /root/shell/backdb.sh 1.判断路径/root/backup/db 是否存在不存在创建存在开始备份 2.备份后的文件以时间命名如 20230401110101.sql 3.在备份的同时检查是否有 10 天前的备份数据库文件有则删除之 二、编写定时任务任务是执行上面的 shell 脚本 today$(date %Y%m%d%H%M%S)
if [ -f /root/backup/backup.db ]
then
for i in find /root/backup -mtime 10
do
if [ -f $i ]
then
rm -rf $i
break
fi
done
mv /root/backup/backup.db /root/backup/$today.sql
touch /root/backup/backup.db
else
touch /root/backup/backup.db
fi 定时任务终端输入 crontab -e G 进入最后一行 o 进入编辑模式在下一行开始编辑 输入 10 3 * * * ./root/shell/backdb.sh ESC 回到一般模式 :wq! 强制保存并退出 今天内容就这么多明天考试了我先去复习啦。