Questions tagged «mysql»

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

1
生成发票和跟踪
系统每2周就会为公司生成发票。 公司将在每月的1号和16号收到发票。(它将每2周通过Cron Job运行一次。它会扫描订单表,然后将其添加到“发票”表中。是否有其他选择?) 表格中有客户订单的清单,orders还指出了它属于的公司(orders.company_id) 该invoice表从orders表中计算订单的总成本。 我试图弄清楚如何设计合理的发票跟踪。有时公司会向我发送费用,或者有时我会向他们发送费用(invoice.amount) 我需要使用以下方式跟踪发票: 公司给我汇款时 我什么时候汇款到公司的 从公司收到了多少钱 我寄给公司多少钱 我收到了全部款项吗(如果没有,我需要在Db上更新什么?) 发票状态(已发送,已取消,已收金额,已发送金额) 这是我想出的数据库设计: 公司表 mysql> select * from company; +----+-----------+ | id | name | +----+-----------+ | 1 | Company A | | 2 | Company B | +----+-----------+ 客户可以从我的网站选择一家公司。 订单表 mysql> select * from orders; +----+---------+------------+------------+---------------------+-----------+ | id …

2
移动数据文件夹并驱动mysql centos
我需要将数据移动到其他文件夹并在我的cent os db服务器上驱动。 我添加了新的硬盘驱动器(因为空间不足), 我有一个1TB的硬盘驱动器,我有一个新的2TB,我想将数据放在同一台服务器上(托管在数据中心中的专用服务器) 我想知道在不丢失任何数据的情况下迁移数据的简便方法是什么? 目前,我的数据位于:/var/lib/mysql/cent os。mysql version is 5.1
11 mysql 

3
MySQL自动调整最大连接值
我在my.cnf文件中将最大连接数设置为2000左右。 max_connections=2048 我已经升级到5.5.20,现在我在错误日志中看到以下行。 120201 19:40:24 [Warning] Changed limits: max_open_files: 1024 max_connections: 214 table_cache: 400 mysql为什么将最大连接数更改为214? # mysqladmin variables | grep max_connections | max_connections | 214 操作系统限制的软硬打开文件为1024 # ulimit -Sa | grep "open files" open files (-n) 1024 # ulimit -Ha | grep "open files" open files (-n) 1024 实际使用的最大连接数: # …
11 mysql 

3
MySQL状态变量Handler_read_rnd_next增长很多
在MYSQL状态下,Handler_read_rnd_next值非常高。 我知道,当执行没有适当索引的查询时,此值将增加。 但是,即使执行“ Handler_read_rnd_next”之类的显示状态,该值也会增加2。 基于此状态标志,我们正在监视一些统计信息。 因此,每次这些统计数据都显示为关键。 我们可以从“ Handler_read_rnd_next”计数中排除这些“显示”执行计数吗? 另一个例子 有一个包含10行的表,该表在“数据”列上建立索引,并且如果我们执行以下查询: select data from test where data = 'vwx' -> returns one row 如果我们检查'Handler_read_rnd_next'的值,它会增加7。 以下是上述查询的explain命令的结果: explain select data from test where data = 'vwx'; id, select_type, table, type, possible_keys, key, key_len, ref, rows, Extra 1, 'SIMPLE', 'test', 'ref', 'data', 'data', '35', …

2
从MyISAM转换为InnoDB有任何麻烦吗?
我已经准备好从MyISAM迁移到InnoDB,但想知道是否有要查找的完整列表?例如,我没有看到任何列表提到DISABLE KEYS在InnoDB表上运行会抛出警告,除了的手册页ALTER TABLE。在转换之前,我需要了解这种事情。我以为我可以查询很好,但显然不行。
11 mysql  innodb  myisam 

