zoukankan      html  css  js  c++  java
  • 数据库管理

    1.数据库权限操作

    1.1创建数据库

    1 .创建数据库keystone_db并授权给keystone_user用户从哪些地址登录

    MariaDB [(none)]> CREATE DATABASE keystone_db CHARACTER SET utf8 COLLATE utf8_general_ci;
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone_db.* TO 'keystone_user'@'localhost' IDENTIFIED BY 'keystone_pwd';
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone_db.* TO 'keystone_user'@'%' IDENTIFIED BY 'keystone_pwd';
    

    2 .查看当前在哪个库

    select database();
    

    3. 查看有哪些数据库

    MariaDB [(none)]> show databases;
    

    1.2修改已存在的库字符集为utf8mb4

    1.字符集修改

    # 修改库:    
    ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
    # 修改表:
    ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    # 修改一列:
    ALTER TABLE table_name CHANGE column_name column_name VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    

    2.字符集的查看

    MariaDB [(none)]> show variables like "%character%";show variables like "%collation%";
    +--------------------------+----------------------------+
    | Variable_name            | Value                      |
    +--------------------------+----------------------------+
    | character_set_client     | utf8                       |
    | character_set_connection | utf8                       |
    | character_set_database   | utf8                       |
    | character_set_filesystem | binary                     |
    | character_set_results    | utf8                       |
    | character_set_server     | utf8                       |
    | character_set_system     | utf8                       |
    | character_sets_dir       | /usr/share/mysql/charsets/ |
    +--------------------------+----------------------------+
    8 rows in set (0.00 sec)
    
    +----------------------+-----------------+
    | Variable_name        | Value           |
    +----------------------+-----------------+
    | collation_connection | utf8_general_ci |
    | collation_database   | utf8_general_ci |
    | collation_server     | utf8_general_ci |
    +----------------------+-----------------+
    3 rows in set (0.00 sec)
    

    1.3对数据库进行授权只读和管理用户

    1 .创建只读和管理用户

    -- 管理员权限
    GRANT ALL PRIVILEGES ON keystone_db.* TO 'keystone_admin'@'%' IDENTIFIED BY 'pwd_admin';
    
    -- 只读账号
    GRANT Select ON keystone_db.* TO 'keystone_reader'@'%' IDENTIFIED BY "pwd_read";
    
    -- 刷新权限:
    FLUSH PRIVILEGES;    
    

    2 .移除权限

    REVOKE  ALL ON keystone_db.*    FROM  'keystone_admin'@'%';  
    #移除   所有    keystone_db库.*  来自 "keystone_admin用户"@所有地址
    
    REVOKE select   ON *.*   FROM   'keystone_admin'@'%';  
    #移除   查询   所有库.*   来自   "keystone_admin用户"@所有地址
    
    #刷新权限:
    MariaDB [(none)]> FLUSH PRIVILEGES;   
    

    3 .查看用户权限

    # 具有所有权限
    -- show grants for 用户;
    
    MariaDB [(none)]> show grants for keystone_user;
    +--------------------------------------------------------------------------------------------------------------+
    | Grants for keystone_user@%                                                                                   |
    +--------------------------------------------------------------------------------------------------------------+
    | GRANT USAGE ON *.* TO 'keystone_user'@'%' IDENTIFIED BY PASSWORD '*DF6189899B5031F828E09AE5459B76FBF3436D24' |
    | GRANT ALL PRIVILEGES ON `keystone_db`.* TO 'keystone_user'@'%'                                               |
    +--------------------------------------------------------------------------------------------------------------+
    2 rows in set (0.00 sec)
    
    # 只有select权限
    MariaDB [(none)]> show grants for keystone_reader;                                                
    +----------------------------------------------------------------------------------------------------------------+
    | Grants for keystone_reader@%                                                                                   |
    +----------------------------------------------------------------------------------------------------------------+
    | GRANT USAGE ON *.* TO 'keystone_reader'@'%' IDENTIFIED BY PASSWORD '*7A117767F925D66FF88127B76459008FD2A1469D' |
    | GRANT SELECT ON `keystone_db`.* TO 'keystone_reader'@'%'                                                       |
    +----------------------------------------------------------------------------------------------------------------+
    2 rows in set (0.00 sec)
    

    2.表操作

    2.1查看操作

    1. 查看列的结构

    desc 表名;
    

    2.修改表名称(速度非常快,3千万数据少于1秒):

    alter table 旧名称 rename 新名称;
    

    数据库指定表的增量备份

    # 获取当前“备份”表的 最大 ID 号:
    mysql -h 127.0.0.1 -ukeystone_user -pkeystone_pwd -e"use keystone_db;select Max(keystone_id) from tbl_ap_keystone_bak;" |awk -F '[ ]' 'NR==2{print $1}'
    
    # 通过备份库的“ID号” 大于这个号的值做备份:35383100 为具体值
    mysqldump -h 127.0.0.1 -ukeystone_user -pkeystone_pwd -t keystone_db tbl_ap_keystone --where="keystone_id>35383100" > /opt/data/keystone_db/tbl_ap_keystone.bak.sql 
    
    # 将备份的数据修改内部数据库库名:
    sed -i "s/tbl_ap_keystone/tbl_ap_keystone_bak/g" /opt/data/keystone_db/tbl_ap_keystone.bak.sql 
    
    # 将备份数据增加到备份库
    cd /opt/data/keystone_db/ && mysql -h 127.0.0.1 -ukeystone_user -pkeystone_pwd -e"use keystone_db;source tbl_ap_keystone.bak.sql;"
    
  • 相关阅读:
    HDU1443_Joseph_约瑟环
    HDU1568_求fibonacci的前四位
    HDU3368_翻转棋
    HDU1134_catalan_大数运算
    HDU1032_The 3n+1_数学题
    HDU2674_N!模2009
    HDU2067_小兔的棋盘_catalan_递推
    文件读写操作inputStream转为byte[] , 将InputStream写入本地文件
    JVM堆内存调优
    Java使用 POI 操作Excel
  • 原文地址:https://www.cnblogs.com/baolin2200/p/8919524.html
Copyright © 2011-2022 走看看