AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题

问题[mysqldump](dba)

Martin Hope
bluesquare
Asked: 2022-07-13 08:47:09 +0800 CST

mysqldump 不接受 --socket、--all-databses、--user、--password 的组合

  • 0

Linux,2 个 mariadbs,每个都有自己的 .sock。

以root身份转储工作正常:

[root@host]$ mysqldump --socket=/tmp/mysqlsecond.sock --all-databases > $sqlfile

作为非 root 备份用户转储需要用户和密码参数,所以我添加了这些:

[backup@host]$ mysqldump --socket=/tmp/mysqlsecond.sock --user $user --password $password --all-databases> $sqlfile

但结果是:

Usage: mysqldump [OPTIONS] database [tables]
OR     mysqldump [OPTIONS] --databases DB1 [DB2 DB3...]
OR     mysqldump [OPTIONS] --all-databases
OR     mysqldump [OPTIONS] --system=[SYSTEMOPTIONS]]
For more options, use mysqldump --help

我也在主数据库上创建了备份用户(尝试不使用--socket):

mysqldump --user $user --password $password --all-databases > $sqlfile

但同样的用法打印出来。我尝试了各种arg命令,有什么冲突?

mysqldump mariadb
  • 1 个回答
  • 22 Views
Martin Hope
Paul
Asked: 2022-07-08 12:38:17 +0800 CST

使用 mysqldump 时跳过视图

  • 1

我想创建一个命令行脚本,它只备份我数据库中的表。有没有办法做到这一点?

我考虑过只指定表使用

SELECT table_name 
FROM information_schema.TABLES  
WHERE table_schema = 'flight_serve_png'  AND table_type = 'base table'

但希望有一个更简单的解决方案。

mysql mysqldump
  • 2 个回答
  • 622 Views
Martin Hope
cccfran
Asked: 2022-06-27 11:43:10 +0800 CST

加载巨大的mysqldump(500G)

  • 1

我有一个 500G 的 mysqldump 要加载,它似乎需要很长时间。我的服务器配备 Intel i9-10920X @ 3.5GHz 和 128GB RAM。数据库设置在 HDD 硬盘中。我的 mysql (Ver 8.0.29-0ubuntu0.20.04.3) 设置如下:

innodb_buffer_pool_size = 32G
innodb_log_buffer_size = 512M
innodb_log_file_size = 2G
innodb_write_io_threads = 32
innodb_flush_log_at_trx_commit = 0
innodb_doublewrite = 0

我在源 .sql 文件之前进一步设置了以下内容:

SET global max_allowed_packet=1000000000;
SET autocommit=0;
SET unique_checks=0;
SET foreign_key_checks=0;

现在它每秒读取 20k 行。如何进一步优化?谢谢!

mysql mysqldump
  • 2 个回答
  • 111 Views
Martin Hope
Ivan
Asked: 2022-03-15 07:22:49 +0800 CST

解析mysql客户端版本

  • 0

我需要使用某些参数以编程方式调用 mysqldump。我尝试使用--source-data选项或--master-data选项。

文档中有以下短语:

从 MySQL 8.0.26 开始,使用--source-data,在MySQL 8.0.26 之前,使用 --master-data

为了使用正确的参数,我需要确定 MySQL 客户端的版本。但在这里我面临一个问题。我在不同的服务器上运行mysqldump --version 命令,发现版本没有正式化,在不同的服务器上以不同的格式输出。

在一台服务器上,我得到以下结果:

mysqldump Ver 8.0.28-0ubuntu0.20.04.3 for Linux on x86_64 ((Ubuntu))

以及另一台服务器上的以下内容:

mysqldump Ver 10.13 Distrib 5.7.37, for Linux (x86_64)

格式明显不同。在这种情况下,版本处于不同的位置。在第一个服务器版本上是8.0.28,在另一个服务器版本上是5.7.37. 也许还有其他格式?如何简单地以major.minor.path格式获取客户端版本?

似乎正则表达式 \d*\.\d*\.\d*是一个合适的选择。但另一方面,这似乎是一个不可靠的解决方案,因为可能有更多格式用于如何输出 MySQL 客户端版本。

