Questions tagged «mysql-5.5»

MySQL 5.5版-出于搜索目的,请同时加上mysql标签。

5
可以使MySQL使用多个内核吗?
我看到了一些专用的MySQL服务器,它们从未使用过多个内核。我比MySQL的DBA开发人员更多,因此需要一些帮助 设定 这些服务器非常繁重,并带有OLAP / DataWarehouse(DW)类型的负载: 主:96GB RAM,8核心+单个RAID 10阵列 测试:具有4核的32GB RAM 最大的数据库为540 GB,总容量约为1.1TB,大部分为InnoDB表 Solaris 10 Intel-64 MySQL 5.5.x 注意:最大的数据库是从OLTP DR服务器复制的数据库,而DW就是从中加载的。它不是完整的DW:仅持续6个月到6周,因此它比OLTP DB小。 在测试服务器上的观察 3个独立的连接 每个都有一个并发的(并且不同) ALTER TABLE...DROP KEY...ADD INDEX 这3个表格分别有2.5、3.8和450万行 CPU使用率上升至25%(一个核心已满),并且没有更高 3个ALTER需要12-25分钟(最小的一个需要4.5分钟) 问题 要使用多个内核需要什么设置或补丁? 也就是说,为什么MySQL不使用所有可用的内核?(与其他RDBMS一样) 是复制的结果吗? 其他注意事项 我了解RDBMS“线程”和OS“线程”之间的区别 我不是在问任何形式的并行性 InnoDB和线程的一些系统变量不是最优的(寻找快速的胜利) 短期而言,我无法更改磁盘布局 可以根据需要调整操作系统 最小的桌子上的单个ALTER TABLE需要4.5分钟(震惊IMO) 编辑1 两者的innodb_thread_concurrency都设置为8。是的,这是错误的,但不会使MySQL使用多个内核 innodb_buffer_pool_size在主数据库上为80GB,在测试中为10GB(另一个实例已关闭)。现在可以了。 innodb_file_per_table =开 编辑2 innodb_flush_log_at_trx_commit = …

3
ALTER TABLE-重命名列
这真让我发疯! 我想将博客表中的列从read-more重命名为read_more 我尝试了所有这些: ALTER TABLE blog RENAME COLUMN read-more to read_more; ALTER TABLE blog CHANGE COLUMN 'read-more' 'read_more' VARCHAR(255) NOT NULL; 我总是得到这个! ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near …
102 mysql  mysql-5.5  mysql-5 

3
为什么InnoDB将所有数据库存储在一个文件中?
MyISAM过去很方便地将每个表存储在相应的文件中。InnoDB在很多方面都取得了进步,但是我不知道为什么InnoDB将所有数据库存储在一个文件中(ibdata1默认情况下)。 我知道InnoDB将按表的各个索引文件映射文件中数据的位置,但是我不明白为什么它将所有数据混合在一个文件中。更重要的是,为什么要混合服务器上所有数据库的数据? MyISAM的一个有趣功能是可以将数据库文件夹复制/粘贴到另一台计算机上,然后使用该数据库(无转储)。

3
mysql中On Delete Cascade和On Update Cascade之间的区别
我在MySQL数据库中有两个表parent,child。我试图基于父表将外键引用添加到我的子表中。有没有之间的任何显著差异ON UPDATE CASCADE和ON DELETE CASCADE 我的父母表 CREATE TABLE parent ( id INT NOT NULL, PRIMARY KEY (id) ) ENGINE=INNODB; 我的问题是:以下sql查询之间有什么区别。 ON DELETE CASCADE CREATE TABLE child ( id INT, parent_id INT, INDEX par_ind (parent_id), FOREIGN KEY (parent_id) REFERENCES parent(id) ON DELETE CASCADE ) ENGINE=INNODB; ON UPDATE CASCADE CREATE TABLE child …

4
MySQL错误读取通信数据包
在MySQL错误日志中,我看到了如下这样的警告: 120611 16:12:30 [Warning] Aborted connection 2619503 to db: 'db_name' user: 'user_name' host: 'webapp_hostname' (Got an error reading communication packets) 尚未注意到任何数据丢失本身,因此我想知道此警告的含义或原因,以及是否可以解决引起这些问题的问题。这是在RHEL 6.1和MySQL Enterprise 5.5上。
42 mysql  mysql-5.5 

