Articles of mysql

Ubuntu | Mysql Server 300-750%的CPU

我已经对MySQLconfiguration做了很多调整,但不幸的是,我总是会重新利用非常高的CPU。 多个MySQL进程部分在200-750%的CPU / RAM的使用率是50%左右。 系统信息: 根:HP ProLiant DL120 1Gbps / Intel四核至强X3440 – 16GB Ram / Ubuntu服务器操作系统 有3个数据库(3个站点),每个数据库有16个表| DB_1 = 35MB – 560MB DB_2 = – = DB_3 3,4GB 网站被优化(数据库查询/caching等)| 每天访问者每天约15K /天 在根目录下只运行Nginx + PHP5-FPM和mySQL,而且所有的8个处理器都被完全重载。 MySQLTuner版本: >> MySQLTuner 1.1.1 – Major Hayden <[email protected]> >> Bug reports, feature requests, and downloads at http://mysqltuner.com/ >> Run with '–help' […]

如果服务器绑定到一个IP,如何在集群内共享本地IP?

在testing设置中,我有一个在虚拟机上运行3个节点的集群。 现在我想把它带到Hetzner Online,通过交换机连接到3台专用的根服务器。 正如我发现的,他们不再提供共享IP,而是将服务器绑定到一个IP。 对于外部IP来说,这是没有问题的,因为它们提供了具有故障转移IP的备选scheme。 但是我的DB服务器是通过内部地址10.0.0.10来处理的,这导致了2个keepalived HAProxy服务器来扩展负载。 我不想为此使用外部IP。 如果我无法configuration共享IP,如何保持内部stream量,同时使用HAProxy进行故障转移? 失败的地方是: sudo sysctl -p sysctl: cannot stat /proc/sys/net/ipv4/ip nonlocal_bind: No such file or directory

延迟在Server 2012 R2上启动数据库服务

我们在过去的几天发现(当第一次出现时是未知的),当重新启动Windows 2012 R2服务器时,MYSQL和SQLAnywhere 16的服务需要20分钟才能启动。 这段时间之后,他们运行没有任何问题。 我们一直无法找出原因。 有什么想法,我们可以看看加快服务启动? 我们试图快速启动,看看哪些stream程启动时间过长,但其他一切似乎都能及时运行。 我们试图在服务器上运行Proc Mon,但是由于未知原因,我们仍然无法运行(我们仍然在这部分工作)。 我们已经禁用了各种组合的SQLAnywhere和MYSQL服务,以查看它们是否相互影响,但不是因为只有两个应用程序中的一个正在运行时问题仍然存在。 手动触发时,SQLAnywhere数据库将在几乎没有时间启动时与DBSRV16一起运行,但服务无法在没有长时间延迟的情况下启动。

在rest的MySQLencryption

上下文:Rackspace CloudServers。 我能find的选项相当渺茫。 亚马逊将encryption整个磁盘(meh),Gazzang可以encryption一个虚拟分区上只有数据库文件(如果公司还在),我可以在列级encryption数据(不好,不能search) …或者我可以使用MariaDB。 我拼命想要MySQL 5.7.9的JSON专栏,但似乎MariaDB是我唯一的好encryption选项。 除了MariaDB以外,还有其他的select可以用于表级encryption吗? MariaDB的encryption是一个很好的解决scheme吗? 云环境中的静态encryption真的值得吗?

RDS MySQL 50%的CPU使用率激增

我们有一个很大的RDS多az实例(可能对atm的目的来说太大了),但是它显示了两个峰值〜50%。 rds mysql 50%spikes截图 自从我们在6个多月前创build以来,从来没有见过这个例子上涨超过5%。 不幸的是,我没有设置慢查询日志(我现在正在这样做),错误日志是空的。 AWS状态页面显示RDS全部为绿色。 我意识到,如果没有慢速查询日志,询问反馈是毫无意义的,但至less有其他人经历过这种情况? 还有什么我可以检查? 我有多担心? PS:在这一点上,我不相信这是应用程序代码,因为我们最近没有中断/更改,也没有使用率峰值。

备份mysql数据库的最佳实践

这个问题涉及mysql备份与复制和大量数据库的最佳做法。 我正在寻找你的观点和build议:) 我 – 现状 我有两个数据库主/从(MySQL复制)在我的每个应用程序服务器上。 我有一个由客户和一个“pipe理”数据库的数据库。 目前我共有500个数据库,很快就会超过1K。 每个数据库包括大约100个表,目前,在mysqldump操作(未压缩)之后,我通过数据库到达10到30mo。 II – 我需要什么 我现在正在考虑备份这些数据库。 主要目标是肯定能够解决服务器崩溃问题并构build灾难恢复stream程,但在此之前,我更担心自己的客户将自己的数据搞乱了。 总结一下,我希望能够: 备份和恢复所有数据库,以防服务器崩溃或受到攻击。 (然后执行灾难恢复)。 备份所有数据库并恢复特定的数据库,以便在客户弄糟自己帐户的数据时恢复新的副本(假设不超过24小时)。 三 – 我目前的想法和我的问题 1 – 备份位置 数据库的备份不应该在与数据库本身相同的服务器上完成。 由于我在两台不同的服务器上使用复制,您认为在另一台服务器上备份数据是一种很好的做法吗? 或者作为专用服务器的其他解决scheme是什么?为什么? 2 – 备份过程 首先,我将按照停止临时复制和“只读”备份的原则,从备份数据库进行备份。 我想我在这里考虑两种不同types的备份。 第一个备份将是原始数据文件的备份,我将每周执行说明(因为我正在使用复制,我很安全)。 而第二种types的备份将是每24小时执行一次的每个数据库的mysqldump。 这是否合乎逻辑? 还有其他要点我应该考虑吗? 增量备份是否对我有意思? 非常感谢!

