问题标签 [mariadb]

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.

0 投票
6 回答
20071 浏览

mysql - 修复由于在文本编辑器中编辑 MySQL 数据库而损坏的序列化数据?

背景:我下载了我的 WordPress 站点数据库的*.sql备份,并将旧数据库表前缀的所有实例替换为一个新实例(例如,从默认wp_到类似asdfghjkl_)。

我刚刚了解到 WordPress 在数据库中使用了序列化的 PHP 字符串,而我所做的将会破坏序列化字符串长度的完整性。

问题是,我在得知这一点之前删除了备份文件(因为我的网站仍然运行良好),并从那时起安装了许多插件。因此,我无法恢复原状,因此我想知道两件事:

  1. 如果可能的话,我该如何解决这个问题?

  2. 这会导致什么样的问题?

这篇文章指出,例如 WordPress 博客,可能会丢失其设置和小部件。但这似乎并没有发生在我身上,因为我博客的所有设置仍然完好无损。但我不知道有什么可能在内部被打破,或者它在未来会带来什么问题。因此这个问题。)

0 投票
1 回答
1600 浏览

jdbc - 无法 ping,MariaDB Drizzle JDBC 中的管道损坏

我有一个使用mariadb 服务器的 java 应用程序。从 java 中,drizzle jdbc用于连接 mariadb 服务器。有时,我得到一个错误,破管子

我不知道为什么会发生此错误,其根本原因。

我正在使用 ubuntu12.04、最新的 drizzle jdbc 驱动程序(1.2)和 mariadb 5.5.29。

请查看错误日志:

java.sql.SQLNonTransientConnectionException:无法 ping:org.drizzle.jdbc.DrizzleConnection.isValid(DrizzleConnection.java:950) 的 org.drizzle.jdbc.internal.SQLExceptionMapper.get(SQLExceptionMapper.java:97) 的管道损坏

-------------------------------------------------- ------------------------- 在 org.eclipse.cdt.dsf.concurrent.RequestMonitor$2.run(RequestMonitor.java:298) 在 java。 util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 在 java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 在 java.util.concurrent.FutureTask.run(FutureTask.java: 166) 在 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:266) 在 java.util.concurrent.ThreadPoolExecutor 的 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:165)。 runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:679) 原因:org.drizzle.jdbc .internal.common.QueryException:无法ping:org.drizzle.jdbc.DrizzleConnection.isValid(DrizzleConnection.java:948)的org.drizzle.jdbc.internal.mysql.MySQLProtocol.ping(MySQLProtocol.java:424)的管道损坏... 14 更多原因:java.net.SocketException:在 java.net.SocketOutputStream 的 java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109) 的 java.net.SocketOutputStream.socketWrite0(Native Method) 的管道损坏。 write(SocketOutputStream.java:153) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) at org.drizzle.jdbc.internal.mysql.packet .commands.MySQLPingPacket.send(MySQLPingPacket.java:47) 在 org.drizzle.jdbc.internal.mysql.MySQLProtocol.ping(MySQLProtocol.java:419) ... 15 更多无法 ping:org.drizzle.jdbc.DrizzleConnection.isValid(DrizzleConnection.java:948) 的 org.drizzle.jdbc.internal.mysql.MySQLProtocol.ping(MySQLProtocol.java:424) 的管道损坏 ... 14 更多通过: java.net.SocketException:在 java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109) 在 java.net.SocketOutputStream.write(SocketOutputStream.java: 153) 在 java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) 在 java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) 在 org.drizzle.jdbc.internal.mysql.packet.commands.MySQLPingPacket.send (MySQLPingPacket.java:47) 在 org.drizzle.jdbc.internal.mysql.MySQLProtocol.ping(MySQLProtocol.java:419) ... 15 更多无法 ping:org.drizzle.jdbc.DrizzleConnection.isValid(DrizzleConnection.java:948) 的 org.drizzle.jdbc.internal.mysql.MySQLProtocol.ping(MySQLProtocol.java:424) 的管道损坏 ... 14 更多通过: java.net.SocketException:在 java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109) 在 java.net.SocketOutputStream.write(SocketOutputStream.java: 153) 在 java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) 在 java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) 在 org.drizzle.jdbc.internal.mysql.packet.commands.MySQLPingPacket.send (MySQLPingPacket.java:47) 在 org.drizzle.jdbc.internal.mysql.MySQLProtocol.ping(MySQLProtocol.java:419) ... 15 更多mysql.MySQLProtocol.ping(MySQLProtocol.java:424) at org.drizzle.jdbc.DrizzleConnection.isValid(DrizzleConnection.java:948) ... 14 更多原因:java.net.SocketException:java.net 的管道损坏。 SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109) at java.net.SocketOutputStream.write(SocketOutputStream.java:153) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java: 82) 在 java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) 在 org.drizzle.jdbc.internal.mysql.packet.commands.MySQLPingPacket.send(MySQLPingPacket.java:47) 在 org.drizzle.jdbc.internal .mysql.MySQLProtocol.ping(MySQLProtocol.java:419) ... 15 更多mysql.MySQLProtocol.ping(MySQLProtocol.java:424) at org.drizzle.jdbc.DrizzleConnection.isValid(DrizzleConnection.java:948) ... 14 更多原因:java.net.SocketException:java.net 的管道损坏。 SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109) at java.net.SocketOutputStream.write(SocketOutputStream.java:153) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java: 82) 在 java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) 在 org.drizzle.jdbc.internal.mysql.packet.commands.MySQLPingPacket.send(MySQLPingPacket.java:47) 在 org.drizzle.jdbc.internal .mysql.MySQLProtocol.ping(MySQLProtocol.java:419) ... 15 更多948)... 14 更多原因:java.net.SocketException:java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109) 的 java.net.SocketOutputStream.socketWrite0(Native Method) 的管道损坏。 SocketOutputStream.write(SocketOutputStream.java:153) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) at org.drizzle.jdbc.internal.mysql .packet.commands.MySQLPingPacket.send(MySQLPingPacket.java:47) 在 org.drizzle.jdbc.internal.mysql.MySQLProtocol.ping(MySQLProtocol.java:419) ... 15 更多948)... 14 更多原因:java.net.SocketException:java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109) 的 java.net.SocketOutputStream.socketWrite0(Native Method) 的管道损坏。 SocketOutputStream.write(SocketOutputStream.java:153) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) at org.drizzle.jdbc.internal.mysql .packet.commands.MySQLPingPacket.send(MySQLPingPacket.java:47) 在 org.drizzle.jdbc.internal.mysql.MySQLProtocol.ping(MySQLProtocol.java:419) ... 15 更多write(SocketOutputStream.java:153) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) at org.drizzle.jdbc.internal.mysql.packet .commands.MySQLPingPacket.send(MySQLPingPacket.java:47) 在 org.drizzle.jdbc.internal.mysql.MySQLProtocol.ping(MySQLProtocol.java:419) ... 15 更多write(SocketOutputStream.java:153) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) at org.drizzle.jdbc.internal.mysql.packet .commands.MySQLPingPacket.send(MySQLPingPacket.java:47) 在 org.drizzle.jdbc.internal.mysql.MySQLProtocol.ping(MySQLProtocol.java:419) ... 15 更多