2
InnoDB:错误:升级到mysql 5.6后找不到表“ mysql”。“ innodb_table_stats”
我从5.5升级到mysql 5.6,现在我的日志在启动时满是此类消息 我在这里找到了可能的解决方案,但它似乎并不正式。 http://forums.mysql.com/read.php?22,578559,579891#msg-579891 2013-12-06 21:08:00 7f87b1d26700 InnoDB: Error: Table "mysql"."innodb_table_stats" not found. 2013-12-06 21:08:00 7f87b1d26700 InnoDB: Recalculation of persistent statistics requested for table "drupal"."sessions" but the required persistent statistics storage is not present or is corrupted. Using transient stats instead. 2013-12-06 21:08:07 7f903c09c700 InnoDB: Error: Table "mysql"."innodb_table_stats" not found. …

1
间歇性MySQL崩溃,错误为“致命错误:无法为缓冲池分配内存”
在编辑中添加,2013-05-29:因为这是一个很长的问题和讨论,所以这里是问题和解决方案的简短摘要。我在小型Linux服务器(1 GB内存)上运行MySQL和Apache时遇到问题。Apache一直要求更多的内存,因此,操作系统总是杀死MySQL来重新获得其内存。 解决方案是用Lighttpd替换Apache。完成此操作后,服务器上的内存使用情况已经完全稳定了几个月,而且还没有发生任何类型的崩溃。编辑结束 我是小型虚拟服务器的初学者系统管理员。服务器的主要功能是运行用PHP编写的开源Moodle课程管理系统软件。它依赖于数据库(在本例中为MySQL)和Web服务器(在本例中为Apache)。 该服务器正在运行64位CentOS 5.8版(最终版),具有1 GB内存和200 GB磁盘,内核版本为2.6.18-308.8.2.el5xen。MySQL版本是版本14.14 Distrib 5.5.25,适用于使用readline 5.1的Linux(x86_64)。 我不认为Moodle软件是MySQL的重度用户。当前,只有大约十个教师可以访问它,并且当我使用bzip2转储并压缩整个数据库时,生成的转储大小小于1 MB。 我几个月前就建立了系统。Apache服务器一直保持稳定,但是MySQL崩溃了好几次。我尝试从Web上了解最佳配置,而上次更改/etc/my.cnf文件时,我/usr/share/doc/mysql55-server-5.5.25/my-large.cnf以MySQL随附的文件为例。该文件说这是针对具有512 MB内存的系统的,所以我认为使用与内存相关的配置参数对该系统来说是安全的。(我之前用较小的数字配置了MySQL的与内存相关的参数,我认为这可能导致崩溃。尽管仍然发生崩溃,但现在系统至少要快一些。)这些是当前的内容/etc/my.cnf: # /etc/my.cfg # The main and only MySQL configuration file on [WEBSITE ADDRESS REDACTED]. # Last updated 2012-09-23 by Teemu Leisti. # Most of the memory settings are set to be the same as the …


4
MySQL InnoDB崩溃验尸
MySQL今天早上对我崩溃了。 除了标准的MySQL随附数据库外,我使用的都是InnoDB。 我尝试重新启动MySQL守护程序,但失败两次。 然后,我重新启动了整个服务器,MySQL正确启动,并且自此以来一直运行良好。 初始崩溃的mysqld日志文件包含以下内容: 120927 10:21:05 mysqld_safe Number of processes running now: 0 120927 10:21:06 mysqld_safe mysqld restarted 120927 10:21:12 [Note] Plugin 'FEDERATED' is disabled. 120927 10:21:12 InnoDB: The InnoDB memory heap is disabled 120927 10:21:12 InnoDB: Mutexes and rw_locks use GCC atomic builtins 120927 10:21:12 InnoDB: Compressed tables …

5
如何正确杀死MySQL?
我安装了带有CPanel的CentOS 64位,并且使用: service mysql stop 它只是保持滴答作响,似乎从未停止过。在日志中,它仅发布了许多内容: 130303 17:42:38 [Warning] /usr/sbin/mysqld: Forcing close of thread 在err.log文件中,我看到了很多这些: [Warning] /usr/sbin/mysqld: Forcing close of thread 它曾经是即时的。任何想法为什么这样做以及如何解决? 现在我必须做,killall -9 mysql但是有更好的方法吗? 服务器也非常活跃。 这是配置问题吗?记忆设置是否太高? [mysqld] default-storage-engine=MyISAM local-infile=0 symbolic-links=0 skip-networking max_connections = 500 max_user_connections = 20 key_buffer = 512M myisam_sort_buffer_size = 64M join_buffer_size = 64M read_buffer_size = 12M …

