问题标签 [mysql-8.0]
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 - 秒差意外结果
我需要计算两个日期之间的秒数差异。由于其限制,我不能使用 TIMEDIFF 。
当我使用:
它返回预期的 86400 秒(24 小时),但是当我使用时:
似乎它没有给出 86400*2 而是 169200 而是给出了 47 小时。
问题是——为什么会这样?它是错误还是功能?有没有其他合理的方法来计算时差而不用担心时间限制?
mysql - 如何将 REGEXP 与单词边界等转义序列一起使用?
它在 MySQL (8.0.5+) 中无法使用 ICU-REGEXP 在单词边界上执行搜索。据我了解应该是a-la
但这个选项不起作用。
mysql - ERROR 2002 (HY000): Can't connect to local MySQL server through sock error on homebrew after MySQL 8.0
我通过自制软件从 5.7 升级到 MySQL 8.0,发现它不起作用(也许另一个原因可能是我使用 Mojave Beta,但我不确定)。
该mysql
命令让我得到以下信息:
ERROR 2002 (HY000): 无法通过套接字 '/tmp/mysql.sock' 连接到本地 MySQL 服务器 (2)
根据brew mysql info
,我必须通过 启动它brew services start mysql
,所以我启动了它(实际上它已经在运行,所以我重新启动了),但上面的消息没有任何变化。
此外,ps -xa | grep mysql
除了 grep 本身之外,没有列出任何内容。
那么是什么导致了我的环境中的启动错误,我该如何进一步调查这个问题?
回答
不幸的是,用户关闭了这个与版本 8.0 升级明显相关的问题,然后将我引导到没有答案的问题,所以我不能在这里发布我的答案,但如果你遇到同样的问题,请检查我刚才的答案在链接页面上写道。
mysql - 使用 mysql 8 SHA2 进行 dovecot 密码散列
以前(MySQL 5.7)我们使用此命令将新的电子邮件地址添加到现有表中:
然后 dovecot 能够对用户进行身份验证。(有关 dovecot 密码方案的更多信息
)
现在加密已在最新版本的 MySQL 中被弃用。(链接)
我想使用 SHA2 重写该命令,但没有成功。
编辑:
这可以帮助某人使用如何使用 Postfix、Dovecot、MySQL 和 SpamAssassin配置邮件服务器来配置带有 8.0 版 Mysql 的邮件服务器。
mysql - 如何永久禁用 MySQL 8 中的列统计信息?
从MySQL 8开始,默认情况下启用该column-statistics
标志。
因此,如果您尝试使用MySQL Workbench 8.0.12 转储一些表,您会收到以下错误消息:
14:50:22 Dumping db (table_name) Running: mysqldump.exe --defaults-file="c:\users\username\appdata\local\temp\tmpvu0mxn.cnf" --user=db_user --host=db_host - -protocol=tcp --port=1337 --default-character-set=utf8 --skip-triggers "db_name" "table_name" mysqldump: 无法执行 'SELECT COLUMN_NAME, JSON_EXTRACT(HISTOGRAM, '$."number-of -buckets-specified"') FROM information_schema.COLUMN_STATISTICS WHERE SCHEMA_NAME = 'db_name' AND TABLE_NAME = 'table_name';': information_schema (1109) 中的未知表 'COLUMN_STATISTICS'
操作失败,退出代码 2 14:50:24 C:\path\to\my\dump 的导出已完成,出现 1 个错误
MySQL (Workbench) 8 中有什么方法可以column-statistics
永久禁用吗?
解决方法 1
一个烦人的解决方法是通过以下方式手动完成:
解决方法 2
- 重命名 mysqldump
- 创建一个shell 脚本(或 Windows 上的批处理)
--column-statistics=0
使用此脚本中的参数调用重命名的 mysqldump- 将其保存为 mysqldump
解决方法 3
- 下载MySQL 5.7
- 提取 mysqldump
- 使用这个 mysqldump
例如在 MySQL Workbench 中:Edit / Preferences... / Administration / Path to mysqldump Tool
提前致谢!
php - sql请求错误语法
嘿伙计们,我的问题很简单:我有这个要求:
我在 mysql 5 中并且可以工作,但我升级到 mysql 8 并且知道我有这个错误:
object(Doctrine\DBAL\Exception\SyntaxErrorException)#707 (8) { ["driverException":"Doctrine\DBAL\Exception\DriverException":private]=> object(Doctrine\DBAL\Driver\PDOException)#766 (10) { ["errorCode":"Doctrine\DBAL\Driver\PDOException":private]=> int(1064) ["sqlState":"Doctrine\DBAL\Driver\PDOException":private]=> string(5) "42000" ["message":protected]=> string(282) "SQLSTATE[42000]: 语法错误或访问冲突:1064 您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本对应的手册以获取正确的语法使用'FROM
profile
ASp
GROUP BY YEAR(p
.created_account
), MONTH(p
.`created_a' at line 1" ["string":"Exception":private]=>string(0) "" ["code":protected]=> string(5) "42000" ["file":protected]=> string(92)
如果这可以帮助我拥有在两个版本中都可以使用的那个:
当我删除该组时,该组有效但未按:/分组,所以我有:
array(9) { [0]=> array(1) { ["month"]=> string(6) "2018-6" } [1]=> array(1) { ["month"]=> string (6) "2018-6" } [2]=> array(1) { ["month"]=> string(6) "2018-7" } [3]=> array(1) { ["month" ]=> string(6) "2018-8" } [4]=> array(1) { ["month"]=> string(6) "2018-8" } [5]=> array(1) { ["month"]=> string(6) "2018-8" } [6]=> array(1) { ["month"]=> string(6) "2018-8" } [7]=> array (1) { ["month"]=> string(6) "2018-8" } [8]=> array(1) { ["month"]=> string(6) "2018-8" } }
那么我应该怎么做才能不重复同月?感谢所有将尝试回答的人:p
ansible - MySQL 8 的 Ansible 安装 - 在没有 mysql-apt-config 的情况下安装存储库
我正在尝试使用 ansible 自动安装 MySQL 8。
但是,此安装需要获取mysql-apt-config。安装后会打开一个配置窗口
我想绕过这个配置,而是在 ansible 中使用apt_repository
.
正确的地址是什么?我在哪里可以找到这个存储库地址,以便我可以使用下载和安装 MySQL apt
?
这给 ansible 带来了问题——我不知道如何在这个窗口中放置一个选项。我试过期望模块
然而,这会引发以下错误
我检查了,并且 pexpect 模块可用。
是否有可能在没有此提示的情况下手动添加 MySQL 存储库?
docker - 当laravel连接时,mac os上的mysql docker在caching_sha2上“崩溃”
我在我的 Mac Mini 上进行了出厂重置,我只想在 OS X 上直接安装 Docker 和一些基本工具,如 git,但其他软件我想使用 docker - 其他软件是指 php、phpstorm、nginx、node 等应用程序, mysql、postgres、phpmyadmin、mysql-workbench ......在许多版本中。我想使用 docker 安装它们以轻松管理它们。对于每个这个工具,我想用我的项目或数据库存储、配置等的代码来映射文件夹......
在设置 mysql 8 期间,我遇到了一个奇怪的问题 - 我能够通过 phpmyadmin 和 mysql-workbench 以 root 身份登录到 db,但我的 php 7 laravel 应用程序在连接期间“挂起”。这是mysql dockerfile:
这是 docker 文件 + 脚本,它允许我在 docker 上通过 cmd 运行 php:
运行 php-cmd docker 容器并“登录”到它以获取命令行的 Bash 脚本:
这/Volumes/work
是包含我的项目代码的目录。“登录”后php artisan migrate
,我运行应用程序挂起 30 秒,然后抛出错误:
SQLSTATE[HY000] [2006] MySQL 服务器已离开 PDO::__construct():
执行caching_sha2 auth 时出现意外的服务器响应:109
mysql - PDOException::("PDO::__construct(): 使用 MySQL 8 / PHP 7.2 / Laravel 执行缓存_sha2 auth 时出现意外的服务器响应:109")
我刚刚安装了我的开发环境。
当我尝试通过 SequelPro 连接 mysql db 时,我得到:
如中所述:无法加载身份验证插件'caching_sha2_password',我运行:
然后我可以通过 SequelPro 连接我的数据库
但是当我执行 Laravel 命令时:
我得到:
我现在该怎么办 ?
PD:我在 Mac 上使用 Laravel Valet 和 Laravel 5.6。