Articles of mysql

不能读取/etc/my.cnf目录。 (Errcode:2)

我正在运行MariaDB(libmysql – 5.5.41-MariaDB),今天我注意到我无法通过命令行去mysql创build一个转储文件。 这会抛出一个错误: mysql:无法读取'/etc/my.cnf'的目录 (Errcode:2)默认处理中的致命错误。 程序中止 不知道为什么需要读一个名为“my.cnf”的目录。 但是我在etc文件夹中看到一个名为“my.cnf.d”的目录。 可能是某种types的错误,但是当我去my.cnf文件,我没有注意到任何设置。 唯一与此密切相关的是这样的: # # include all files from the config directory # !includedir /etc/my.cnf.d 这是最近发生的事情,我没有改变设置的任何东西,所以我不知道mariadb是怎么回事。 任何帮助,将不胜感激。 编辑:好吧,我通过做mkdir my.cnf解决了这个问题。 (不知道这个目录需要什么东西,因为里面什么都没有,从来没有改变任何东西到my.cnf为它开始需要这个目录..

无法findMySQL服务器

所以这个古老的服务器在我们办公室的某处运行MySQL。 我可以通过以下方式远程连 # mysql -u someuser -p -h ancientserver.domain.com 我看到我期望的表格。 但是,当我通过SSH连接到服务器,如下所示: # ssh root@ancientserver.domain.com 然后运行一个: # ps -ef | grep mysql 我没有看到一个MySQL服务器进程。 其他的探索证实mysql服务器没有安装ancientserver.domain.com。 是否有可能这个ancientserver.domain.com正在使用代理 – 只是将MySQL请求传递给另一台服务器? 如果是这样,我怎么能确定安装MySQL服务器的实际服务器的IP? 在连接的时候,我运行了一个: mysql> @@hostname 而主机名与ancientserver.domain.com确实不同。

mysql会定期停止响应

我在运行在32xCPU VMWare VPS上的Ubuntu 14.04.3服务器上运行一个站点(Magento)。 在负载较重的情况下,通常会收到20-25个请求/秒。 在magento有一个特定的UPDATE查询到一个MySQL表,通常需要约1毫秒(±0.2毫秒),并运行~200-300次/分钟(3-5个查询/秒)。 然而,在这些1-2小时的重负载期间,这个特定的查询突然需要5-35秒才能完成,这也阻止了整个网站(甚至没有这个查询的请求)。 我已经监测了ram和cpu的利用率,负载一般在22-28左右,在冻结之前和期间。 冻结似乎几乎是永久的。 它可以持续至less40分钟,重新启动mysql和php-fpm不会使它消失。 内存使用率永远不会超过可用内存的10%,交换不会被使用。 我必须解决的唯一办法就是重新启动VPS,这让我相信有一个潜在的系统错误configuration负责冻结。 不过有趣的是:这个问题有几次在没有重启的情况下解决了。 这些案件的共同点是,这个查询“仅”需要2-7秒才能完成。 在这些时候,问题在10-15分钟内消失。 那么,有什么build议可以解决这个问题呢? 更新1:系统负载(32个CPU内核的1分钟负载)通常在27-28峰值,但在极端负载下可能会升至40。 当发生这种冻结时,冻结前和冻结期间的载荷通常为22-27。 大多数(如果不是全部)可用的CPU核心(32)在冻结期间有一些空闲时间。 更新2:我已经对my.cnf进行了这些更改: innodb_buffer_pool_size = 10G (Innodb data is 5.5G) key_buffer = 16M max_allowed_packet = 16M thread_stack = 192K thread_cache_size = 8 max_connections = 1024

mysqldump使用gzip远程mysql数据库

我试图通过gzip压缩将数据从一台MySQL服务器传输到另一台服务器。 我到目前为止是: mysqldump -u [user] -p[pwd] –no-create-db –no-create-info [db] [table] | gzip -c | mysql -h [host] -u [user] -p[pwd] 当然,这不起作用,因为压缩的数据正被导入到远程数据库。 如何在导入之前解压缩远程服务器上的数据?或者这不起作用,我需要使用SSH吗? 谢谢

编译PHP7与MySQL错误

我正在CentOS 6.7上为PHP7设置一个alt-install,其中包含原始PHP版本的configuration选项: ./configure –disable-fileinfo –disable-opcache –disable-posix –enable-bcmath –enable-calendar –enable-exif –enable-ftp –enable-gd-native-ttf –enable-libxml –enable-mbstring –enable-pdo=shared –enable-soap –enable-sockets –enable-zip –prefix=/usr/local/php7 –with-bz2 –with-curl=/opt/curlssl/ –with-freetype-dir=/usr –with-gd –with-gettext –with-imap=/opt/php_with_imap_client/ –with-imap-ssl=/usr –with-jpeg-dir=/usr –with-kerberos –with-libdir=lib64 –with-libxml-dir=/opt/xml2 –with-libxml-dir=/opt/xml2/ –with-mcrypt=/opt/libmcrypt/ –with-mysql=/usr –with-mysql-sock=/var/lib/mysql/mysql.sock –with-mysqli=/usr/bin/mysql_config –with-openssl=/usr –with-openssl-dir=/usr –with-pcre-regex=/opt/pcre –with-pdo-mysql=shared –with-pdo-sqlite=shared –with-pic –with-png-dir=/usr –with-tidy=/opt/tidy/ –with-xpm-dir=/usr –with-zlib –with-zlib-dir=/usr 它抛出了以下错误: configure: WARNING: unrecognized options: –with-mysql 有谁知道什么是正确的选项是PHP7,我似乎无法在Google上find它? 谢谢 :)

