每当我做一个备份,我得到这个错误。 我检查了networking的这个错误,并做了以下的事情: 在MySQL \ Temp中创build一个文件夹,并将MySQL临时目录path的临时目录更改为新创build的文件夹,并从Antivirus Scan中排除新创build的文件夹。 给予新创build的临时文件夹的完全权限。 可用空间分配给该驱动器。 即使做了这些改变,我也无法进行备份,而这种情况每次都在发生。 还有什么我错过了这个吗?
INNODB自动创build一个外键字段的索引。 有没有一个存储引擎,允许我禁用? 我在xtradb上search并没有给我正面的结果。 也许,在Mariadb / Drizzle中是可能的? 有任何想法吗?
我在Linux(Debian)盒子上写了一些PHP和MySQL脚本(在LAMPP上运行)。 请求大约2000个MySQL行在大约0.001秒内执行并返回数据的页面,更新此MySQL表的循环脚本(multithreading)在后台运行,每个循环使用约10秒。 我们刚刚升级了我们的盒子(全新的PC),在CPU上获得了四倍的RAM和更高的时钟速度。 这个盒子安装了Windows Server 2008(和XAMPP)。 在Linux上运行的脚本完全相同,现在可以在Windows上运行,但是: 从MySQL获取信息的页面花费5-10秒来返回数据 在Linux上花费10秒的循环现在使用60-80秒 如果Apache正在运行,则循环冻结(或者每个循环使用超过30分钟) 究竟是怎么回事? 在Windows上运行PHP和MySQL有一个已知的问题吗? 如果不是的话,那么我怎么去弄清楚为什么每一个小命令都是在100秒钟内将CPU抽成几秒钟,当他们在0.001秒的时间内在较小的指定的Linux机器上完成而不打扰CPU呢? 大部分我想知道; 我们有Windows责任或新的盒子? (如果我们在新盒子上安装了Linux,结果如何?)
我发现自己需要在4000+ DB的MySQL服务器和第一个从设备之间build立主从复制。 该数据库目前正在处理生产工作量,并且启动复制必须完成而不会导致停机。 有没有工具或经过testing的程序来做到这一点? (以最小的locking转储所有的数据,并完全准确地保存master的binlog位置?) 到目前为止,我一直在琢磨数据库,同时保存binlog的位置,将数据加载到slave,然后用所有已加载数据库的replicate-do-db启动slave,一旦停止复制就停止复制已经赶上,冲洗,重复…但我不是100%肯定这是做到这一点的最好方法。 谢谢,拉雷斯 后来编辑:表大多是MyISAM,但有一些InnoDB。
我试图安装这个名为socialengine的应用程序,除了在mysql屏幕上,我一直在收到这个错误 The MySQL storage engine is not installed. 我注意到我的袜子文件在这里 mysqld –verbose –help | grep ^socket 110602 10:06:06 [Note] Plugin 'FEDERATED' is disabled. socket /var/run/mysqld/mysqld.sock 所以它似乎在运行 所以在线阅读,我想我可以通过添加到我的vim /etc/mysql/my.cnf文件来解决这个问题 [client] port = 3306 socket = /var/run/mysqld/mysqld.sock [mysqld_safe] socket = /var/run/mysqld/mysqld.sock nice = 0 [mysqld] key_buffer = 224M sort_buffer_size = 4M read_buffer_size = 4M read_rnd_buffer_size = 4M myisam_sort_buffer_size […]
我有一个系统,用户经常向我的服务器提交工作。 一次有1500个活动,每分钟提交大约6000个工作单位。 我一直在使用一个大表来总结工作,然后当一个解决scheme运行时,数据库清除旧的工作,以保持大小的可pipe理性。 我的目标是将表格分成两部分:工作台和15分钟的日志。 工作计数器表将对每个工作提交(主键是worker_id,solution_id)运行UPDATE,每次提交工作时将第三列递增1。 所有的更新命令将使用worker_id和solution_id作为WHERE子句,所以它将始终是主键对。 日志表将存储3列:worker_id(INT),submit_time(时间戳),有效(ENUM('Y','N'))。 每一分钟,表格都会有一个查询,删除超过15分钟的信息。 我目前的计划是使用InnoDB作为计数器表格,并使用MEMORY表格作为日志。 对于每张桌子的目的,这些是引擎的正确select吗? 时间戳日志并不重要,所以如果表由于重新启动而丢失,那就不成问题了。
我们有一个虚拟化的LAMP + memcached + nginx设置,经过几个月前的一些调整后,直到最近(3-4个星期前)才performance良好。 在高峰时间,服务器变得几乎无法访问,通常与nginx给500 – 尽pipe我原来的评估似乎没有超时相关,因为这经常发生在一两秒钟内。 看看我们的munin图,MySQL似乎是罪魁祸首,但我不明白为什么。 在此之前,每秒查询次数会像预期的那样在高峰时间上升,最终达到一个可控的高峰,并在几小时后消失。 现在,尽pipe峰值并不比以前高,但是一旦峰值达到峰值,性能坦克就会出现,如吞吐量和查询/秒指标所反映的那样。 CPU至less有50%空闲,有几个内存仍未使用,并且没有交换或I / O争用。 缓慢的MySQL查询以每秒0.01-0.02的速度上升,并且很less有超过15个线程同时运行。 我注意到的一件事情是,与这些情节中的每一个相对应的MySQL磁盘写入略微(2-4K块/秒)的增加,尽pipe我不能直接看到连接是什么,但我必须相信这是相关的。 mysqltuner提出了一些与内存有关的更改,主要有以下几点: query_cache_limit (> 4M, or use smaller result sets) sort_buffer_size (> 32M) read_rnd_buffer_size (> 32M) innodb_buffer_pool_size (>= 9G) 我很难评估这些变化可能会产生什么影响,或者主要的问题是什么,我可以发现没有明显的争议。 数据库的主要部分是约1000万用户logging和相关数据,其中每天访问约150万,每月约130万。 任何意见如何进行表示赞赏。 附录:看起来nginx通常是以“24:太多打开的文件”失败的,包括试图与Apache交谈的时候。 ulimit说nginx的文件句柄限制是1024 – 这是不是太less? 附录2 /答案:好吧,尴尬,我find了我自己的问题的答案,这与上面的附录有关。 Nginx的同时打开的文件句柄的限制设置为1024.因此,许多向Apache发出的请求从未交付,导致MySQL吞吐量自然下降 – 这不是因为MySQLperformance不佳,而是因为有这么多的请求做了这么多。 这并不能解释磁盘活动的增加,但可能在问题出现之前,这种活动总是存在 – 可悲的是,性能图不能回到那么远。 无论如何,我加了“worker_rlimit_nofile 2048” 到nginx.conf,它覆盖了ulimit认为最大的文件句柄,性能已经恢复。 如果有人遇到这个问题,那么这就是答案。 ;) (为了logging,我不能/实际上/回答我自己的问题,因为这个问题太新了。)
我有一个EC2实例,并试图将mysql数据目录从默认驱动器移动到另一个EBS卷。 我将/var/lib/mysql的mysql目录移动到了新目标,然后修改了my.cnf文件以将数据目录指向新的位置。 然后我试图重新启动MySQL我收到以下消息。 MySQL Daemon failed to start. Starting mysqld: [FAILED] 我正在运行一个新的EC2实例附带的Linux的默认分配。 以下是my.cnf文件和mysqld.log详细信息。 有什么我可能做错的build议? my.cnf中 [mysqld] #datadir=/var/lib/mysql datadir=/root/appfinder/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid 设置文件夹的权限 chmod -R 777 /root/appfinder/mysql mysqld.log 110616 18:37:53 mysqld_safe Starting mysqld daemon with databases from /root/appfinder/mysql /usr/libexec/mysqld: Table 'plugin' is read […]
有一个与MySQL服务器上的FreeBSD框。 系统时间正确 – 对于丹麦(欧洲/哥本哈根)目前是夏令时。 # date Fri Jun 17 12:09:56 CEST 2011 MySQL服务器的时区设置为SYSTEM mysql> show variables like 'time_zone'; +—————+——–+ | Variable_name | Value | +—————+——–+ | time_zone | SYSTEM | +—————+——–+ 1 row in set (0.00 sec) 时间是2个小时 mysql> SELECT NOW(); +———————+ | NOW() | +———————+ | 2011-06-17 10:12:24 | +———————+ 1 row in set […]
我正在尝试在安装了Windows 7的本地机器上testing网站。 我想使用命名pipe道连接到MySQL服务器,但mysql_connect()似乎引发错误: [2002] No connection could be made because the target machine actively (trying to connect via tcp://localhost:3306) 由于某些原因,它仍然使用TCP。 我正在testing一个简单的PHP(5.3)脚本: <?php mysql_connect("localhost", "root", "password") or die(); echo "It works!"; ?> MySQL客户端工作正常。 这只是PHP的一个问题(注意:使用TCP代替工程)。 这是我在my.ini中的 : [client] pipe socket=mysql [mysqld] skip-networking enable-named-pipe socket=mysql 我试图在php.ini中设置这些variables: pdo_mysql.default_socket = mysql mysql.default_socket = mysql mysqli.default_socket = mysql