• mysql


     

    端口3306是mysql协议的默认端口,mysql客户机、mysql连接器以及mysqldump和mysqlpump等实用程序使用该端口。端口33060是MySQL数据库扩展接口(MySQLX协议)的默认端口。

    Port 3306 is the default port for the MySQL Protocol, which is used by the mysql client, MySQL Connectors, and utilities such as mysqldump and mysqlpump. Port 33060 is the default port for the MySQL Database Extended Interface (the MySQL X Protocol).

    ------------------------------

    单张表1000W行是分水岭(查询速度),要分库分表

    mysql初始安装会生成root的随机密码,在log日志中

     alter user user() identified by "123456";  //修改登陆密码

    约束条件:null,not null,key,default

    普通索引,是最基本的索引,它没有任何限制

    .唯一索引,索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一

    主键索引,一个表只能有一个主键,不允许有空值,不允许重复

    外键,让当前表的字段在另一个表中字段值的范围内选择,存储引擎必须时innodb,备参照的字段必须时一种索引

    存储引擎

    myisam:支持表级锁,适合查询较多的场景,节省资源(当同时访问100行,行级锁要加锁100次,表级锁只需要锁一次),,不支持事务、事务回滚、外键

    innodb:支持行级锁,适合写较多的场景,高的并发量 ,,,支持事务、事务回滚、外键       

    锁粒度(有存储引擎决定):锁的范围,行级锁,页级锁,表级锁

    由访问类型决定:读锁(共享锁):支持并发读。。写锁(互斥锁,排它锁):上锁期间不能读写

    事务:一次sql操作从开始到结束的过程

    事务回滚:在事务执行过程中,任意一步操作失败,都会恢复之前的所有操作(innodb有事务日志文件,未提交的sql命令,和以成功提交的sql命令文件)

    事务特性:原子性,一致性,隔离型,持久型

    虽然索引大大提高了查询速度,同时却会降低更新表的速度,如对表进行insert、update和delete。因为更新表时,不仅要保存数据,还要保存一下索引文件

    备份

    物理备份:cp,tar

    逻辑:mysqldump --->xx.sql。mysql<xx.sql(命令行),备份时会锁库锁表

        XtraBackup,第三方,在先热备份,不会锁库锁表,命令行

    完全备份

    增量:实时binlog日志(记录出查的所有sql语句,二进制文件),恢复:mysqlbinlog提取sql管道给mysql

      

    差异

     主从:

      主从同步。

     读写分离:

        1、(由程序员实现),主写,从读

        2、使用Mysql代理服务器(MaxScale),对用户透明

    调优:

      硬件 cpu 内存 硬盘  带宽

       运行参数:最大连接数,连接和断开超时,(理想状态:实时连接数/配置连接数<=85%)

            缓存大小(查询缓存,索引缓存)、允许开启和重构使用的线程数量、开表数量(已打开的表/配置        打开的表<=95%)

      sql语句优化(程序员)(错误,查询,慢查询日志)

     

    高可用MHA

    所有数据库服务器上安装mha_node软件包

    在管理主机上安装mha_node和mha_manager软件包(生产环境最好单独方在一台机器上)

     命令行启动MHA &,在其中一台master宕机后,会触发配置文件里指定的脚本,将vip配置在新的master上

    然后 把宕机的主库修复后添加到集群里, 启动宕机主库的数据库服务器, 把宕机指定为当前主库的从库,把宕机的信息再次写进app1.cnf文件里

    然后再次命令行启动MHA

    至少3台机器,一主,1主备,1从,一个manger,两node

    too many connections 解决方法

    explain用法

  • 相关阅读:
    最全Pycharm教程
    Django系列:(1)PyCharm下创建并运行我们的第一个Django工程
    用pycharm+django开发web项目
    python在不同层级目录import模块的方法
    Android GetTimeAgo(时间戳转换几天前,几分钟前,刚刚等)
    Fresco简单的使用—SimpleDraweeView
    django常用命令
    Android 浅谈 RxAndroid + Retrofit + Databinding
    云计算之路-阿里云上:负载均衡从七层换成四层后的意外发现团队
    云计算之路-阿里云上:因为网络问题,物理机换回虚拟机团队
  • 原文地址:https://www.cnblogs.com/fanever/p/10682507.html
Copyright © 2020-2023  润新知