3
在内存中缓存MySQL数据库
我在使用600MB MySQL数据库的网站时遇到问题。该网站太慢了。我注意到MySQL数据库越大,运行速度越慢。当它为5MB时,该网站非常快。当它开始变大时,它开始变得越来越慢,现在达到600MB,确实很慢,加载页面大约需要10秒。 我检查了最重要的进程,它与高负载或任何东西都没有关系。正如我在HDD 7.2k rpm驱动器上进行测试时,它甚至与IOPS都不相关,而在使用Intel 320 SSD驱动器进行测试时,它也出现了相同的问题,因此我也不认为这与高查询量有关。 该网站正在使用Wordpress,并且有9个活动的插件。人们说这可能是插件...也许吧...但是现在我只想将整个数据库缓存在内存中,并希望获得有关从何处开始以及如何执行的帮助和指导。 我有16GB RAM和i5-2400 4核@ 3.1 GHz。操作系统是centos 5.7 top - 07:23:57 up 9 days, 12:15, 0 users, load average: 0.09, 0.04, 0.05 Tasks: 162 total, 1 running, 161 sleeping, 0 stopped, 0 zombie Cpu(s): 8.2%us, 1.0%sy, 0.0%ni, 90.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 16367532k …

5
不完整的mysqldump
我正在尝试运行mysqldump来创建数据库快照,并且发现它会在途中随机停止,而不会报告任何错误。我的数据库相对较小(大约100MB),并且正在使用InnoDB。 我像这样运行它: mysqldump --force --single-transaction --quick --user myuser --password=mypass -h mydatabasehost mydb > /tmp/snapshot.sql 检查退出代码报告0。 我的版本是:用于redhat-linux-gnu(i386)的mysqldump Ver 10.13 Distrib 5.1.52 我见过一些类似的帖子,甚至见过正式的错误报告,但似乎都没有解决方案。 如何获取mysqldump来拍摄完整的数据库快照? 编辑:我的数据库当前位于Amazon的RDS上。