mysql mysqldump
  • 1 个回答
  • 43 Views
Martin Hope
Fariman Kashani
Asked: 2021-09-11 02:22:11 +0800 CST

mysql - 仅从完整转储中导入数据?

  • 1

我有一个来自数据库 A 的完整转储。我只想将此转储的数据导入数据库 B。数据库 B 的结构与数据库 A 相同,只是它缺少一些表。我怎样才能做到这一点?

我不导入完整转储并删除额外表的原因是数据库 B 在 RDS 上,当我将转储文件导入其中时,导入作业将在其中停止。我试了三遍,数据库很大。每三次,它就停在同一个地方。RDS 日志没有显示任何内容。所以我决定只从转储文件中导入数据。

mysql mysqldump
  • 1 个回答
  • 271 Views
Martin Hope
acgbox
Asked: 2021-08-26 12:09:20 +0800 CST

如何使用 mysqldump 恢复一个 mysql 数据库

  • 1

进行备份我运行:

mysqldump --host=localhost --user=root --password=whatever --single-transaction --routines --triggers --log-error=error.txt mydatabase > out.sql

是否可以使用 mysqldump 反向执行相同的操作(恢复 out.sql)?

如果不可能,在与 mysqldump 导出数据库相同的条件下,最推荐的导入数据库 out.sql 的命令是什么

mysql mysqldump
  • 1 个回答
  • 94 Views
Martin Hope
Somethingwhatever
Asked: 2021-06-20 19:17:08 +0800 CST

Mysql Innodb 错误号 24 表示“打开的文件太多”?

  • 1

我正在使用 mysqldump 恢复我的数据库,但它出错了

ERROR 1030 (HY000) at line 637885: Got error 168 from storage engine

当我检查日志时,我看到了这个:-

2021-06-20T02:43:28.598142Z 113 [ERROR] InnoDB: Operating system error number 24 in a file operation.
2021-06-20T02:43:28.604918Z 113 [ERROR] InnoDB: Error number 24 means 'Too many open files'
2021-06-20T02:43:28.604935Z 113 [Note] InnoDB: Some operating system error numbers are described at http://dev.mysql.com/doc/refman/5.7/en/operating-system-error-codes.html
2021-06-20T02:43:28.604950Z 113 [ERROR] InnoDB: File ./minerva@002dv085/FTS_0000000000029783_0000000000042996_INDEX_1.ibd: 'create' returned OS error 124.
2021-06-20T02:43:28.604956Z 113 [ERROR] InnoDB: Operating system error number 24 in a file operation.
2021-06-20T02:43:28.604960Z 113 [ERROR] InnoDB: Error number 24 means 'Too many open files'
2021-06-20T02:43:28.604964Z 113 [Note] InnoDB: Some operating system error numbers are described at http://dev.mysql.com/doc/refman/5.7/en/operating-system-error-codes.html

这是我的配置文件当前的样子:-

[mysqld_safe]
socket      = /var/run/mysqld/mysqld.sock
nice        = 0

[mysqld]
user        = mysql
pid-file    = /var/run/mysqld/mysqld.pid
socket      = /var/run/mysqld/mysqld.sock
port        = 3306
basedir     = /usr
datadir     = /var/lib/mysql
tmpdir      = /tmp
lc-messages-dir = /usr/share/mysql
bind-address = 0.0.0.0
#
# * Fine Tuning
#
key_buffer_size     = 32M
max_allowed_packet  = 64M
thread_stack        = 192K
thread_cache_size       = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover-options  = BACKUP
max_connections        = 2000
innodb_open_files = 100000
sql_mode= 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
table_open_cache       = 4000
#thread_concurrency     = 10
explicit_defaults_for_timestamp = ON
optimizer_trace_max_mem_size = 1M
back_log = 5000
max_error_count = 1024
event_scheduler = ON

#
# * Performance Schema 
#
performance-schema-instrument='wait/lock/metadata/sql/mdl=ON'
performance-schema-instrument='memory/%=COUNTED'
performance-schema-consumer-events-transactions-current = ON
performance-schema-consumer-events-transactions-history = ON
performance-schema-instrument='transaction%=ON'
query_cache_limit   = 1M
query_cache_size        = 16M

