zoukankan      html  css  js  c++  java
  • Mysql 使用经验 2013

    Mysql配置文件:

       Linux下,安装mysql后的默认配置文件,一般非常简单; 并没有具体的规定mysql启动时各个参数的设置。 比如[mysqld],[client],[mysqldump]这些项之下的各个参数。 a. Mysql入门最先涉及到的,恐怕就是[mysqld]下的字符集设置。b. Msyql默认是latin1字符集,此字符集会将中文GBK一类非欧洲编码字符存储为乱码。c. 对于mysql运行的资源预分配没有设定,如果buffer-size, query-cache-size等参数没有设置,则启动的时候mysql的性能就不会是自己所期望的,在安装文件中my-small.cnf, my-huge.cnf这些都可作为参考设置my.cnf; d. mysql启动运行时候的日志log、错误日志log-error、query-log等,在没有指定时也不会有输出。d. 如果更改配置文件my.cnf,则在改动innodb-log-file-size时,在再次从新启动时会启动失败,原因是innodb会做log file size 的检查,不一样的话会报错。 详细的分析见帖子:http://serverfault.com/questions/104014/innodb-error-log-file-ib-logfile0-is-of-different-size

    Mysql两种引擎(类型)

      Innodb, Myisam两种表类型,在小规模百万级别是没有什么大的区别,可是如果达到亿级别,两者在select、insert上的区别就展现出来。因此根据自己实际应用场景,选择好驱动引擎非常重要。 亿级别大表,频繁的执行select ,而且事务性不强,myisam优势明显; 如果执行insert、update比较频繁则是innodb更有优势。 因为大部分的互联网应用场景下读写操作相比,读操作更普遍,所以myisam更有优势,写操作的弱势也可通过分表存储、缓存更新的策略改进。

    Some tips:

           1. Mysql的配置文件在设定之后,创建的数据库会跟着受到影响,因此安装软件之初,关键信息,比如数据文件目录、innodb数据文件的顺序这些信息都应该设置好;否则在后继的改动配置时,很容易遇到错误。

           2. 如果遇到mysql错误情况,查看Mysql启动和运行日志,而非只是看查询的报错,才能诊断出错误的所在,对症下药。因为很多错误都有可能导致同样查询出错。这就要求配置文件中,规定好日志的输出。

           3. 不论是innodb或者mysiam的日志文件和数据文件,在遇到为了解决异常、错误需要删除时,都应该备份。否则很有可能带来巨大的麻烦和损失。

           4. foreign key在删除的时候,必须知道对应constraint的名字,可是在自己的创建表语句中可能没有指定,这是就需要使用命令 show create table + 表名来查询。

          5. show create table 命令输出给定表创建所需的命令,并且可以直接添加到sql文件中,供source 命令使用; 也可通过设置session参数,使输出可以直接在终端执行。

  • 相关阅读:
    10. Regular Expression Matching
    9. Palindrome Number
    6. ZigZag Conversion
    5. Longest Palindromic Substring
    4. Median of Two Sorted Arrays
    3. Longest Substring Without Repeating Characters
    2. Add Two Numbers
    链式表的按序号查找
    可持久化线段树——区间更新hdu4348
    主席树——树链上第k大spoj COT
  • 原文地址:https://www.cnblogs.com/operaculus/p/3039291.html
Copyright © 2011-2022 走看看