• mysql学习笔记(有待增补)


    1. mysql的连接:
      mysql -h host -u user -p   回车输入密码
    2. 展示数据库以及使用数据库
      show databases;
      use test
      grant all on database_name.* to 'your_nysql_name'@'your_client_host'    设置权限你能访问的数据库
      grant all on *.* to 'your_nysql_name'@'your_client_host'
      revoke all on database_name.* from 'your_nysql_name'@'your_client_host'
    3.  查看默认的存储引擎
      show variables like 'default_storage_engine';
    4. 查看数据库支持的存储引擎
      show enginesG
    5. 查看表的相关信息
      show table status like 'table_name'G;
    6. 针对MYISAM表,可以手工或自动执行检查和修复操作
      check table xxx
      repair table xxx
      myisamchk 命令行工具进行检查和修复(这个有待研究)
    7. mysql有两个级别的锁等待,服务器级别和存储引擎级别
    8. 事务特性:原子性、一致性、隔离性、持久性隔离级别:未提交读、提交读、可重复读、可串行读
      • 未提交读(read uncommitted):一个事务还未提交,它所做的变更能被别的事务看到。事务可以读取未提交的数据,被称为脏读(dirty read),这种隔离级别在实际应用中一般很少使用;

      • 提交读(read committed):一个事务提交之后,它所做的变更才能被别的事务看到。大多数数据库的默认隔离级别是提交读(read committed),比如 Oracle;

      • 可重复读(repeatable read):一个事务在执行过程中看到的数据,总是跟这个事务在启动时看到的数据是一致的。在可重复读隔离级别下,未提交变更对其他事务也是不可见的。该级别保证了在同一个事务中,多次读取同样记录的结果是一致的。MySQL 的默认事务隔离级别是可重复读(repeatable read);

      • 可串行化(serializable):serializable 是最高的隔离级别。对同一行数据,读写都会进行加锁。当出现锁冲突时,后面访问的事务必须等前一个事务完成,才能继续执行。实际应用场景很少用到这种隔离级别,只有在非常需要确保数据一致性,而且可以接受没有并发的情况,才会使用这种隔离级别。

    9. 数据库的备份
      mysqldump -u root -p --all-databases > /tmp/all_databases.sql(备份所有的数据库)
    10. 数据库的逻辑恢复
      mysql -uroot -p123 databasename < /tmp/all_databases.sql(完全恢复)
    11. 定位分析SQL
      查看当前的线程和慢日志
      show processlist (查看正在执行的sql语句)或者通过表information_schema.processlist
      分析SQL的执行计划
      explain (type key table,type在range范围上为好 性能由差到好:ALL、index、range、ref、eq_ref、const)
      查看SQL的执行步骤跟时间
      set profiling=1;
      show profiles;
      show profile for query 2;
    12. 多版本并发控制(MVCC)
      行级锁的一个变种,典型的实现有乐观并发控制和悲观并发控制
    13. MySQL慢查询
      查看慢查询是否开启
      show variables like 'slow_query_log';
      开启慢查询
      set global slow_query_log='ON';
      查看慢查询规定时间
      show variables like 'long_query_time';
      设置慢查询的时间
      set global long_query_time=1;(更改配置需要重启数据库)
      设置慢查询日志文件保存地址
      set global slow_query_log_file='/var/lib/mysql/test.log';(地址自定义)
    14. ddd
    15. xxx
    16. 更多细节可参考
      http://www.imooc.com/wiki/mysqladvanced/serveroptimize.html
  • 相关阅读:
    Django动态渲染多层菜单
    python使用pdkdf2加盐密码
    ceil 模块
    python面试总结
    Django 中related_name,"%(app_label)s_%(class)s_related"
    安装zabbix-3.0.3+nginx-1.10.1+php-5.6.22
    Django 权限管理
    python RecursionError: maximum recursion depth exceeded in comparison错误
    django _meta方法
    html 之input标签height设置问题
  • 原文地址:https://www.cnblogs.com/zzc666/p/15101627.html
Copyright © 2020-2023  润新知