Articles of mysql

mysql ndb群集 – 节点重新启动

我只是在一个相当体面的婴儿(IBM x3650 M3)上安装了一个MySQL集群,配有24GB内存,至强6核,SAS 6Gbps硬盘。 运行Debian Lenny 5. 64位。 Ndb版本是7.1.9a。 我们在MyISAM上的数据库大小约为3.2 GB。 ndbengine的Ndb_size估计是58GB。 关于我的数据库的一些信息如下。 全球共有150个常用表格。 每个客户130张桌子。 所以它是这样的,130×115(客户)= 14950表。 在一个数据库上有14000个表是正常的还是通常的? 我们这样做的原因是,易维护和每个客户端的定制。 现在的问题是,ndb集群只能支持20320个表。 但如果我没有错,它可以支持一个表中的50亿行。 我真正的头痛是我的集群数据节点不到两分钟就启动出来的任何数据。 但只要将我的表转换为ndb,那么只有2000个表,数据节点至less需要30到40分钟才能启动。 这是正常的吗? 如果我把所有的表格转换成ndb,会花费更长的时间吗? 或者让我们说,如果将我的14000个表的数据合并到一个130个表中,它会有帮助吗? 还是有什么白痴我在做什么? 我将尽快附上我的config.ini文件。 这里是我的configuration简单的概述 Datamemory = 14G Indexmemory = 3GB Maxnooftable = 14000 Maxnoofattributes = 78000 我只是先用2000个表testing这些值。 请指教,如何提高启动速度。 请指出我要出错的地方。 在此先感谢你们!

我怎样才能让MySQL 5.5将日志警告logging到其中一个日志文件?

我发现了各种各样的事情,说你可以将警告logging到MySQL错误日志中,但是我还没有真正实现它。 我有错误日志工作,和MySQL打印的东西在启动和关机,偶尔在其他时间,但如果我例如SELECT CAST('123' AS DATE); 然后SHOW WARNINGS; 我可以看到警告,但它不会显示在任何日志中。 我也尝试启用通用日志和慢速查询日志,但这些也不显示警告。 我已经尝试了log_warnings = 1和log_warnings = 2 ,但仍然没有警告被logging。 我究竟做错了什么? mysql> show variables like '%error%'; +——————–+————————–+ | Variable_name | Value | +——————–+————————–+ | error_count | 0 | | log_error | /var/log/mysql/mysql.err | | max_connect_errors | 10 | | max_error_count | 1024 | | slave_skip_errors | OFF | +——————–+————————–+ mysql> […]

Mysql InnoDB表的大小性能

我有一张接近200万条logging的表格。 该表存储交易历史。 这是一个高stream量的网站,但也没有定期访问表。 由于这个表,我们目前没有缓慢的查询,但是我期望什么时候需要将数据从这个表迁移到数据存档方法。 该服务器是一个亚马逊EC2高CPU媒体盒。 High-CPU Medium Instance 1.7 GB of memory 5 EC2 Compute Units (2 virtual cores with 2.5 EC2 Compute Units each) 350 GB of instance storage 32-bit platform I/O Performance: Moderate API name: c1.medium Engine: InnoDB Version: 10 Row_format: Compact Rows: 1677878 Avg_row_length: 71 Data_length: 120209408 Max_data_length: 0 Index_length: 246497280 Data_free: […]

删除MySQL行导致locking表错误

我有几百万行删除,但不能一次删除,没有这个错误 错误1206(HY000):锁的总数超过锁表大小 于是我写了一个脚本,一次删除100,000行。 它运行一次,但是当我第二次运行它时,第一次尝试删除10,000时出现错误。 我试图删除10,000行的方式是使用引用所有200万行的删除语句,但我使用限制子句只影响10,000。 我试过添加一个“解锁表”; 声明到第一次删除脚本之前,但这并没有帮助。 我仍然得到第一次删除锁表错误。 任何想法,我可以做到这一点? 有没有办法我可以告诉它不要lockinglogging? 我可以确保没有别的访问表。

间歇性的MySQL连接错误

