问题标签 [mysql-5.1]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - 为什么传递给存储过程的参数会导致 MySQL 错误 1267?
这两个存储过程都在我的 MySQL 5.1.73 服务器中编译:
执行CALL get_admins();
返回我期望的结果。
执行CALL get_admins2('admin');
错误:
错误代码:1267。操作“=”的排序规则(utf8_general_ci,IMPLICIT)和(utf8_unicode_ci,IMPLICIT)的非法混合
细心的响应者会注意到两个结果查询之间没有功能差异。我已经仔细检查了Accounts.type
它确实是 a varchar(50)
(即使它是不幸命名的)。
山姆山这里发生了什么?
mysql - 使用 JOIN 按父 ID 获取所有子代
我有一张代表家谱的表格。它有字段ID
, NAME
, LEVEL
, PARENT_ID
。
该列PARENT_ID
是外键,引用ID
该表的列。如何获取 仅知道特定人员行的所有(层次结构底部的任何级别)儿童的列表?ID
我需要在不使用存储过程调用的情况下在单个查询中获取它。请帮助把它做得最好。
例如,如果ID
是 7,那么结果应该是:
我使用 MySQL-5.1。
编辑:如果原始问题没有解决,也许当最高级别等于 5 时有解决方案?
mysql - 升级后的 MySQL 语法错误
从 MySQL 5.1 更新到 5.5 - 一切都很好。我知道差异和站点接受了升级,除了一个。
但是查询太复杂了,我看不出有什么问题...
以下是 5.1 中的工作
但在 5.5 中,错误是
“您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,以了解在 'AS region_id FROM Contains_areas WHERE region_id IN ( SELE' 第 26 行附近使用的正确语法”
如果可以在我搜索答案时识别出错误,我将不胜感激,但这个查询超出了我的范围。
提前致谢
mysql - MySQL Illegal Mix of Collation Error 在不同 PC 之间的故障排除
我正在为调用数据库以报告数据的 C# 应用程序运行代码。有趣的是,该报告在我自己的 PC 上运行良好,但在客户端使用时,我得到:
concat 中的排序规则 (latin1_swedish_ci,IMPLICIT) 和 (utf8_general_ci,COERCIBLE) 的非法混合
到目前为止,我已经检查了表 ( ENGINE=InnoDB DEFAULT CHARSET=latin1;
),这在我们的两个数据库之间是相同的。此外,我可以备份客户端数据库,在我自己的 PC 上恢复它并运行代码,它工作正常。
我怀疑这将是与 MySQL 相关的错误,因为它们运行 MySQL Server 5.0,而我自己的计算机上有 MySQL Server 5.1。这两个版本之间是否有任何明显的差异或其他明显的地方会导致另一台 PC 上的错误,而不是我自己的?
这是有问题的代码,我能够修复:
原来的:
修复分摊:
这会是由 MySQL 在他们的 PC 上使用的默认字符集引起的吗?my.ini 文件确实有一个额外的区别,这是我指定的:
而只有包含:
latin1_swedish_ci
编辑以包括在两个数据库中也使用排序规则指定表列。
使用第一条评论中的链接,我使用了“显示表状态”和“显示变量,如“collation_database”。
显示表状态确认每个表的排序规则在我的和其他系统上都是 latin1_swedish_ci。
显示 collation_database 等变量确认我的系统和其他系统都将 latin1_swedish_ci 作为值
phpmyadmin - 配置中定义的 controluser 连接失败
我已经对此进行了研究,但是由于我在 Ubuntu 10.04 而不是 XAMPP 上运行,并且已经创建了 phpmyadmin 数据库,因此我可以使用 root 和 phpmyadmin 用户通过终端登录。
我是如何安装的:sudo apt-get install lamp-server^ sudo apt-get install phpmyadmin
我可以使用 root 和 phpmyadmin 用户在终端上本地登录。我可以查看 phpmyadmin 登录页面。我发布到服务器的 phpinfo.php 页面有效。
- Ubuntu 版本 10.04.4 Lucid Lynx
- 阿帕奇 2.2.14
- MySQL 5.1.73
- PHP 5.3.6
- phpmyadmin 3.3.2
mysql - MySQL LIKE Query 从 5.1 到 5.6 更改为全表扫描
出于某种原因,MySQL 5.6 会进行全表扫描,而 MySQL 5.1 则不会。为什么会这样?
编辑:两个表具有相同的确切索引
在 MySQL 5.1 上
在 MySQL 5.6 上
monitor - MySQL Enterprise Monitor - 查询分析器 - 表中没有可用数据 - 配置
我用MySQL 5.1.69
协议版本 10
version_compile_os
我在配置/使用 MySQL ENTERPRISE MONITOR 时遇到问题。我在 QUERY ANALYZER 中看不到数据。(表中没有可用数据)。
我有一个问题 - 为什么禁用此功能?
我的常规查询日志已关闭,我不确定是否需要使用 QUERY ANALYZER?
MySQL 的版本对于此功能是否重要?
amazon-ec2 - 语句 #0 中的 SQL 错误 (1045):用户“root”@ 的访问被拒绝
尝试使用 Heidi 在本地 root 访问我们的 EC2 实例,使用客户端中的外部 IP 产生错误消息:
语句 #0 中的 SQL 错误 (1045):拒绝访问用户 'root'@'internal.host.net'(使用密码:YES)
与内部 IP 连接,会产生不同的错误:
语句 #0 中的 SQL 错误 (2003):无法连接到“10.0.5.152”上的 MySQL 服务器 (10060)
/etc/hosts
: _
没有内部 IP 行,也没有 EC2 外部主机名行:
10.0.5.152 主机名
我执行的命令是:
mysql - MySQL:大表之间的比较
我有两张表,让它们成为data和newdata。我的查询应该从data中选择所有行,其中 double 类型的价格小于newdata中的另一个双字段价格。表中的每一行都由其主键articleno 标识。
我这样做的查询看起来像这样(不是实际查询,因为在实时场景中要选择更多列,但比较基本上是这样的):
限制设置为 10 个或小表,这很好用。但是我需要处理的表的大小高达 120k 行。上次我在包含 50k 行的两个表上运行此查询时,获取所有数据大约需要 180 秒。
问题:如何加快速度?我想过做一个JOIN,然后用比较做选择,但这不应该更糟糕吗?并且:为什么这个比较这么慢?这是双重的吗,我应该使用 float 代替(如果更快的话)?
顺便说一下,需要在 MySQL 5.1 上工作。
mysql - 移动日志目录后无法解释 MySql 错误
我有一个主从设置,MySql v5.1.39 在 12 核 Linux 机器上运行 ~10 db。由于性能问题,我不得不将 bin-log 文件移动到单独的磁盘。所以我按照以下步骤操作:
- 停止所有使用数据库的东西
- 停止奴隶
- 停止大师
- 将 /my.cfg 中的路径更改为 /mysql/log/* 到 /mysql/newlog/* 在主服务器和从服务器上
- 将 /mysql/log/* 复制到 /mysql/newlog/。关于主从
- 启动从站
- 一切都好!
- 启动大师
第一个问题!在奴隶上:
150113 12:21:22 [ERROR] Got fatal error 1236: 'Could not find first log file name in binary log index file' from master when reading data from binary log
150113 12:21:22 [Note] Slave I/O thread exiting, read up to log 'bin-log.005523', position 716864371
现在快速谷歌没有解决任何问题,因为停机时间是一个问题。我停止了Master,更改了配置并重新启动。现在是第二个“问题”!
...
150113 13:02:22 InnoDB: Error: page 182380 log sequence number 3407 300161079
InnoDB: is in the future! Current system log sequence number 3407 299353326.
InnoDB: Your database may be corrupt or you may have copied the InnoDB
InnoDB: tablespace but not the InnoDB log files. See
InnoDB: http://dev.mysql.com/doc/refman/5.1/en/forcing-recovery.html
InnoDB: for more information.
...
我引用问题是因为一切正常。复制到从站重新启动并正常工作。我启动了应用程序,并且工作正常。但是当在 Master 上启动 MySql 时,我得到了上面的错误,其中大约 50 个具有不同的页码和序列号。
移动文件如何影响页码和序列号以及它们来自何处?我的问题有多大?一切似乎都很好。
请询问您是否需要更多信息,并感谢您的帮助。