我们发生了一场重大的灾难,有人在生产数据库上做了一个不受控制的更新,很明显,备份过程很长一段时间没有运行,所以造成了重大的数据丢失。 一个四千万行的表格现在已经满了垃圾了。 有没有人有一个想法来恢复数据? 例如,一个使用文件系统恢复的工具? 事实: ext3 fs(在Debian上) InnoDB引擎(在Mysql 5.0上) 老实说,这不是我们公司发生的第一次重大灾难,但这个很容易成为最后一个。 我们通常想出一些想法来挽救一天,但是这一次,我真的没有想法。 Clusterf * CK … 编辑:更新语句没有在哪里后发生的问题。 问题是,在星期一下午和星期二上午(法国时间)之间发生了问题,并且由于各种原因,今天才被发现(应用程序提供了一个同步工具,所以新数据插入了现在丢失的数据,但是外键另一张桌子现在完全打破)。 所以实际上,表中的几乎所有行(除了新插入的)都包含相同的数据(id列除外)。 关于ibdata *和ib_logfile *,我停止了复制的服务器,所以它们保持现在的状态。 我无法停止主服务器上的数据库来复制文件。
我注意到PostgreSQL和MySQL默认有100个客户端连接限制。 我想知道是否应该把它关掉,因为Web服务器在同一个盒子上,我只有大约20个PHP进程需要连接。 如果这个设置匹配或者超过了将要尝试连接的进程的数量?
我想要从一个数据库中导出某些表并将它们导入到另一个数据库中。 有问题的表格用于我的MediaWiki安装,并以“wiki_”为前缀。 我没有访问phpMyAdmin,但我可以通过SSH连接到服务器。 我猜我需要使用mysqldump命令,但是如何指定我只想转储以“wiki_”为前缀的表?
我想修复+优化我的MySQL数据库每周一次! 我怎么能这样做?
我在Ubuntu上运行MySQL 5.5。 在/ etc / mysql /中有一个my.cnf文件,我希望它是。 太好了! 对于mysql的debian安装,build议不要编辑my.cnf文件。 /etc/mysql/my.cnf文件中有一个IncludeDir指令,用于查看/etc/mysql/conf.d/文件夹中的更多选项文件。 当我把这个文件放在这里时: /etc/mysql/conf.d/my-local.cnf MySQL读取文件并覆盖/etc/mysql/my.cnf中的所有内容。 大! 🙂 这是问题: 我在源代码控制中保留/etc/mysql/conf.d/my-local.cnf文件的本地副本,并且想要定期更新整个团队。 所以,我的解决scheme是符号链接: cd /etc/mysql/conf.d/ ln -s /path/to/my/my-local.cnf my-local.cnf MySQL不读这个符号链接。 我已经validation了以下内容: 物理文件和符号链接都具有.cnf文件扩展名,按照mysql的手册。 mysql用户可以访问这个文件 每个用户都可以访问这个文件 mysql用户可以访问符号链接 每个用户都可以访问符号链接 所以总而言之,当/etc/mysql/conf.d/文件夹中有一个物理文件时,MySQL将会读取和parsing。 Mysql不会读取此文件夹中的符号链接。 任何想法的人? 这可能是一个debian / Ubuntu的问题? 这里概述了一个类似但未解决的稍有不同的问题。
我有一个MySQL服务器与另一台主机上的从属复制。 今天,我偶然发现了从属主机的高磁盘使用率,并侵入了占用所有空间的东西。 事实certificate,这个空间被奴隶继电器日志占用。 我试图closuresexpire_logs_daysvariables并重新启动MySQL守护进程,但报告的磁盘空间保持不变。 我无法find任何可以清除旧日志的FLUSH LOGS 。 我试过没有结果。 有什么办法可以减less中继日志占用的磁盘空间吗?
我一直在使用LVM快照来备份MySQL数据库。 FLUSH TABLES WITH READ LOCK被发出,然后lvcreate –snapshot –size 4G等。由于数据库在快照处于活动状态时处于活动状态,因此snap_percent (用于跟踪文件系统原始状态的快照存储量拍摄快照的时间)开始增加。 这个snap_percent是每天都进行监控的,如果达到80%,这个–size就会增加。 我的问题是ZFS中是否有等效的统计信息或属性,用于确定快照消耗的空间量占池中剩余空间的百分比? 很明显,我不需要将–sizeparameter passing给zfs snapshot但是如何确定基于该快照的克隆是否接近池的限制。 希望这是有道理的,现在看来,这听起来像是一个复杂的问题。
MySQL版本:5.1.63。 我即将放弃一个更大的〜8 GB的InnoDB表。 上个星期,我把另一台机器上的桌子放了四倍大,一个全球锁就把我们拖了90秒。 我怀疑它必须与table_cachelocking。 任何人都如何使这个DROP更顺利的input? 首先删除小批量,然后截断它,最后一个DROP TABLE ? 很显然,如果可能的话,我想保留这个数据库。 我也一直在考虑在下降之前使缓冲池变小。 我很乐意听取您的意见。
我们即将把现有系统从相同EC2上的本地MySQL实例迁移到适当的远程Amazon-RDS。 不幸的是,有一个称为Median的function缺lessMySQL。 我们现有的代码库正在使用MySQL Infusion UDF来实现计算Medians。 现在我们处于两难境地,可以在RDS上安装这些扩展吗? 我相信RDS是不是真的像一个EC2,你可以SSH和安装的东西。 另外有没有办法做到这一点MySQL median没有使用扩展?
我有一个在AWS上运行的Java Web应用程序,并连接到在AWS RDS上运行的MySQL数据库。 我的应用程序使用由我们自己的CA签署的SSL客户端证书连接到各种Web服务,所以我已经设置了-Djavax.net.ssl.keyStore和-Djavax.net.ssl.trustStore系统属性。 我已经将https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem证书添加到我的trustStore ,并且可以通过命令行客户端使用SSL连接到MySQL。 我的MySQL连接string如下所示: jdbc:mysql://my-server-id.eu-west-1.rds.amazonaws.com/my-database?verifyServerCertificate=true&useSSL=true&requireSSL=true 我正在使用mysql:mysql-connector-java:jar:5.1.38来运行JBDC连接。 我发现当我设置trustStore时,我的Java应用程序可以将OK连接到MySQL,但在设置keyStore和trustStore时失败: ! javax.net.ssl.SSLException: Unsupported record version Unknown-0.0 ! at sun.security.ssl.InputRecord.checkRecordVersion(InputRecord.java:552) ~[na:1.8.0_91] ! at sun.security.ssl.InputRecord.readV3Record(InputRecord.java:565) ~[na:1.8.0_91] ! at sun.security.ssl.InputRecord.read(InputRecord.java:532) ~[na:1.8.0_91] ! at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973) ~[na:1.8.0_91] ! at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375) ~[na:1.8.0_91] ! at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403) ~[na:1.8.0_91] ! at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387) ~[na:1.8.0_91] ! at com.mysql.jdbc.ExportControlled.transformSocketToSSLSocket(ExportControlled.java:149) ~[user-portal-web-0.0.1.jar:0.0.1] ! … 40 common frames omitted 看来Java正在向MySQL提交我的私有CA签名的客户端证书,这是拒绝它的。 […]