3
innodb_file_format梭子鱼
对于那些比较熟悉的人,我有几个问题。尽管有梭子鱼的支持,我的大多数实例仍在运行Antelope。 我一直在寻找一些压缩innodb表的方法。我的理解是,这仅在梭子鱼格式下可用。 我看到innodb_file_format是动态的,因此我可以不跳动地切换。我应该意识到这样做的任何含义。我只能说意味着将使用该格式创建新表或随后更改的表。这一切正确吗? 我希望不必经历所有表的转换。犹太洁食器是否在同一表空间中同时存在羚羊和梭子鱼表?即使有效,也有什么需要注意的地方吗? 从我阅读并从测试中收集的信息来看,答案是:是的。是。我不确定。 更新资料 自这篇文章发布以来,我一直在各种实例中运行一些动态表和一些压缩表。此外,我 当时忽略了阅读http://dev.mysql.com/doc/refman/5.5/en/innodb-file-format-identifying.html。 启用给定的innodb_file_format后,此更改仅适用于新创建的表,而不适用于现有的表。如果您确实创建了一个新表,则包含该表的表空间将被标记为具有该表功能所需的“最早”或“最简单”的文件格式。例如,如果启用文件格式梭子鱼,并创建未压缩且不使用ROW_FORMAT = DYNAMIC的新表,则包含该表的新表空间将被标记为使用文件格式Antelope。 因此,即使您允许梭子鱼,表也将被创建为羚羊。除非您将每个表都指定为row_format动态表或压缩表,否则混合是不可避免的。 没有迹象表明您在引入第一个梭子鱼表时应该进行完整的转储和重新加载(例如在升级主要版本的mysql时建议使用)

1
MySQL交易大小-太大太大了吗?
我有一个经常运行的导入过程,我希望它是一种“全有或全无”的交易,又名:交易。 涉及的方面很多,进口量可能在10万至100万以上的记录之间。这相当于有效载荷范围从几MB到几百MB的数据。 我知道临时表是另一种选择-但是此方法似乎很方便。 对于这种在提交之间进行大量数据操作的做法,是否有需要注意的警告?(提交后在典型的写/索引加载突发之外)

3
MySQL复制从站是否应该设置为只读?
通过遵循本指南,我已经在Percona Server 5.5上运行了复制,并且想知道是否应该将其添加read-only=1到从属服务器中my.cnf以使其只读。 该指南为mysql表设置了复制,以便复制用户,但是我主要是使用从属服务器来获取mysqldumps,在紧急情况下将其重新配置为主服务器,因此我认为我们不需要(或应该)启用写入功能它不断吗?


4
增加innodb_buffer_pool_size和innodb_log_file_size后,mysql将无法启动
我在这里遵循此解决方案/programming/3927690/howto-clean-a-mysql-innodb-storage-engine/4056261#comment14041132_4056261并尝试将其增加到innodb_buffer_pool_size4G和更高的1G(也为1024M)除了日志文件的大小,但mysql不会以这些值开头。如果我把它放回512M,mysql启动正常。 我该如何解决?我的服务器是16GB,根据Webmin sysinfo的说法: Real memory 15.62 GB total, 3.13 GB used 同时,我也找到了错误日志: 120529 10:29:32 mysqld_safe mysqld从pid文件/var/run/mysqld/mysqld.pid结束 120529 10:29:33 mysqld_safe使用/ var / lib / mysql中的数据库启动mysqld守护程序 120529 10:29:33 [注意]插件“ FEDERATED”已禁用。 120529 10:29:33 InnoDB:InnoDB内存堆已禁用 120529 10:29:33 InnoDB:互斥体和rw_locks使用GCC原子内置函数 120529 10:29:33 InnoDB:压缩表使用zlib 1.2.3 120529 10:29:33 InnoDB:使用Linux本机AIO 120529 10:29:33 InnoDB:初始化缓冲池,大小= 1.0G 120529 10:29:33 InnoDB:缓冲池的完成初始化 InnoDB:错误:日志文件./ib_logfile0的大小不同0 134217728字节 …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.