数据库

作者: ibunny | 来源:发表于2017-03-15 19:04 被阅读9次
sudo service mysql start
mysql -u root
CREATE DATABASE shiyanlou;
use mysql;
create user shiyanlou IDENTIFIED by 'shiyanlou';
#select host,user,password from user;
grant ALL privileges on shiyanlou.* to shiyanlou identified by 'shiyanlou';
flush privileges;
#show grants for shiyanlou;

中文csv导入数据库

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

use shiyanlou;

#show character set;

/*********table course********/
create table course (  
    id  integer not null,  
    name varchar(64) not null,  
    primary key (id)  
) default character set utf8mb4;  

load data infile '/home/shiyanlou/loudatabase/shiyanlou_course.csv'  
into table course character set utf8mb4
fields terminated by ','  optionally enclosed by '"' escaped by '"'   
lines terminated by '\n';

#select * from course;

/*********table user********/
create table user (  
    id  integer not null,  
    name varchar(64) not null,  
    primary key (id)  
) default character set utf8mb4;  

load data infile '/home/shiyanlou/loudatabase/shiyanlou_user.csv'  
into table user character set utf8mb4
fields terminated by ','  optionally enclosed by '"' escaped by '"'   
lines terminated by '\n';

/********table usercourse*********/
create table usercourse (  
    user_id  integer not null,  
    course_id  integer not null,  
    study_time integer not null,
    foreign key(user_id) references user(id), 
    foreign key(course_id) references course(id)
) default character set utf8mb4;  

load data infile '/home/shiyanlou/loudatabase/shiyanlou_usercourse.csv'  
into table usercourse character set utf8mb4
fields terminated by ','  optionally enclosed by '"' escaped by '"'   
lines terminated by '\n';
 # 在第一列增加一列自动增长的id列
alter table usercourse add COLUMN id INT NOT NULL AUTO_INCREMENT PRIMARY KEY first;


学习时间最长

#select user.name,course.name,study_time from usercourse,course,user where usercourse.course_id = course.id and user.id = usercourse.user_id group by user_id group by user.name,course.name;


create table favorite select user.name as user_name ,course.name as course_name,max(study_time) as study_time from usercourse,course,user where usercourse.course_id = course.id and user.id = usercourse.user_id group by user.name;

alter table favorite add COLUMN id INT NOT NULL AUTO_INCREMENT PRIMARY KEY first;


查询慢

alter table usercourse add index user_Index(user_id);

alter table usercourse add index studytime_Index(study_time);

备份和恢复


/*************************/
crontab -u shiyanlou –e
#每个星期一凌晨3:00完全备份
0 3 * * 1 /usr/bin/mysqldump --opt --force -uroot shiyanlou> /usr/lib/mysql/"mysql-`date +'%Y%m%d-%H:%M:%S'`".sql
#周二到周天凌晨3:00增量备份
0 3 * * 2-7 mysqladmin -uroot flush-logs

mysqlbackup.sh

# /bin/bash  
DB_NAME="****"  
DB_USER="****"  
DB_PASS="****"  
BIN_DIR="/usr/bin"  
BACK_DIR="/data/backdata"  
DATE="mysql-`date +'%Y%m%d-%H:%M:%S'`"  
LogFile="$BACK_DIR"/dbbakup.log #日志记录保存的目录  
BackNewFile=$DATE.sql  
$BIN_DIR/mysqldump --opt --force -u$DB_USER  -p$DB_PASS $DB_NAME > $BACK_DIR/$DATE.sql  
echo ----------"$(date +"%y-%m-%d %H:%M:%S")"------------ >> $LogFile  
echo  createFile:"$BackNewFile" >> $LogFile  
#find "/data/backdata/" -cmin +1 -type f -name "*.sql" -print > deleted.txt  
find "/data/backdata/" -ctime +7 -type f -name "*.sql" -print > deleted.txt  
echo -e "delete files:\n" >> $LogFile  
#循环删除匹配到的文件  
cat deleted.txt | while read LINE  
do  
rm -rf $LINE  
echo $LINE>> $LogFile  
done  
echo "---------------------------------------------------------------" >> $LogFile  

相关文章

  • MySQL数据库day01

    系统数据库 ​​​ 创建数据库 ​​​ ​​​ ​​​ ​​​ 查看所有数据库 使用数据库 修改数据库 删除数据库...

  • 数据库操作

    创建数据库: 选择数据库: 查看数据库: 修改数据库: 删除数据库:

  • Ubuntu操作mysql数据库命令

    一、连接数据库 连接本地数据库 退出数据库 二、操作数据库 创建数据库 显示数据库 删除数据库 连接数据库 查看状...

  • 4-14

    创建数据库 createdatabase数据库名称; 删除数据库 dropdatabase数据库名称; 查看数据库...

  • [后端开发] Mysql学习笔记

    1.0 数据库 创建数据库 查看所有数据库 删除数据库 切换数据库名 查看正在使用的数据库 2.0 数据库表 创...

  • 2020最新最全数据库系统安全

    数据库标识与鉴别 数据库访问控制 数据库安全审计 数据库备份与恢复 数据库加密 资源限制 数据库安全加固 数据库安...

  • 2020-01-05 sql基本概念

    数据库用来储存数据。 数据库的种类大致有:层次数据库、关系数据库、面向对象数据库、XML数据库、键值数据库。 关系...

  • Mysql数据库基本操作

    连接数据库 退出数据库 查看数据库版本 显示数据库时间 查看当前使用的数据库 查看所有数据库 数据库备份 导入数据...

  • mysql命令行操作

    准备 登陆 数据库操作 查看现有数据库 创建数据库 删除数据库 查看数据库 使用数据库 查看当前数据库 表操作 新...

  • 1.7.1 MySQL数据库学习

    1. 数据库命令行学习 进入数据库 创建数据库 查看数据库列表 删除数据库 使用数据库 查看当前数据库 2. 表 ...

网友评论

      本文标题:数据库

      本文链接:https://www.haomeiwen.com/subject/dmkrnttx.html