• 02 数据库基本操作


    数据库的基本概念

    字段:表的标题

    记录:文件中的一行内容

    表:文件

    库:文件夹

    数据库管理软件:本质就是一个基于网络通信的套接字软件socket

    数据库服务器:运行数据库管理软件服务端的计算机

    数据库管理软件分为两大类

    关系型:MySQL、oracle、db2、sqlserver
    
    非关系型:key:value--->查询速度快mongodb、redis、memcache
    

    数据库的优化

    统一字符编码

    #1. 修改配置文件
    [mysqld]
    default-character-set=utf8mb4 
    [client]
    default-character-set=utf8mb4
    [mysql]
    default-character-set=utf8mb4
    
    #mysql5.5以上:修改方式有所改动
    [mysqld]
    character-set-server=utf8mb4
    collation-server=utf8mb4_general_ci
    [client]
    default-character-set=utf8mb4
    [mysql]
    default-character-set=utf8mb4
    
    #2. 重启服务
    #3. 查看修改结果:
    s
    show variables like '%char%';
    

    忘记密码修改重启

    vi /etc/my.cnf
    [mysqld] #下面加上:
    skip-grant-tables
    
    update mysql.user set password=password("123") where user="root" and host="localhost";
    flush privileges;
    

    基础SQL语句

    # 增
    MariaDB [(none)]> create database db1 charset utf8mb4;
    
    # 改
    MariaDB [(none)]> alter database db1 charset gbk;
    
    # 查
    MariaDB [(none)]> show create database db1;
    
    # 删
    MariaDB [(none)]> drop database db1;
    

    # 增
    MariaDB [(none)]> create table db1.t1(id int,name varchar(16));
    
    # 改
    MariaDB [(none)]> alter table t1 modify name varchar(20);
    
    # 查
    MariaDB [db1]> show create table t1;
    MariaDB [(none)]> desc t1;
    
    # 删
    MariaDB [(none)]> drop table t1;
    

    记录

    # 增
    MariaDB [(none)]> insert db1.t1 values(1,"baim0"),(2,"tom"),(3,"jack");
    MariaDB [(none)]> insert db1.t1(name,id) values(5,"lili");
    MariaDB [(none)]> insert db1.t1(id) values(5);
    
    # 改
    MariaDB [(none)]> update db1.t1 set name="JACK" where id=3;
    
    # 查
    MariaDB [db1]> select * from db1.t1;
    MariaDB [db1]> select id,name from db1.t1;
    MariaDB [db1]> select id,name from db1.t1 where id=1;
    MariaDB [db1]> select id,name from db1.t1 where id<3;
    
    # 删
    MariaDB [(none)]> delete from db1.t1 where id=3;
    # 清空
    MariaDB [(none)]> delete from db1.t1;# 不要这么干
    MariaDB [(none)]> truncate db1.t1;	#把表所有状态还原成初始状态
    

    MySQL数据备份

    使用mysqldump实现逻辑备份

    #语法:
    # mysqldump -h 服务器 -u用户名 -p密码 数据库名 > 备份文件.sql
    
    #示例:
    #单库备份
    mysqldump -uroot -p123 db1 > db1.sql
    mysqldump -uroot -p123 db1 table1 table2 > db1-table1-table2.sql
    
    #多库备份
    mysqldump -uroot -p123 --databases db1 db2 mysql db3 > db1_db2_mysql_db3.sql
    
    #备份所有库
    mysqldump -uroot -p123 --all-databases > all.sql
    

    恢复逻辑备份

    #方法一:
    [root@egon backup]# mysql -uroot -p123 < /backup/all.sql
    
    #方法二:
    mysql> use db1;
    mysql> SET SQL_LOG_BIN=0;
    mysql> source /root/db1.sql
    
    #注:如果备份/恢复单个库时,可以修改sql文件
    DROP database if exists school;
    create database school;
    use school;
    

    备份脚本

    备份计划:
    1. 什么时间 2:00
    2. 对哪些数据库备份
    3. 备份文件放的位置
    
    备份脚本:
    [root@egon ~]# vim /mysql_back.sql
    #!/bin/bash
    back_dir=/backup
    back_file=`date +%F`_all.sql
    user=root
    pass=123
    
    if [ ! -d /backup ];then
    mkdir -p /backup
    fi
    
    # 备份并截断日志
    mysqldump -u${user} -p${pass} --events --all-databases > ${back_dir}/${back_file}
    mysql -u${user} -p${pass} -e 'flush logs'
    
    # 只保留最近一周的备份
    cd $back_dir
    find . -mtime +7 -exec rm -rf {} ;
    
    手动测试:
    [root@egon ~]# chmod a+x /mysql_back.sql 
    [root@egon ~]# chattr +i /mysql_back.sql
    [root@egon ~]# /mysql_back.sql
    
    配置cron:
    [root@egon ~]# crontab -l
    2 * * * /mysql_back.sql
    

    数据库的迁移

    务必保证在相同版本之间迁移
    # mysqldump -h 源IP -uroot -p123 --databases db1 | mysql -h 目标IP -uroot -p456
    
  • 相关阅读:
    sqlHelp.java
    IIS7.0 检测到在集成的托管管道模式下不适用的ASP.NET设置 的解决方法
    [转]安装程序在安装此软件包时遇到一个错误,这可能表示此软件包有错。错误码是29506
    单表中的sql语句
    网页::::无法访问请求的页面,因为该页的相关配置数据无效。
    <authentication mode="Windows"/>
    无法从传输连接中读取数据: 远程主机强迫关闭了一个现有的连接。这个错误很难判断错在哪里,刚开……
    [转] css实现透明度(兼容IE6、IE7、Firefox2.0)
    企业微信机器人消息发送
    阴阳历自动转换工具函数
  • 原文地址:https://www.cnblogs.com/zhaokunhao/p/14951959.html
Copyright © 2020-2023  润新知