Questions tagged «mysql»

MySQL的所有版本(不是Microsoft SQL Server)。如果与此问题相关,还请添加特定于版本的标记,例如mysql-5.7。

5
mysqldump错误2013
我已经安装了一个数据库,我想在mysql中进行备份。问题是mysqldump导出“ maia_mail”表失败 # mysqldump -u root -p maia > maia.sql mysqldump: Error 2013: Lost connection to MySQL server during query when dumping table `maia_mail` at row: 15 它运行不到30秒,并且如上所述出现错误。 数据库的总大小为1.3GB,其中maia_mail表为1.0GB 在my.cnf我有这些设置: [mysqld] max_allowed_packet = 1300M [mysqldump] max_allowed_packet = 1300M 请就如何转储数据库提出建议或提供一些指导?

6
查询以比较MySQL中两个表的结构
为了自动执行一个MySQL数据库的备份过程,我想比较两个表的结构(当前版本与旧版本)。 您能想到一个可以比较两个表的查询吗? 这是您可以比较的一些示例表。 CREATE TABLE product_today ( pname VARCHAR(150), price int, PRIMARY KEY (pname) ); CREATE TABLE product_yesterday ( pname VARCHAR(150), price int, PRIMARY KEY (pname) ); CREATE TABLE product_2days_back ( pname VARCHAR(15), price int, PRIMARY KEY (pname) ); 前两个表具有相同的结构。最后一个是不同的。我只需要知道两个表是否具有不同的结构。我对它们之间的差异不感兴趣。

2
通过子查询选择多列
我正在尝试从以下查询中的子查询中选择2列,但无法这样做。尝试创建别名表,但仍然无法获取它们。 SELECT DISTINCT petid, userid, (SELECT MAX(comDate) FROM comments WHERE petid=pet.id) AS lastComDate, (SELECT userid FROM comments WHERE petid=pet.id ORDER BY id DESC LIMIT 1) AS lastPosterID FROM pet LEFT JOIN comments ON pet.id = comments.petid WHERE userid='ABC' AND deviceID!='ABC' AND comDate>=DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 2 MONTH); 基本上,我试图从同一行中获取lastComDate&lastPosterID,该行是针对特定宠物的注释中的最新行。请提出如何有效地获取它们的建议。 上面的查询有效,但由于两次获取同一行而显得有些矫kill过正。而且,该ORDER BY子句比聚合函数要慢得多-正如我在分析查询时发现的那样。因此,避免排序的解决方案将不胜感激。

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字节 …

5
MySQL IS NULL / IS NOT NULL行为不正确?
请查看此表: mysql> desc s_p; +-------------------------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------------------+------------------+------+-----+---------+----------------+ | id | int(10) unsigned | NO | PRI | NULL | auto_increment | | s_pid | int(10) unsigned | YES | MUL | NULL | | | sm_id | int(10) …
18 mysql  count 

2
MySQL-更改实时数据库的innodb_file_per_table
我有一个大型的MySql数据库(150GB),只是现在我才注意到,将innodb_file_per_table设置为off会导致整个数据库托管在一个文件中(ibdata1)。我想激活innodb_file_per_table它并追溯地将数据库分成几个文件,执行此操作的最佳方法是什么?
18 mysql  innodb  my.cnf 

2
我们可以在MySQL 5.0 Replication中做什么来解决带宽问题?
我正在开发一个在客户端PC(Win)上运行的应用程序,该PC配置有MySQL服务器5.1实例,该实例将充当远程主服务器的只读从属服务器。远程主服务器有几十个模式,但是每个客户端只需要一个模式,因此我在my.ini中提供了copy-do-db设置,以仅复制客户端所需的模式。复制是可行的,但是当我们的客户进入仅通过3G无线访问互联网(按数据用量收费)的地区时,他们很快就会超出数据计划的限制,并遇到了昂贵的问题。 据我了解,MySQL将所有模式的所有事务都写入单个binlog文件中,这意味着每个客户端必须下载在主服务器上的每个模式上执行的所有事务,然后一旦下载,则对每个复制应用数据库过滤器- 客户端的my.ini文件中的do-db设置。 为了最大程度地减少这种低效率,我采用了slave_compressed_protocol = 1设置,该设置似乎将传输的数据减少了50%,但仍然导致我们的客户的数据流量迅速超过了3G账单。 我无法想象我是唯一面对这个问题的人,所以我敢肯定,通过设置x = y,我将获得大量有关如何实现这一目标的答案。但是,我找不到有关这种设置的任何文档,也找不到推荐的方法。 到目前为止,这是我对可能的解决方案的想法,请提供反馈或替代路线: 为每个模式设置“代理”从属(在不同的框上,或在具有不同的MySQL实例/端口的同一框上) 配置代理从属服务器,使其仅复制客户端希望复制的一个数据库。 将客户端的MySQL实例配置为相应代理从属的从属。 这应该导致客户端仅提取其架构的binlog数据。不利的一面(据我所知)是,它极大地增加了我们设置的复杂性,可能使其更加脆弱。 有什么想法吗?这种方法还能行吗? 注意,我们正在RedHat上运行MySQL 5.0服务器,但是如果它可以解决的话,我们可以升级到5.5。