MariaDB花了很多时间来恢复备份

所以我做了一个相当大的数据库的mysqldump ,我正在尝试使用以下命令恢复它: mysql db_test < db_test.sql 但看起来今年年底还不会结束。 现在一个小时左右还在“恢复”。 做备份需要大约10分钟,所以我担心有什么不好的事情发生。 至今: 我已经检查了mysqld正在消耗我的cpu(有时高达80%)。 在日志中没有任何与之相关的东西。 我可以看到创build的数据库,并填充了大量的表(不是所有的东西)。 另外,当我执行use db_test; ,我收到以下消息: 阅读表格信息以完成表格和列名称您可以closures此function以使用-A更快地启动 大约25GB的原始数据库文件,在整个小时后, df -h返回与以前相同的可用空间。 所以我想这不是在磁盘上做任何事情。 这里奇怪的是,当检查top ,我发现kworker有时消耗高达100%的CPU,这不应该是发生 任何想法或任何我可以做什么来看看发生了什么?

AWS WordPress网站 – OOM杀死Apache

这个问题最初是在StackOverflow.com上提出的,我已经将它复制到更合适的ServerFault.com站点。 原来的问题,我已经投票结束,可以在这里find 我有一个AWS上托pipe的小型低stream量WordPress博客。 不幸的是,大约每周一次,该网站变得不可用,试图访问该网站留下用户挂起,直到连接超时。 在这些停机期间,我也无法通过SSH访问服务器,直到服务器重新启动。 它在重新启动实例后总是立即恢复。 AWS EC2日志的最后一行(30,000个字符限制,防止发布所有内容): [1079988.125918] Out of memory: Kill process 32620 (httpd) score 16 or sacrifice child [1079988.130913] Killed process 32620 (httpd) total-vm:510348kB, anon-rss:32328kB, file-rss:0kB [1079996.872570] httpd invoked oom-killer: gfp_mask=0x24280ca, order=0, oom_score_adj=0 [1079996.887776] httpd cpuset=/ mems_allowed=0 [1079996.892671] CPU: 0 PID: 374 Comm: httpd Tainted: GE 4.4.5-15.26.amzn1.x86_64 #1 [1079996.896664] Hardware name: Xen […]

如何使AWS RDS MySQL Read“副本”具有不同的架构?

我不想使用AWS CLI / UI 创build只读副本,而是使用“足够靠近”的模式创build数据库实例,并将其设置为副本。 我需要做一个模式更改(整理更改),不能在MySQL中生活。 我想通过创build一个带有模式更改的读取“副本”来进行此更改,然后提升只读“副本”。 问题在于AWS RDS MySQL只读副本机制要求两个模式精确。 我知道这可以在MySQL中进行(尽pipe我不知道具体情况)。 我想完全在AWS RDS框架内完成此操作。

是否可以从MySQL内部确定AWS RDS MySQL实例的实例types?

我想知道是否可以在连接到RDS服务器时确定MySQL命令行中的实例types和存储空间。 我有一个项目,当我从查询专用开发服务器的MySQL数据库切换到客户端的AWS RDS实例(位于与托pipeWeb应用程序的EC2实例相同的可用区域)时,数据库效率就会大大降低。 不同之处在于,EC2实例在北美,开发服务器在南非,尽pipe遍历大西洋,RDS实例在密集查询中仍然大约慢了55%。 由于基础架构由第三方pipe理的托pipe服务提供商托pipe,因此我无法直接询问服务提供商已经部署了哪种实例types。 我拥有的唯一访问权限是基本授予,创build,select,更新,插入。 我无法访问AWSpipe理控制台。 假设这是可能的,有人可以请给我一些指导什么命令(S)运行来确定这一点?

以最小的停机时间改变大Innodb表上的列长度

我需要改变一个164M行的MySQL innodb表中列的长度。 这里是我想要运行的脚本:ALTER TABLE SESSION_DECISION CHANGE COLUMN NAME NAME VARCHAR(255); 当我尝试运行alter query时,数据库搅动了一个小时,并没有完成任务。 访问系统的用户(需要写入表的用户)被locking。 这是一个现场系统,所以我结束了ctrl-c的请求,让用户访问该网站。 (这是在半夜 – 使用量很小,但我感到紧张)。 我在MySQL 5.0.77。 有关如何以最less的停机时间更改列的任何build议?