好奇的情况下高5分钟的平均负载

在这里寻找一些专家的build议。 我是第一次在我自己的服务器上的系统pipe理员,我无法find我的服务器的瓶颈。 我已经收到CSF的高达5分钟的平均警报,范围在8 – 80之间 所以我继续在我的服务器上安装sqltuner,让它运行3天 结果没有显示任何exception,但我仍然得到高5分钟平均每天 我试图find瓶颈(CPU,内存不足问题或I / O限制负载引起的负载) 如果有人可以分享任何见解,会激发… (我已经包含sqltuner的报告和下面的高负载电子邮件输出) ——– Security Recommendations ——————————————- [OK] There are no anonymous accounts for any database users [OK] All database users have passwords assigned [!!] There is no basic password file list! ——– Performance Metrics ————————————————- [–] Up for: 120d 18h 27m 20s (227M q [21.795 […]

MySQL从服务器索引文件损坏

我有一个MySQL主从复制对,并采取备份,我运行一个脚本,停止奴隶,转储数据库,然后重新启动奴隶。 但是,重新启动之后,由于/var/lib/mysql/mysql.index文件损坏了从属服务器的MySQL守护进程( mysqld ) – 即在最后一行的索引文件名前加上了“^ @”字符,从而使得索引文件不可读。 只需删除这些字符,就可以正常启动MySQL,然后复制就可以正常进行。 实际的数据库表中没有数据损坏,就在这个单一的索引文件中。 备份脚本的相关部分(编辑): mysqladmin -uroot -p${PASSWORD} stop-slave >> $LOGFILE # Lock the database mysql -uroot -p${PASSWORD} -e 'FLUSH TABLES WITH READ LOCK' # Backup live accounts mysqldump -uroot -p${PASSWORD} –routines ${LIVEDB} > ${BACKUPDIR}/${LIVEDB}.sql mysqldump -uroot -p${PASSWORD} –routines ${OTHERDB} > ${BACKUPDIR}/${OTHERDB}.sql # Unlock the database mysql -uroot -p${PASSWORD} -e […]

无法使用PHP在ownCloud上login到MySQL – SQLSTATE 访问被拒绝

我每次尝试将我的ownCloud实例连接到我的MySQL数据库时,都会收到一个SQLSTATE[28000] [1045] Access Denied错误,如<user>@localhost 。 这是一个干净的,新安装的Ubuntu服务器与LAMP堆栈副本。 经过以下步骤,我已经尝试过,已经尝试debugging此问题我已经尝试从头开始干净的安装,仍然没有运气(也尝试所有下面的步骤)。 我试过的东西: 最初使用新创build的用户owncloud和随机字符密码,并使用(用户已被授予访问数据库和权限已被刷新)。 使用mysql -u owncloud -p在terminal上login,效果很好。 像上面这样login,但用-h localhost ,也可以正常工作。 尝试testing的缘故,以我的根MySQL用户设置owncloud。 在terminal上使用mysql -u root -p -h localhostlogin,当然还有-h localhost 。 使用127.0.0.1而不是localhost作为root和owncloud用户。 使用ownCloud以前的版本(8.2.2和8.2.3而不是9.0.0)。 从另一个ownCloud实例(我试图在这个新的服务器上复制旧的位置)重用以前的configuration文件,但这会导致内部服务器错误 – 很可能是由于无法访问数据库。 用Drupal 8replace/var/www/owncloud目录中的所有文件 – 在Drupal中使用相同的MySQL用户和表创build一个testing站点(两者都有owncloud ),这很奇怪。 从旧的服务器/var/www/owncloud SQL转储和/var/www/owncloud中的文件的副本,将它们放在新的服务器上,并连接到数据库的罚款(尽pipe因为我有一个大的data目录,主要有缺陷,所以我没有'我可以尝试,但如果我必须,但这不是这个testing的重点)。 我已经完全运行了想法,尝试了很多关于ownCloud上这个错误的专门Googlesearch,但是他们似乎都是没有正确设置密码或忘记密码的人。 我知道我的密码确实是正确的,因为他们在terminal中工作(我已经使用了精确的复制和粘贴)。 对于那些有兴趣的,我使用的是:Ubuntu 14.04.3 LTS 64位,PHP5,MySQL V14.14 D5.5.47和ownCloud 9.0.0。 任何想尝试的新想法都非常受欢迎! 谢谢 :)

MariaDB完全忽略了根密码

我刚刚在昨天下载的一个新的Ubuntu上安装了MariaDB(mysqld)。 然后我跑了脚本 /usr/bin/mysql_secure_installation 并设置新的root密码并禁用无密码login。 然而,这不起作用,所以我尝试从命令行: root@www:~# mysqladmin password whatever root@www:~# mysql -uroot Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 35 Server version: 10.0.24-MariaDB-7 Ubuntu 16.04 Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the […]