我最近一直在我的服务器上得到这些错误: mysql_connect() [function.mysql-connect ]: Can't connect to MySQL server on 'xxx.xxx.xxx.xxx' (4) 我不认为这是一个凭证问题,因为用户名,密码,主机IP和数据库名称都是从平面文件configuration中读取并存储在一个PHP常量中。 另外我的错误日志告诉我,使用的凭据实际上是configuration中的。 我试图谷歌这一点,并指出我max_connections问题。 该网站仍处于testing阶段,并发用户数不超过10.我max_connections的值,它是在2048 MySQL版本是5.0.91,服务器是Gentoo Linux( version_comment说的)。 套接字文件位于/var/run/mysqld/mysqld.sock ,端口为3306 真正困扰我的是这个错误似乎是间歇性的。 当我试图重现它时,我实在无法理解它。 有人从一个站点说,错误索引(4)意味着中断的系统调用。 这是否意味着我可以将错误视为我的虚拟主机中的错误而不是我的PHP脚本?

如何每天自动从mysqldump文件创build一个SQL Server数据库?

最近,一家供应商宣布他们正在升级他们的stream程,而我们从他们那里获得的每日自动化数据转储现在将以MySQL数据转储格式进行。 不幸的是,我们只是微软的商店,所以我们不能直接导入这些文件。 所以我的问题是:如何获取数据转储文件并将其导入到SQL Server 2005实例中以创build数据库? 注意事项: 解决scheme需要自动化,不需要人工干预; 它必须是我们可以每天计划的事情,只是得到它的工作/失败的通知。 我们喜欢免费(谁不?)/已经购买的工具(例如已经是SQL Server的一部分),但是如果需要的话,我们可以购买一些东西。 我们无法控制数据或原始数据库,所以我们不能控制运行mysqldump命令,而'compatible'选项设置不同。 我们真的不想做一些事情,比如加载MySQL的本地实例来导入转储,然后将数据转储到MSSQL。 就像我刚才提到的那样,我们是一个只有MS的商店,而且我们并没有设置为支持MySQL实例,即使是像这样的自动化过程。

MySQL错误为Mac OSx

我试图在我的MAC OSX上运行mysql命令,但不断收到错误: 错误2002(HY000):无法通过套接字'/tmp/mysql.sock'连接到本地MySQL服务器(2) 我曾尝试广泛研究,但无法find合适的解决scheme。 大多数的解决scheme都提到/etc/my.cnf,但是我似乎没有把这个configuration文件放在第一位。 我很困难,已经有一段时间了。 任何帮助是极大的赞赏。

build立一个处理器selectMySQL服务器

我正在build立一个新的MySQL服务器,我可以select这两个处理器: 英特尔至强5675 AMD皓龙4284 我不知道应该select哪一个? 服务器上的负载将平均为8千万插入/月。 每个处理器的价格有很大的差别,但是关于磁盘和内存的一切都是一样的。 所以我不确定select与AMD的价格还是会真的失去很多性能不符合Intel的。 谢谢!

修改MySQL 5的innodb_data_file_path值是否安全?

我最近经历了my.cnf的这个参数的值从以下经历的数据损坏: innodb_data_file_path = ibdata1:10M:autoextend:max:128M 至 : innodb_data_file_path = ibdata1:10M:autoextend:max:256M 我不完全确定,这是因为以前数据库空间不足的原因。 我的问题是,一旦空间已满,修改DB的最大大小是否安全?

在64位CentOS上安装32位MySQL客户端库

我试图在64位的CentOS 5.3(基于RedHat 4.1.2)主机上运行一个编译的32位二进制文​​件。 二进制文件抱怨无法findlibmysqlclient.so.15。 这样的文件存在于服务器上,但它是64位,因此不好。 我可以在主机上安装32位MySQL客户端库吗? 最好以官方的方式(即通过仓库)。 如果没有,那么一个骇人的方式呢? 另外,这是一个这样的问题的适当场所? 编辑:这是一篇文章 ,确认你不能在一个过程中混合和匹配位数。 但其配方不适用于CentOS。 Wikipedia指出,CentOS派生自的RHEL能够在64位上运行一个完整的32位用户空间…系统上已经有一些32位的库 – libc等等。 只是不是MySQL。 我可以运行其他不连接到libmysqlclient的32位二进制文​​件。 有点相关。 编辑: yum search mysql说如下: Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.symnds.com * extras: mirror.symnds.com * updates: mirror.wiredtree.com addons | 1.9 kB 00:00 base | 1.1 kB 00:00 extras | 1.9 kB 00:00 […]