zoukankan      html  css  js  c++  java
  • mysql常用操作及常见问题

    常用操作

    mysql备份:

    --整库备份(排除mysql、information_schema等库)
    mysql -e "show databases;" -uroot -p| grep -Ev "Database|information_schema|performance_schema|mysql|test" | xargs mysqldump -uroot -p --databases > /opt/mysql_bak.sql
    --指定库备份 docker exec 容器ID mysqldump -uroot -p密码 --databases 库名 > 库名.sql
    --仅导出表和数据 mysqldump -h localhost -uroot -p123456 database table > dump.sql --导出整个数据库结构(不包含数据) mysqldump -h localhost -uroot -p123456 -d database > dump.sql --导出单个数据表结构(不包含数据) mysqldump -h localhost -uroot -p123456 -d database table > dump.sql --导出存储过程和函数 docker exec 容器ID mysqldump -R -ndt 库名 -u root -p123456 > test.sql
    --导入sql时指定utf-8字符集
    mysql -u root -p123456 --default-character-set=utf8 databasename < xxx.sql
    --创建用户:
    create user 'username'@'%' IDENTIFIED BY 'password';
    --创建库:
    create database if not exists database_name default character set = 'utf8';
    --授权用户单个库所有权限:
    GRANT all ON database_name.* to username@'%';
    --修改用户密码:
    ALTER USER 'root'@'%' IDENTIFIED BY 'mysql,.1q';
    update user set password=password('123') where user='root' and host='localhost';
    --取消授权:
    revoke all on database_name.* from username@'%'; --查看用户权限: show grants for username; --使用Navicat Premium软件连接库测试

    注意:在操作 mysql 库做用户的增删修改的时候,操作完毕的时候最好使用 flush privileges 命令刷新一下权限。否则可能会修改不生效

    常见问题:

    1、表名查询不区分大小写

    在my.cnf或my.ini配置文件中[mysqld]添加如下内容

    lower_case_table_names=0

    然后重启mysql服务

    日志记录

    1、开启日志记录
    
    show variables like 'general_log';  -- 查看日志是否开启
    
    show variables like 'log_output';  -- 看看日志输出类型  table或file
    
    show variables like 'general_log_file';  -- 看看日志文件保存位置
    
    set global general_log_file='tmp/general.lg'; -- 设置日志文件保存位置
    
    set global general_log=ON/OFF; -- 开启/关闭日志功能
    
    set global log_output='table'; -- 设置输出类型为 table
    
    set global log_output='file';   -- 设置输出类型为file
    
    2、查询
    
    SELECT * from mysql.general_log ORDER BY event_time DESC;
    
    3、清空表(delete对于这个表,不允许使用,只能用truncate)
    
    truncate table mysql.general_log;

    慢查询

    show variables like "%slow%"; //查看慢查询设置
    
    set slow_query_log='ON';      //启用慢查询
    
    set global long_query_time=2; //设置成2秒,加上global,下次进mysql已然生效
  • 相关阅读:
    2020.1.15考试总结
    P4558 [JSOI2018]机器人 结论&DP
    2020.1.11考试总结
    2020.1.9考试总结
    如何和出题人斗智斗勇?奇技淫巧汇总
    各种公式总结
    2020.1.5考试总结
    C基础学习笔记——01-C基础第10天(内存结构)
    C基础学习笔记——01-C基础第09天(指针下)
    C基础学习笔记——01-C基础第08天(指针上)
  • 原文地址:https://www.cnblogs.com/cpw6/p/11727989.html
Copyright © 2011-2022 走看看