Articles of mysql

如何通过从数据库分区到分片来扩展?

说我有一个MySQL表: CREATE TABLE tweets ( tweet_id INT NOT NULL AUTO_INCREMENT, author_id INT NOT NULL, text CHAR(140) NOT NULL, PRIMARY KEY (tweet_id) ) PARTITION BY HASH(tweet_id) PARTITIONS 12; 一切都很好。 该表位于单个服务器上 – Server1。 但最终我可能要扩大规模。 所以我想分割表并将12个分区中的6个分区移动到新的服务器 – Server2上。 1)有没有什么快捷方式将这些分区从Server1移动到Server2? 2)现在我有2个服务器,我如何确保2个服务器生成的自动增量tweet_id的值不一样? 我还需要确保每个分区上的tweet_id保持一致,即在分区k上,每个tweet_id的模12等于k。 3)理想情况下,我想继续这个扩大的过程。 所以稍后我想添加第三个服务器 – Server3。 我想重新平衡分区,使每个服务器上有4个分区。 再次如何确保由3个服务器生成的自动增量tweet_id是不同的,并且tweet_id的哈希在每个分区内保持一致?

MySQL服务器将无法启动

我有一个两个奴隶复制的主人。 我在my.cnf添加了两个数据库用于复制,并执行了像locking表一样读取,备份和恢复数据库到从属的标准过程。 现在我正在尝试重新启动我的主MySQL服务器,并得到错误: MySQL manager or server PID file could not be found! [FAILED] Starting MySQL.Manager of pid-file quit without updating fi[FAILED] 错误日志的输出如下所示: 100914 09:22:43 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/var 100914 9:22:43 [Warning] The syntax '–log' is deprecated and will be removed in MySQL 7.0. Please use '–general_log'/'–general_log_file' instead. /usr/local/mysql/libexec/mysqld: File '/usr/local/mysql/var/mysql-bin.index' […]

mysql my.cnf为一个50GB的RAM服务器

我的数据库服务器上有加载问题(双核四核50 GB RAM) 平均负载:4.26,6.78,11.25 这里是目前的my.cnf,我可以优化它吗? [client] port = 3306 socket = /var/run/mysqld/mysqld.sock [mysqld_safe] socket = /var/run/mysqld/mysqld.sock nice = 0 [mysqld] user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp language = /usr/share/mysql/english skip-external-locking key_buffer = 150M key_buffer_size = 512M max_allowed_packet = 16M thread_stack […]

在主从环境中复制数据库

我有许多大型数据库,每个350Gb +都有超过100个表格。 它们主要是MyISAM表格,其中有一些InnoDB表格被扔进去。 平台: – Linux,MySQL 5.1,MyISAM + InnoDB表(打开file_per_table选项) 我需要在主服务器上复制这些数据库,并且在从服务器上正确反映了这些重复,并且遇到了一些问题。 做一个mysqldump然后恢复是成功的,但非常缓慢,需要很长时间才能跟上。 做一个直接的数据文件拷贝似乎不工作,因为information_schema不能准确地反映复制的数据库 – 在某些情况下,即使myisamchk能够检查和修复索引成功。 有没有办法执行的数据文件的磁盘副本,并让information_schema准确地反映复制的数据库,或者我只是将不得不包容它,坚持转储/恢复选项? 如果我可以用这种方式复制数据库,我可以在不破坏复制状态的情况下对从站执行相同的步骤吗? 在此先感谢,戴夫

MySQL服务器:最频繁的请求

我想知道是否有反正我可以在MySQL服务器上显示最频繁的SQL查询以便memcache它。

即使我没有提供-pXXXX参数,为什么我会得到“使用密码:YES”错误?

我收到此错误时 softweb:~ # mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 我甚至没有input密码,它告诉我,我给了一个。 在my.cnf文件中没有login保存。 如果我将密码更改为我之前可以login的密码,而不写入-pXXXX所以我的问题是我不希望在没有明确写入-pXXXX情况下login。 我试图完全卸载MySQL并重新安装(擦除一切,我可以发现,它与MySQL有关),但它仍然有某种方式,保存密码。 我正在使用SLES 11 SP1和5.1.51社区MySQL社区服务器。 任何帮助将非常感激。

Mysql慢速查询日志已打开但不logging任何内容

运行: Ubuntu服务器10.04 MySQL 5.1.41 我在/etc/mysql/my.cnf中有以下内容 slow_query_log = 1 slow_query_log_file = /var/log/mysqld/log-slow-queries.log long_query_time = 1 日志文件应该是可写的 drwxrwxrwx 2 mysql mysql 4096 2010-10-20 13:41 mysqld -rwxrwxrwx 1 mysql mysql 0 2010-10-20 13:41 log-slow-queries.log 没有什么显示在日志或mysql.slow_log表中。 它看起来像启用 mysql> show variables like '%SLOW%'; +———————+————————————–+ | Variable_name | Value | +———————+————————————–+ | log_slow_queries | ON | | slow_launch_time | 2 | […]

如何使用基于VSS的备份解决scheme安全地备份MySQL

我的一个客户在Windows Server 2008系统上运行MySQL。 他们的常规备份是使用StorageCraft的ShadowCopy执行的,ShadowCopy使用VSS服务来执行打开文件的备份。 有些调查表明,MySQL并不完全支持VSS,并且需要在影子操作之前locking表格,然后再解锁。 在http://forum.storagecraft.com/Community/forums/p/548/2702.aspx上有一个post,指出了需要执行的步骤,但是用户在执行这些步骤时遇到了一些困难,并且没有后续的解决scheme曾经发布。 具体来说,他们成功地编写了一个batch file来locking数据库,但是一旦batch file从MySQL返回,就会丢弃连接,从而放弃locking。 我正在寻找一种方法,我可以发送MySQL命令FLUSH TABLES WITH READ LOCK ,然后执行备份,然后在备份完成时发送UNLOCK TABLES 。 或者,我可以从备份中排除MySQL数据存储文件夹,并将mysqldump备份安排到一个文件夹中,然后由VSS进行备份。 我能有一些build议吗?

未findmysqlimport文件错误

我正在按照本页上的说明设置一个用于基因注释的本地数据库。 他们提供一个.sql文件来创build一些MySQL表结构(步骤4)和几个数据文件来填充表(步骤5-7)。 我已经通过步骤5完成了安装过程,但在步骤6中出现了错误。令人不安的是,我得到的错误与我执行mysqlimport命令的目录不同。 standage@farnsworth:~$ mysqlimport -u wendel2go -p –fields-terminated-by='\t' b2g Desktop/gene2accession Enter password: mysqlimport: Error: 13, Can't get stat of '/var/lib/mysql/Desktop/gene2accession' (Errcode: 2), when using table: gene2accession standage@farnsworth:~$ cd Desktop/ standage@farnsworth:~/Desktop$ mysqlimport -u wendel2go -p –fields-terminated-by='\t' b2g gene2accession Enter password: mysqlimport: Error: 29, File '/var/lib/mysql/b2g/gene2accession' not found (Errcode: 2), when using table: gene2accession 当我search这个错误时,我没有得到非常有用的结果。 有任何想法吗? […]

MySQL忽略my.cnf

我刚刚在my.cnf中设置了一些innodb设置,然后重新启动了服务器,但是没有生效。 什么是正确的方法来做到这一点? 我做了: sudo vi /etc/mysql/my.cnf 保存文件,然后运行sudo /etc/init.d/mysql restart