Articles of mysql

删除ibdata1文件后,表名引擎'InnoDB'未知

我有一个ibdata文件innodb。 我已经在my.cnf中更改了每个表(innodb_file_per_table)的ibd文件。 那么我在我所有的innodb表上运行以下查询来拥有自己的ibd文件 alter table tablename engine = innodb; 现在转换所有的表后,ibdata仍然有相同的大小,所以我已经删除它,并重新启动MySQL。 mysql已经创build了10MB的大小(在my.cnf中定义),但是现在的问题是我可以在显示表时正常看到所有的表。 但每当我想desc tablename或select*从表名我得到这个错误信息 mysql> desc人员; 错误1286(42000):未知表引擎'InnoDB' 而在展示引擎中,我无法在列表中看到innodb! 另外我试图删除ib_logfile0和ib_logfile1,我有另一个消息 错误1146(42S02):表'DBNAME.TableName'不存在 我知道我应该mysqldump和恢复,但是这是我做了:(有人有一个想法,如何删除ibdata1文件,并保持innodb引擎启用?谢谢

复制停止

我有2个CentOS 5.5服务器runnig Mysql 5.5,configuration为主 – 主复制。 当在一台服务器上,我有networking问题,另一个我在日志中看到消息: 111105 2:38:30 [Note]停止asynchronousbinlog_dump到slave(server_id:2) 当networking问题消失时,复制不会自动恢复,但会在一小时内启动: 111105 3:37:41 [Note] Start binlog_dump to slave_server(2), pos(mysql-bin.000157, 344487149) 111105 3:37:41 [Note] Start asynchronous binlog_dump to slave (server_id: 2), pos(mysql-bin.000157, 344487149) 我认为这只是configuration计时器,但哪个? 下面是mysql的configuration: SERV-01: [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql symbolic-links=0 plugin-load=archive=ha_archive.so;blackhole=ha_blackhole.so #Replication old_passwords=1 log-bin=/var/lib/mysql/mysql-bin expire_logs_days=3 binlog-do-db=roomserv binlog-do-db=asterisk binlog-ignore-db=mysql binlog-ignore-db=information_schema server-id=1 auto_increment_increment= 2 auto_increment_offset = 1 […]

通过读取mySQL表创build用户通过Puppet

对于特定的服务,用户通过networking添加/删除到mySQL表。 我需要复制这些用户在几个Ubuntu服务器(作为普通的shell用户),最好通过Puppet。 目前,我将使用shell脚本来读取表格并创build一个users.pp清单(但处理已删除的用户会变得棘手)。 有没有更有效的方法?

在MAMP Pro(MAC)下loggingmysql查询

我正在使用MAMP临2.0.5(最新),并复制my-medium.cnf文件,并将其放置到/ mamp / conf /中,并将其重命名为my.cnf下的[mysqld]我放置 log = /Volumes/www/public/logs/mysql-queries.log 获取日志(我想logging所有查询) 但没有事情发生。 我重新启动了mamp,当我运行查询时没有任何logging。 我究竟做错了什么?

MySQL Innodb引擎消失了

由于我没有足够的空间,我必须将tmpdir目录从/ tmp更改为/ db / tmp /文件夹。 当我改变了我的路线,我跑了SHOW ENGINES; 我得到了低于结果; ARCHIVE MRG_MYISAM CSV MYISAM 记忆 但是,当我将目录改回/ tmp时,我的Innodb引擎又回来了。 SHOW ENGINES; ARCHIVE MRG_MYISAM CSV MYISAM 记忆 InnoDB的 有谁知道为什么MySQL是这样的奇怪吗? 这对我来说是一个阻碍,导致我的生产服务器崩溃。

如何存储未知和不同大小的文本input?

我正在尝试创build一个表(或几个)来接收用户input(UGC)。 这个内容的大小可以从单个字符到几百个字。 input将用utf8_unicode_ci编码,可以是拉丁字符或多字节字符。 input必须是可search的。 我应该如何构build我的数据库,以便在灵活性和性能之间做出妥协? 我可以例如… 设置一个string大小的上限,并采取性能和可用性点击。 为不同的大小范围创build几个表,并通过表名和ID的组合来识别每个项目(所以我需要一个具有唯一ID,表名,表特定ID的中央表)。 将每个input分解为不同的组成部分(即单词),并分别存储单词,以及将每个语句映射到一系列单词ID的关系。 我相信还有其他的select。

我如何确定MySQL客户端使用的连接方法?

当使用MySQL客户端(例如mysql或phpmyadmin )时,如何确定它是使用Unix套接字文件还是使用TCP / IP连接到服务器?

实例在线时移动MySQL数据库

我有一个包含大量数据库的MySQL实例,其中一个数据库是一个归档数据库(尽pipe使用INNODB而不是ARCHIVE存储引擎),在正常操作中不会被查询或写入。 数据文件系统已经满了,我想将归档数据库的数据目录移动到不同的文件系统(然后显式地将其链接回去)。 如果在移动过程中没有SQL语句尝试查询或更新数据,那么在MySQL实例和其他数据库保持联机并正在使用的情况下,我可以安全地执行此操作吗? 我打算将数据库目录rsync同步到新的文件系统,然后将原始文件系统上的旧目录重命名为不同的东西,并创build新的符号链接。 lsof报告MySQL确实打开了.ibd文件,所以推测它必须重新打开它们。

无法从笔记本电脑连接到RDS(amazon web services)上的MySQL

我在使用笔记本电脑连接AWS上的RDS实例上的MySQL 5.1服务器时遇到了一些麻烦。 问题的详细描述在这里: https : //forums.aws.amazon.com/thread.jspa?messageID=323397 简而言之:我有2个MySQL服务器,两者都具有相同的数据库configuration和防火墙(安全组)configuration。 其中一个工作正常:我可以从我的EC2实例(即从AWS云中)和从我的笔记本电脑连接到它。 另一个不: 我可以从我的EC2实例连接, 但不能从我的笔记本电脑连接 。 症状: 从我的笔记本电脑连接尝试只是挂起 ,然后超时,好像有一个防火墙阻止我(即,静静地丢弃我的SYN数据包)。 我必须说,一切都很好,很长一段时间,这个问题突然开始了,3天前,没有任何修改DB参数或安全组。 我目前的情况分析: 防火墙(即安全组)不能成为问题 :这两个MySQL服务器共享相同的防火墙configuration – 我可以连接到其中一个,但不能连接到另一个。 后来,我甚至添加了一个规则来允许来自0.0.0.0/0(即,我closures防火墙)的入站连接,而不是什么。 噢,我还创build了一个新的安全组,并将此实例的SG更改为新的(我首先添加了我的IP地址,然后添加了0.0.0.0/0),但仍然没有任何结果。 凭证不能成为问题 :我使用笔记本电脑和EC2实例中的相同信息,而在数据库中,用户(即Amazon称为主用户 )拥有大量的“%”。 由于连接失败次数太多, MySQL不会阻塞我的IP :我在数据库上有FLUSH HOSTS,而且我尝试使用许多不同的源IP地址进行连接,甚至通过VPN代理服务。 我可以错过什么? 我在这里问,因为我已经在AWS论坛发布了大约36个小时,但在那里没有得到任何答案…这里的某个人可能有一个解决scheme! 任何意见都非常感谢,我没有想法。 谢谢!

重载简单的查询

存在两个表格: maindata = id, devid, value (10M行) djournal = id, devid, md_id_begin, md_id_end, state (10k行) 我想select所有从maindata的某些devid除了有错误state行: SELECT md.* FROM maindata AS md LEFT JOIN djournal AS dj ON md.id BETWEEN dj.md_id_begin AND dj.md_id_end AND md.devid = dj.devid WHERE md.devid = 123456789 AND dj.state <> 'idle' ORDER BY md.id ASC; 给定查询产生正是我想要的,但sloooooow。 所有可能的指数已经创build。 当然,将state字段直接存储在maindata表中很容易,但是为什么查询速度太慢并且存在任何解决方法?