V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
le0rn0
V2EX  ›  MySQL

mysql 到底该怎么优化?

  •  
  •   le0rn0 · 2015-12-31 23:01:06 +08:00 · 5003 次点击
    这是一个创建于 3282 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一台新服务器安装 mysql5.4 后该做如何配置?

    我每天 100 多 ip ,却总是报:

    Discuz! Database Error (2002) notconnect

    如图:

    http://imgur.com/Ub1aQWQ

    日志:

    http://imgur.com/mAN4Q1p

    求解决方法!不胜感激!

    第 1 条附言  ·  2016-01-02 00:12:43 +08:00
    1g 内存,使用率在 30%多,应该不是内存原因
    54 条回复    2016-01-07 11:40:50 +08:00
    BOYPT
        1
    BOYPT  
       2015-12-31 23:02:44 +08:00
    - 数据库增大连接数
    - 程序使用连接池
    kn007
        2
    kn007  
       2015-12-31 23:07:35 +08:00
    一台新服务器 mysql5.4
    xuhaoyangx
        3
    xuhaoyangx  
       2016-01-01 00:05:50 +08:00
    为何不用新一点的 mysql 。
    mongodb
        4
    mongodb  
       2016-01-01 00:19:53 +08:00   ❤️ 3
    改 my.cnf 的作用小的可怜。

    其实优化查询语句和索引是最好使的,不过看楼主问题估计说了也白说,用不上。

    从问题描述程度来看,也不见得能楼主说的服务器就是服务器,十有八九是 VPS 或者叫云主机。

    100 IP 每天这种程度,基本等同于没有访问。平摊下来怎么也不至于老是 2002 。

    本来应该让楼主再贴更详细的描述,比如机器配置,系统环境,环境如何搭建的,套件还是什么东西, MySQL 服务的配置参数,买的哪家的,是不是装了特多一堆插件,而这些插件本身可能 SQL 查询做的屎一样(事实上 99%的 DZ 插件这方面就是做的屎一样)——

    然后一想这怎么都是个漫长的工程。

    楼主,淘宝有大把的人能帮你(我也是其中之一),你随便搜搜,便宜的几十块钱就能搞定了。

    别舍不得这点钱。

    在这里试图解决你的问题不是不可能,但对你和别人都是一种煎熬,大家彼此浪费大把的时间和口水。
    le0rn0
        5
    le0rn0  
    OP
       2016-01-01 08:38:12 +08:00 via Android
    @BOYPT 连接数足够大且使用连接池
    le0rn0
        6
    le0rn0  
    OP
       2016-01-01 08:38:21 +08:00 via Android
    le0rn0
        7
    le0rn0  
    OP
       2016-01-01 08:38:52 +08:00 via Android
    @xuhaoyangx 多新的?
    le0rn0
        8
    le0rn0  
    OP
       2016-01-01 08:42:37 +08:00 via Android
    @mongodb 我都不知道该怎么回复你了,前面说的挺好,后面略广告,不过还算善意的广告,多谢啦,不知道你这个淘宝付费解决是怎么个流程
    mongodb
        9
    mongodb  
       2016-01-01 08:46:18 +08:00
    @le0rn0 淘宝随便搜 discuz mysql 优化 这类问题关键词,都能找得到好多人。。
    小问题解决起来挺快的。
    br00k
        10
    br00k  
       2016-01-01 09:31:45 +08:00 via Android
    无脑有效的办法,上 SSD😂
    jhaohai
        11
    jhaohai  
       2016-01-01 09:39:07 +08:00 via iPhone
    5.6 吧 目前各方面测下来还不错
    wy315700
        12
    wy315700  
       2016-01-01 11:48:05 +08:00
    mysql 有 5.4 ?,是我孤陋寡闻了还是
    Flygoat
        13
    Flygoat  
       2016-01-01 12:34:32 +08:00
    上 MariaDB10.1.InnoDB 带来的性能提升可不止一点点啊。
    BOYPT
        14
    BOYPT  
       2016-01-01 14:35:52 +08:00
    @le0rn0 图片显示不了 没看到是 discuz~

    discuz 的话,蛮折腾的,听楼上的意见吧
    Jaylee
        15
    Jaylee  
       2016-01-01 15:22:22 +08:00
    @kn007 mysql 什么时候有 5.4 版本的?
    kn007
        16
    kn007  
       2016-01-01 15:24:47 +08:00
    @Jaylee 。。你 at 我干嘛,你没看我是回给楼主的。。。我也好奇什么时候有这个版本。而且新服务器不用 5.7.10 也是怪了
    le0rn0
        17
    le0rn0  
    OP
       2016-01-01 17:13:39 +08:00
    @wy315700 5.5,说错了,不过 5.4 还是存在的
    le0rn0
        18
    le0rn0  
    OP
       2016-01-01 17:15:45 +08:00
    @kn007
    @Jaylee
    我 google bd 都能搜到 5.4 ,但是没用过,看来是我孤陋寡闻了
    kn007
        19
    kn007  
       2016-01-01 17:18:43 +08:00
    @le0rn0 http://downloads.mysql.com/archives/community/

    用 5.5 就不如用 5.6 了。。。当然一步到位 5.7 最好。
    5.7 据说比 5.6 快,但实际应用起来,感觉还是 5.6 快。
    写好查询,做好索引。
    le0rn0
        20
    le0rn0  
    OP
       2016-01-01 17:20:58 +08:00
    @jhaohai
    @kn007
    请教两位 5.6 和 5.7 哪个较棒,另外,我现在 vps (经楼上提醒还是别自称服务器了)上存在的 5.5 是阿里云的环境自安装的,请问我要升级的话怎么彻底卸载旧版本?还有,有什么需要注意的吗?

    万分感谢!
    initialdp
        21
    initialdp  
       2016-01-01 17:26:29 +08:00
    您是认真的么?每天才 100IP ? 这根本就没负荷,用不着优化,除非您的 VPS 渣得实在不行啊。
    kn007
        22
    kn007  
       2016-01-01 17:26:46 +08:00
    @le0rn0 无所谓名字啦。 kvm vps 用起来接近物理服务器。
    删掉就是卸掉了,你可以简单理解成这样。

    用着 5.7 ,我追求新。
    但性能上我觉得不如 5.6 ,或许也因为不是物理服务器的原因, U 帮不上 5.7 太大忙
    kn007
        23
    kn007  
       2016-01-01 17:29:34 +08:00
    @le0rn0 刚刚看到你日 ip 才 100 。。。。随便用 5.6 或 5.7 吧,先优化查询,做好索引吧。。。瓶颈肯定还没到数据库这里。。。日 ip1k+的,表示数据库都不是我的瓶颈。。。
    tntsec
        24
    tntsec  
       2016-01-01 17:31:33 +08:00
    直接用 mariadb
    le0rn0
        25
    le0rn0  
    OP
       2016-01-01 18:53:29 +08:00 via Android
    @initialdp 我也知道这点 ip 没到负荷,所以才想问问是不是哪里配置错了,导致总是挂掉
    le0rn0
        26
    le0rn0  
    OP
       2016-01-01 18:54:28 +08:00 via Android
    @kn007 这个根本就不是瓶颈或负荷问题呀,我总觉得是哪里配置错了,导致总是挂掉
    kn007
        27
    kn007  
       2016-01-01 18:55:37 +08:00   ❤️ 1
    @le0rn0 你给的信息看不出哪里问题来的
    le0rn0
        28
    le0rn0  
    OP
       2016-01-01 18:58:29 +08:00 via Android
    @kn007 我也纳闷,可日志就这些,话说你回复这么快,是一直再刷 v2 么^_^
    kn007
        29
    kn007  
       2016-01-01 18:58:48 +08:00
    @le0rn0 有新消息提醒
    lenran
        30
    lenran  
       2016-01-01 19:00:10 +08:00
    看到优化一词我才进来的,没想到是这种问题。。。
    lenran
        31
    lenran  
       2016-01-01 19:03:59 +08:00
    是一开始就连不上,还是之前连上,后来又连不上了?
    yernsun
        32
    yernsun  
       2016-01-01 19:05:00 +08:00 via iPhone
    @le0rn0 阿里云的 io 性能,优化起不来多大作用
    le0rn0
        33
    le0rn0  
    OP
       2016-01-01 19:39:26 +08:00
    @lenran 刚开始能连上,一两天之后就挂了
    lenran
        34
    lenran  
       2016-01-01 19:59:34 +08:00
    @le0rn0 这中间你做做什么修改了吗?包括程序方面的
    xuhaoyangx
        35
    xuhaoyangx  
       2016-01-01 20:19:00 +08:00
    @kn007 5.7sql mode 模式很严格,你这么推荐给别人,是个坑
    kn007
        36
    kn007  
       2016-01-01 20:22:19 +08:00
    @xuhaoyangx 一开始规范。以后会好很多吧
    cassia
        37
    cassia  
       2016-01-01 21:37:34 +08:00
    使用数据库连接池,使用缓存,精简 sql 语句提高命中率
    liuhaotian
        38
    liuhaotian  
       2016-01-01 21:41:37 +08:00
    服务器系统?服务器的配置?
    Bluecoda
        39
    Bluecoda  
       2016-01-01 22:20:28 +08:00
    换 mariadb ,用 innodb 。或者用 pg 也行。
    xuhaoyangx
        40
    xuhaoyangx  
       2016-01-01 22:46:52 +08:00
    @kn007 你要考虑他们用的不是框架就是现成的东西做的,很多人没有能力去修改使用了不标准的聚合函数的 sql 。
    movtoy
        41
    movtoy  
       2016-01-01 23:38:35 +08:00
    一帮人帮你推测环境。。。


    我推测是内存不够
    Mac
        42
    Mac  
       2016-01-01 23:57:06 +08:00
    InnoDB 是要占很多内存的,你内存够么
    le0rn0
        43
    le0rn0  
    OP
       2016-01-02 00:10:37 +08:00 via Android
    @lenran 程序方面无任何修改,用的 dz
    le0rn0
        44
    le0rn0  
    OP
       2016-01-02 00:13:33 +08:00 via Android
    @Mac
    @movtoy
    1g 内存,,是不够么
    lenran
        45
    lenran  
       2016-01-02 00:20:08 +08:00
    @le0rn0 那你 mysql -u username -p password 能连上吗?
    7harryprince
        46
    7harryprince  
       2016-01-02 00:27:26 +08:00
    上青云!然后找他们客服,他们帮你搞定所有问题!
    POPOEVER
        47
    POPOEVER  
       2016-01-02 00:37:38 +08:00
    Database Error (2002) notconnect 这不写着么, mysql 挂了,重启 mysql 啊,另外增加 swap 分区
    lenran
        48
    lenran  
       2016-01-02 00:42:35 +08:00
    @lenran 执行这两条命令,看看 mysql 服务还在不在

    netstat -tnlp
    ps -A | grep mysqld
    lenran
        49
    lenran  
       2016-01-02 00:43:33 +08:00
    @le0rn0 执行这两条命令,看看 mysql 服务还在不在

    netstat -tnlp
    ps -A | grep mysqld

    晕,竟然 @自己了。。。
    le0rn0
        50
    le0rn0  
    OP
       2016-01-02 10:31:45 +08:00
    @lenran 我重启了就在了
    gdtv
        51
    gdtv  
       2016-01-02 11:00:41 +08:00 via Android
    这么多人叫楼主优化,但楼主才 100ip ,根本就没流量啊。还是先查一下 mysql 错误日志,看为什么会挂掉
    lenran
        52
    lenran  
       2016-01-02 12:43:14 +08:00
    @le0rn0 原来是服务挂掉了啊。。。
    realpg
        53
    realpg  
       2016-01-07 09:37:29 +08:00
    @le0rn0
    1. 干掉所有插件。楼上哪位说的太对了, 95%的插件写的都是屎一样的……
    2. 多做监控分析原因

    如果以上搞不定,花钱请个兼职运维帮你做
    如果已经有访问量,影响较大,我可以帮你看看,帮 V 友应急解决问题不要钱
    le0rn0
        54
    le0rn0  
    OP
       2016-01-07 11:40:50 +08:00
    @realpg 多谢啦,现在每天 300ip 左右特稳定,不过一周没出现这状况了,总感觉是我 mysql 配置的 Inno 不太对,现在好多了,万分感谢!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1653 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 16:48 · PVG 00:48 · LAX 08:48 · JFK 11:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.