6
是什么导致PHP和MySQL之间奇怪的查询超时?
我是许多不同客户使用的软件即服务应用程序的高级开发人员。我们的软件在由MySQL后端提供支持的Apache / PHP应用服务器集群上运行。在该软件的一个特定实例上,当客户拥有29个以上类别时,用于查询类别名称列表的PHP代码将超时。我知道这没有道理;没有什么特别的数字可以打破这个数字30,而其他客户拥有超过30个类别,但是,问题是当这个安装具有30个或更多类别时,它是100%可复制的,而当类别少于30时,这个问题就消失了。 有问题的表是: CREATE TABLE IF NOT EXISTS `categories` ( `id` int(10) unsigned NOT NULL auto_increment, `name` varchar(64) NOT NULL, `title` varchar(128) NOT NULL, `parent` int(10) unsigned NOT NULL, `keywords` varchar(255) NOT NULL, `description` text NOT NULL, `status` enum('Active','Inactive','_Deleted','_New') NOT NULL default 'Active', `style` enum('_Unknown') default NULL COMMENT 'Autoenum;', …

3
MySQL复制是否会受到高延迟互连的影响?
我们有一个位于不同数据中心的原始主控和从属MySQL设置,另一个与主控位于同一数据中心的从属。 数据中心之间的带宽相当高(在网络基准测试中,我们可以达到15MB /秒),但存在延迟,大约为28ms。无论如何它都不算高,但是比同一个数据中心的亚秒级延迟要高得多。 有时,在删除从属服务器时,我们会遇到严重的延迟(2000秒以上),而本地从属服务器会保持最新状态。当查看滞后的远程从属服务器时,SQL线程通常会花费时间等待IO线程更新中继日志。母版同时显示“等待网络”或类似信息。 因此,这意味着它是网络,但是在发生这种情况时,我们仍然拥有可用带宽。 我的问题是:数据中心之间的延迟会影响复制性能吗?从属io线程只是在主事件停止发送事件之前一直传输事件,还是在事件之间以某种方式合并主事件?

1
XtraBackup和rsync有什么区别?
是的,我将对它们两个都运行strace ...但是,我想知道... 除了rsync -ac src dest以外,XtraBackup在做什么? XtraBbackup有什么特别之处? XtraBackup如何与mysqld交互?
11 mysql  backup  percona 

3
如果主服务器离线,如何将主MySQL数据库与从数据库更改重新同步?
MySQL Server 1以Master身份运行。 MySQL Server 2作为从属服务器运行。 两个DB都联机时,它们处于“完美同步”状态。如果从站脱机,则Master仍然在线也没有问题;从站再次联机后,它们将恢复同步。 除了服务器配置之外,如果主服务器脱机,我将重定向从服务器DB的连接(使用JSP代码)(我当然使用/etc/init.d/mysqld stop进行了测试)。 当主服务器重新联机时,是否有任何自动方法将主服务器与从设备更新同步?

2
InnoDB创建表错误:“行大小太大”
我们有一些工程师将标准化的db结构展平为临时表,以生成报告。列指定为TEXT NOT NULL(我知道“他们为什么这样做?”;让我们假设我们正在解决此问题)。 我们在Linux上使用带有InnoDB插件1.0.9的MySQL 5.1.48 Community RHEL5。 使用MyISAM时,我们从未遇到最大列或最大行长度的表大小限制(在调查过程中,我们达到了最大列限制为2598(第2599个原因导致错误1117)。使用InnoDB时,我们达到了限制。表(无数据插入)为: 第1行的错误1118(42000):行大小太大。使用的表类型的最大行大小(不计BLOB)为8126。您必须将某些列更改为TEXT或BLOB 我正在寻找以下问题的答案: 使用很多v / v / b / t列时确定行大小特殊性的详细公式是什么?我已经尝试过使用varchar(N)列(其中N在1到512之间),UTF8字符集(* 3)和表将使用的列数直到失败为止的几种不同形式形式。我尝试过的所有组合都不提供与实际测试结果匹配的值。 计算行大小时,我还必须考虑其他哪些“开销”? 当我从使用varchar(109)列创建表到varchar(110)列时,为什么错误消息从8126变为65535?
11 mysql  innodb 

4
审核MySQL数据库上的登录
有没有办法审核MySQL的登录信息?我希望能够为每个员工创建一个用户名,从而创建登录的审计线索。但是,谷歌搜索并没有取得好的结果。 我们可以审核的越多越好。至少,很高兴知道谁何时登录。最好查看谁在何时执行什么查询。因为数据库中存在潜在的敏感信息,所以那里的日志主要是告诉客户我们拥有它们。 显然,能够审核每个用户(和何时)执行的查询也将使我们能够更好地确定如果出现安全问题的原因是谁。

8
MySQL-如何检查所有列中的值
我很好奇,有没有办法在所有列中搜索给定值?就我的目的而言,它并不需要太快,这只是一口之类的事情,我真的不需要输入每个字段名称。这正是我现在要做的,但是我认为肯定有更好的方法。 我想转一下: SELECT * FROM table WHERE col1 = 'val' OR col2 = 'val' OR col3 = 'val'; 到这个: SELECT * FROM table WHERE * = 'val' ...,甚至更好(尽管我对此表示严重怀疑...) SELECT * FROM table WHERE * like '%val%' 我发现了这个,这似乎不太接近,但是我找不到更接近的东西: SELECT whatever WHERE col1,col2 IN ((val1, val2), (val1, val2), ...) 区别在于,它在指定的值中搜索列的选择,而我正在尝试在单个值中搜索所有列。 但这并不重要,就像我说的多于我只是好奇
11 mysql 

5
如何检查我可以在其上运行查询的数据库服务器上安装了什么数据库引擎?
我想检查可以访问的Datasase服务器上正在运行哪种类型的sql。我只能访问Web界面和表列表。 通过该接口,我可以对列表中存在的表运行查询。 我如何获得有关服务器和服务器运行版本的更多信息。我不知道服务器正在运行的IP或PORT。 我想知道服务器是MySQL,Mircosoft SQL Server,Oracle SQL,Postgre SQL还是其他sql服务器。 我正在谈论的网站就是这个网站: w3schools.com SQL编辑器。 编辑2:尽管某些命令选择sqlite_version()对我有用,但它不起作用。这是响应的屏幕截图。 编辑3:在Chromium浏览器上,命令运行正常。但是,在Firefox浏览器上,该命令无效。 我还提到我正在运行Linux。 您认为可能是在Firefox和Chrome上获得不同结果的原因是什么?

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.