4
如何将66,862,521行表从MyISAM转换为InnoDB,而又不用离线几个小时?
是否有可能(以及如何)在不使应用程序脱机的情况下将巨大的MyISAM表转换为InnoDB。它需要每秒在该表中插入几行,但是可以将其挂起大约2分钟。 显然ALTER TABLE ... engine = innodb无法正常工作。因此,我计划使用innodb引擎创建一个新表并将内容复制到其中。最后,挂起应用程序日志线程和RENAME TABLE。 不幸的是,即使以100行的小批量进行复制,在一段时间后也会产生明显的延迟。 编辑:现有行永远不会更改,此表用于记录。
18 mysql  innodb 

6
保护数据库密码
查看我所见过的大多数基于PHP / MySQL的网站的结构,似乎很难辨别数据库密码,因为您一定会在某个地方存储设置或配置文件以进行日志记录进入数据库。除了确保对远程请求适当限制数据库特权的基本预防措施之外,我可以在自己的项目中实现哪些可用选项来保护此信息?
18 mysql  security 

2
是否应在适用于MySQL的AWS RDS t1-micro中增加max_connections?
我有一个运行MySQL 5.5的AWS RDS t1-micro。它给我太多连接错误。我检查了一下,它允许并发最多连接34个。我读到的是可以通过为此Micro实例创建一个数据库参数组来增加此最大值。 我的困惑是 我是否应该增加数据库参数组中微控制器的最大连接值?还是我应该考虑升级到提供更多最大连接数的下一个RDS级别(125)? 我应该将微型RDS上的max_connections增加到125,而不是升级到RDS小实例吗? 我为什么要做出什么决定? 谢谢


4
如何在一次选择中获得当前和下一个更大的值?
我有一个带有列的InnoDB表'idtimes'(MySQL 5.0.22-log) `id` int(11) NOT NULL, `time` int(20) NOT NULL, [...] 用复合唯一键 UNIQUE KEY `id_time` (`id`,`time`) 因此每个ID可以有多个时间戳,每个时间戳可以有多个ID。 我正在尝试建立一个查询,以获取所有条目以及每个条目的下一个较大时间(如果存在),因此它应返回例如: +-----+------------+------------+ | id | time | nexttime | +-----+------------+------------+ | 155 | 1300000000 | 1311111111 | | 155 | 1311111111 | 1322222222 | | 155 | 1322222222 | NULL | | 156 …
18 mysql  innodb  select 

2
如何将笑脸插入MySQL(😊)
我在MySQL 5.5.21上,尝试插入'\ xF0 \ x9F \ x98 \ x8A'笑脸字符。但是对于我的一生,我不知道该怎么做。 根据我一直在阅读的各种论坛,这是可能的。但是只要我尝试一下,数据就会被截断。 mysql> INSERT INTO hour ( `title`, `content`, `guid` , `published` , `lang` , `type` , `indegree` , `lon` , `lat` , `state` , `country` , `hour` ) VALUES ( "title" , "content 😊 content" , "guid" , 1, 1, "WEBLOG", …

1
查看MySQL中的JSON数组是否包含其键包含特定日期的对象
我试图找出是否在JSON数组中包含特定日期的行 假设我的数据如下所示: 表格应用: id | application_id | data # Rows 1 | 1 | [{"data" : ["some", "data#1"], "date": "2016-04-21"}, {"data" : ["other", "data#1"], "date" : "2016-04-22"}] 2 | 2 | [{"data" : ["some", "data#2"], "date": "2016-04-21"}, {"data" : ["other", "data#2"], "date" : "2016-04-26"}] 3 | 1 | [{"data" : …
18 mysql  json 

1
MySQL open_files_limit-无法更改此变量
我遇到了问题,因为我open_files_limit的mysql仅适用于1024。 Centos 7,MySQL Community Server 5.6.22-日志 实际上,这是WHM服务器专用于mysql的vps(远程mysql),但这不重要。 配置文件 my.cnf: [mysqld] open_files_limit = 100000 open-files-limit = 100000 #I've read that the dashes are required on older versions, but I threw it in anyway. innodb_buffer_pool_size = 600M ... # and the same for mysqld_safe [mysqld_safe] open_files_limit = 100000 open-files-limit = 100000 ... …
17 mysql 

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.