#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
#general_log_file        = /var/log/mysql/mysql.log
#general_log             = 1
#
# Error log - should be very few entries.
#
log_error = /var/log/mysql/error.log
#
# Here you can see queries with especially long duration
#log_slow_queries   = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
#       other settings you may need to change.
server-id      = 1
log_bin            = /var/log/mysql/mysql-bin.log
expire_logs_days    = 5
max_binlog_size   = 100M
master-info-repository = TABLE
relay-log-info-repository = TABLE

#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
#
innodb_buffer_pool_size = 8G
innodb-log-file-size = 512M
innodb_flush_neighbors = 1
innodb_max_dirty_pages_pct_lwm = 10
innodb_max_dirty_pages_pct = 90
slave_skip_errors=1062,1032,1050,1236,1813,1146,1305,1396,1217

有人可以指出我应该如何解决上述错误吗?谢谢你。

mysqldump mysql-5.7
  • 1 个回答
  • 1069 Views
Martin Hope
Racer SQL
Asked: 2021-03-06 05:40:02 +0800 CST

找不到mysqldump的exe

  • 1

在专注于 sql server 6 年后,我刚刚学习 MYSQL(愚蠢的我)。

我正在研究那里的备份是如何工作的,但我找不到mysqldump执行备份的文件。在 DOS 上,它说该命令无法识别,我无法找到它在命令行中使用完整补丁。

它应该分开下载吗?

也因为我们在这里。使用 SQL Server,我们为备份创建了一个物理文件。如果我没记错的话,使用 MYSQL,我们创建一个 DUMP 文件,其中包含插入数据和再次创建对象的“命令”,对吗?

mysql mysqldump
  • 1 个回答
  • 1036 Views
Martin Hope
Jos
Asked: 2021-02-10 17:04:29 +0800 CST

MySql Master Master 不同步

  • 0

我有 2 个带有 Master-Master 复制设置的 MySql 节点。MySql1 具有读写权限并处于当前状态。由于空间问题,MySql2 仅具有读取权限并停止工作。如何解决此问题并重新同步。

mysql mysqldump
  • 1 个回答
  • 322 Views
Martin Hope
matt
Asked: 2021-01-09 06:08:58 +0800 CST

mysqldump 使用和不使用 --no-create-info 转储不同的数据

  • 1

mysqldump使用/不调用时转储不同的数据表示形式--no-create-info。

测试用例

首先,创建test表并用有趣的数据填充它。

CREATE TABLE `test` (
  `value` longtext
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- insert 'crème'
insert into test values(UNHEX('6372C3A86D65'));

然后,使用 with 和 without 转储数据--no-create-info:

mysqldump test_db test > dump_test.sql
mysqldump --no-create-info test_db test > dump_test2.sql

这些文件对crème的编码方式不同:

  • dump_test.sql将其编码为0x6372C3A86D65( èis 0xC3A8)
  • dump_test2.sql将其编码为0x63725CE86D65( èis 0x5CE8)

从正常工作中恢复转储dump_test.sql,将恢复完整的行:

mysql test_db < dump_test.sql

恢复转储dump_test2.sql会产生不正确的结果,其中数据被截断为cr( 0x6372)。请注意,表的结构是相同的:

mysql test_db < dump_test2.sql

没有错误也没有警告。这两个文件的不同之处 - 除了编码之外crème- 仅通过:

-- Table structure for table `test`
--

DROP TABLE IF EXISTS `test`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `test` (
  `value` longtext
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
/*!40101 SET character_set_client = @saved_cs_client */;

--

问题

为什么会这样?它在任何地方都有记录吗?我可以/如何正确恢复使用--no-create-info数据创建的转储?

附加信息

# mysqldump used to dump the database
$ mysqldump -V
mysqldump  Ver 8.0.22-0ubuntu0.20.04.3 for Linux on x86_64 ((Ubuntu))
# Server
version_component: Percona Server (GPL), Release '35', Revision '5688520'
version: 5.7.32-35
mysql mysqldump
  • 1 个回答
  • 649 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve