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已然生效
  • 相关阅读:
    HBase 高性能加入数据
    Please do not register multiple Pages in undefined.js 小程序报错的几种解决方案
    小程序跳转时传多个参数及获取
    vue项目 调用百度地图 BMap is not defined
    vue生命周期小笔记
    解决小程序背景图片在真机上不能查看的问题
    vue项目 菜单侧边栏随着右侧内容盒子的高度实时变化
    vue项目 一行js代码搞定点击图片放大缩小
    微信小程序进行地图导航使用地图功能
    小程序报错Do not have xx handler in current page的解决方法
  • 原文地址:https://www.cnblogs.com/cpw6/p/11727989.html
Copyright © 2011-2022 走看看