标签: mysql

mysqldump 抛出:信息模式中的未知表“COLUMN_STATISTICS”(1109)

每次我尝试制作时,mysqldump都会出现以下错误:

$> mysqldump --single-transaction --host host -u user -p db > db.sql
mysqldump: Couldn't execute 'SELECT COLUMN_NAME, JSON_EXTRACT(HISTOGRAM,
'$."number-of-buckets-specified"') FROM
information_schema.COLUMN_STATISTICS WHERE SCHEMA_NAME = 'db' AND
TABLE_NAME = 'Absence';':
Unknown table 'COLUMN_STATISTICS' in information_schema (1109)
Run Code Online (Sandbox Code Playgroud)

结果是一个不完整的转储。奇怪的是,从另一台主机执行的相同命令可以正常工作而不会引发任何错误。有人遇到过同样的问题吗?

我正在使用 mysql-client8.0并尝试访问 mysql5-7服务器 - 也许这就是原因?

mysql mysqldump

357
推荐指数
8
解决办法
22万
查看次数

如何将 MySQL 服务器绑定到多个 IP 地址?

有没有一种秘密方法可以将 MySQL 绑定到多个 IP 地址?

据我所知,my.cnf 中的bind-address参数不支持多个 IP,并且您不能拥有多个 IP。

mysql linux configuration ip

295
推荐指数
8
解决办法
64万
查看次数

如何将 sql.gz 文件加载到我的数据库?(输入)

我正在尝试将 gzip 压缩的 SQL 文件直接导入 mysql。这是正确的方法吗?

mysql -uroot -ppassword mydb > myfile.sql.gz
Run Code Online (Sandbox Code Playgroud)

mysql database gzip import

192
推荐指数
6
解决办法
34万
查看次数

为什么 MySQL 命令行工具会忽略 --port 参数?

这就是我正在做的:

mysql --host=localhost --port=9999 mysql -u root -p --execute="show tables;"
Run Code Online (Sandbox Code Playgroud)

无论我在--port参数中提供什么,该命令都有效(连接到端口 3306)。我在一台机器上运行着两台 mysql 服务器,我想通过明确提供它的端口号来连接到第二台。这是怎么回事?为什么mysql忽略这个参数?

mysql port

112
推荐指数
1
解决办法
9万
查看次数

InnoDB:错误:日志文件 ./ib_logfile0 大小不同

在将一个数据库转换为使用 InnoDB 引擎后,我只是在 /etc/mysql/my.cnf 中添加了以下几行。

innodb_buffer_pool_size = 2560M
innodb_log_file_size    = 256M
innodb_log_buffer_size  = 8M
innodb_flush_log_at_trx_commit  = 2
innodb_thread_concurrency   = 16
innodb_flush_method = O_DIRECT
Run Code Online (Sandbox Code Playgroud)

但它在第 2 行引发“ERROR 2013 (HY000): Lost connection to MySQL server during query”错误重启mysqld。并且mysql错误日志显示如下

InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes
InnoDB: than specified in the .cnf file 0 268435456 bytes!
100118 20:52:52 [ERROR] Plugin 'InnoDB' init function returned error.
100118 20:52:52 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
100118 20:52:52 [ERROR] …
Run Code Online (Sandbox Code Playgroud)

mysql innodb log-files

108
推荐指数
1
解决办法
15万
查看次数

如何在 MySQL 中显示用户的权限?

我知道我可以通过以下简单的方式设置用户的权限:

grant all on [database name].[table name] to [user name]@[host name];
Run Code Online (Sandbox Code Playgroud)

但是我怎么能看到现有的特权呢?

我需要查看与授权中使用的数据类似的数据。换句话说,我想知道给定的用户可以从给定的主机访问给定数据库的给定表。

我怎么才能得到它?

mysql permissions users

107
推荐指数
2
解决办法
32万
查看次数

在 Postgres 中是否有等效于 MySQL 的 SHOW CREATE TABLE?

SHOW CREATE TABLEPostgres 中是否有相当于 MySQL 的版本?这可能吗?如果不是,下一个最佳解决方案是什么?

我需要该语句,因为我使用它在远程服务器上(通过 WCF)创建表。

mysql postgresql sql

102
推荐指数
5
解决办法
11万
查看次数

Postgres 相当于 MySQL 的 \G?

有谁知道 Postgres 是否有一种方法可以“漂亮地”显示查询结果,就像 MySQL 在命令行上用 \G 结束查询时所做的那样?例如,“select * from sometable\G”而不是“select * from sometable;”

非常感谢!

mysql postgresql

101
推荐指数
4
解决办法
4万
查看次数

mysqldump 到 tar.gz

通常在使用mysqldump命令转储 MySQL 数据库后,我会立即 tar/gzip 生成的文件。我正在寻找一种在一个命令中执行此操作的方法:

所以从这个:

mysqldump dbname -u root -p > dbname.sql
tar czvf dbname.sql.tgz dbname.sql
rm dbname.sql
Run Code Online (Sandbox Code Playgroud)

对于这样的事情:

mysqldump dbname -u root -p > some wizardry > dbname.sql.tgz
Run Code Online (Sandbox Code Playgroud)

或者甚至更好(因为我通常将转储文件 scp 到另一台服务器):

mysqldump dbname -u root -p > send dbname.sql.tgz to user@host
Run Code Online (Sandbox Code Playgroud)

我在 debian 上运行 bash。

mysql debian bash tar gzip

98
推荐指数
5
解决办法
16万
查看次数

如何从 MySQL 导出权限,然后导入到新服务器?

我知道如何使用 mysqldump 导出/导入数据库,这很好,但我如何将权限授予新服务器。

额外的一点是,新数据库上已经有几个现有数据库,如何导入旧服务器权限而不破坏现有的几个数据库。

旧服务器:5.0.67-社区

新服务器:5.0.51a-24+lenny1

编辑:我从旧服务器上获得了 db 'mysql' 的转储,现在想知道与新服务器上的 'mysql' db 合并的正确方法。

我尝试使用 phpMyAdmin 直接“导入”,结果出现了关于重复的错误(我已经手动迁移过)。

任何人都有合并两个“mysql”数据库的优雅方式?

mysql linux debian mysql-replication database-administration

94
推荐指数
7
解决办法
14万
查看次数