有人可以帮我吗?

0 投票
2 回答
289 浏览

mysql - 使用 MariaDB 的 Ruby convert_tz 返回 nil

做常规时:

直接在 MariaDB 服务器上,它将产生:

但如果通过 ruby​​ 1.8.7 或 1.9.3 宽度完成:

它将产生:

对 MySQL 设置执行相同操作:

结果是:

现在在 MySQLWorkbench 中测试,同样的错误结果在那里发生,返回 null 而不是转换后的时间。

所以我想这是 MariaDB 中的东西还是?

0 投票
8 回答
458664 浏览

mysql - 将 int 转换为 varchar

我有以下查询,需要转换idvarchar

架构

我试过的

但他们不工作。请建议。

0 投票
1 回答
4497 浏览

sql - 为 UUID 插入触发器之前的 MariaDB

我在Windows 64 平台上使用MariaDB 5.5.29 。我创建了这张表:

现在我想确保,如果未提供 UUID(将其作为主键)会自动插入。因此,我创建了这个触发器:

确保所有内容都已提交(即使架构更改不需要它):

现在,当我尝试用这个插入新行时:

我希望触发器将新的 UUID 放置到位,然后成功插入表中。但是会发生什么:

这绝对是正确的答案,因为我没有提供 UUID。触发器应该自动填充它。

我试图用 unhex 来制定触发器,只是为了确保生成的值适合该字段:

结果还是一样。

问题是:我做错了什么?

0 投票
1 回答
897 浏览

mysql - MySQL/MariaDB sql/password.c 中的安全漏洞

今天在扫描我的网站时,它显示了“MySQL/MariaDB sql/password.c 中的漏洞”

我不明白这是什么,以及如何解决它。我用谷歌搜索了它,但我没有找到关于这个问题的太多信息。

0 投票
1 回答
92 浏览

php - CASE BETWEEN 声明

我的数据库中有一个简单的日志表。对于每个页面访问,插入一行。现在我想总结一下今天和昨天的某个专栏。

我尝试了以下查询:

以下 PHP 脚本的结果:

“昨天”仍为 NULL,但我认为此查询没有任何问题。任何的想法?

0 投票
1 回答
925 浏览

mysql - base64 编码 HTML 编辑器文本以存储在数据库中

我正在处理一个已经开始的网络项目,并注意到通过 HTML 编辑器生成的内容在存储在数据库中之前是用 base64 编码的。我想以前的开发人员这样做是为了以防用户写了一些数据库引擎可能不知道的字符,我的意思是对于没有安装字符集的语言,但我想知道这是否是一种好的做法或行为。

这里的问题不是如何在 CLOB 适合的地方存储一堆数据,而是如何处理未知字符。

谁能指出我存储通过 HTML 编辑器生成的 HTML 文本的正确方向?我真的需要为此烦恼还是只是假设我的数据库将支持任何语言字符集?

谢谢

0 投票
3 回答
5867 浏览

macports - 为什么 macports 更新后 mariadb 不监听端口 3306?

在 mariadb 端口更新后的某个时间点,她拒绝在启动时监听 3306。

我确保没有跳过网络指令,甚至尝试用“=OFF”添加一个,但什么也没做……但奇怪的是它一直在工作,而且“我没有改变任何东西”。

然而,当我跑步时:

/opt/local/lib/mariadb/bin/mysqladmin variables -u root -p | grep skip_networking

我认为跳过网络是开启的。

我的配置有这个:

并且根本没有跳过网络设置。

即使通过命令行传递端口和绑定地址也不会让它监听。

0 投票
0 回答
850 浏览

python - Python MySQLdb MyIsam 等待表元数据锁定

我在 Debian Squeezy 上使用 1.2.2 MySQLdb 和 Python 2.6.6 和 MariaDB 5.5.30。所有表都使用 MyIsam 引擎。

我的代码正在将一些数据写入临时表,然后将其插入永久表并在此之后截断 temp。因此,临时表是某种缓冲区。

有时(经常,但并非总是)它会在截断时冻结。MySQL 命令行客户端显示它正在等待表元数据锁定。没有其他可能锁定表的进程。

我试图打开自动提交,手动提交或刷新表(见注释行)。两者都没有帮助。

这是代码:

那么,为什么它会被锁定以及如何修复它?