小编Rol*_*DBA的帖子

使用 AUTOCOMMIT = 0 是否更好

AUTOCOMMIT = 0如果插入查询看起来像这样,在 MySQL 中批量插入数据之前使用(用于性能调整)是否更好

INSERT INTO SomeTable (column1, column2) VALUES (val1,val2),(val3,val4),... ?

mysql innodb auto-commit

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

您如何在 Unix 上找到 Oracle RAC 的主页信息?

需要帮助在 RAC 环境中找到与数据库实例对应的 Oracle 主路径。我知道实现相同目标的方法很少。在下面列出它们以避免相同的答案。

  1. /etc/oratab 此文件不是强制性的,因此可能不包含所有实例信息。

  2. 解析 Listener.ora 的内容 在 RAC 环境中,listener.ora 可以位于非默认位置。

  3. 使用 TNS_ADMIN 查找 Listener.ora 位置并解析文件。

  4. ORACLE_HOME 环境变量可能不会始终设置。

  5. ps -ef | grep tns从服务名称获取主路径。提供当前正在运行的侦听器的路径

  6. select "SYSMAN"."MGMT$TARGET_COMPONENTS"."HOME_LOCATION"
    from "SYSMAN"."MGMT$TARGET_COMPONENTS"
    where "SYSMAN"."MGMT$TARGET_COMPONENTS"."TARGET_NAME" = <Database SID>

    首次登录 oracle 后,可以删除架构 sysman。

  7. SELECT NVL(SUBSTR(FILE_SPEC, 1, INSTR(FILE_SPEC, '\', -1, 2) -1) , SUBSTR(FILE_SPEC, 1, INSTR(FILE_SPEC, '/', -1, 2) -1)) FOLDER
    FROM DBA_LIBRARIES
    WHERE LIBRARY_NAME = 'DBMS_SUMADV_LIB';

    因此,如果 DBA 在安装 Oracle 后更改 Oracle Home(以及 libqsmashr.so 的位置),则从上述查询中检索到的路径将无效。

  8. . oraenv 仅适用于 11g

我试图找出一种适用于所有 Oracle 版本的通用方法,它不应该依赖于对 DBA …

oracle unix

5
推荐指数
1
解决办法
3852
查看次数

仅导出上个月修改的行(用户定义的日期)

我在问是否可以在 MySQL 中仅导出在一段时间内修改的行,例如在过去一个月中修改的行,如果可能,如何?

mysql mysqldump backup mysql-5.5 row-modification-time

5
推荐指数
1
解决办法
5668
查看次数

如何通过插入、更新和删除操作确定每天写入的数据量?

SSD 的寿命在很大程度上取决于插入、更新和删除操作写入的字节数。准确确定 MariaDB 5.5 每天写入多少数据的最佳方法是什么,以便我可以使用它来估计 SSD 在大量写入数据库环境中使用的可能寿命?

当前设置是所有表都是 InnoDB。我可以使用Innodb_data_writtenUptime来确定每天写入的字节数的粗略概念,还是有更好的方法?

mysql innodb mariadb

5
推荐指数
1
解决办法
5060
查看次数

使用主键进行排序时进行文件排序

过去两天我一直为此而头疼。

CREATE TABLE `clients` (
    `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `guarantor_name` varchar(50) NOT NULL,
    `guarantor_dob` date DEFAULT NULL,
    `guarantor_relationship` int(11) DEFAULT '14',
    `telephone_number` varchar(50) DEFAULT NULL,
    `telephone_type` int(11) DEFAULT '7',
    `state` varchar(50) DEFAULT '',
    `pincode` mediumint(6) unsigned NOT NULL,
    `income` int(11) DEFAULT NULL,
    `family_income` int(11) DEFAULT NULL,
    `name` varchar(100) NOT NULL,
    `gender` int(11) DEFAULT '2',
    `marital_status` int(11) DEFAULT '1',
    `reference` varchar(100) DEFAULT NULL,
    `reference_type` int(11) DEFAULT '4',
    `reference2` varchar(50) DEFAULT NULL,
    `reference2_type` int(11) DEFAULT '2',
    `spouse_name` varchar(100) DEFAULT NULL, …
Run Code Online (Sandbox Code Playgroud)

mysql optimization order-by

5
推荐指数
1
解决办法
1034
查看次数

为什么 mysqldump 返回错误 1143:无法执行 'show table status like

我运行以下命令来创建一个 mysqldump

mysqldump -ubackup -psomething --single-transaction --quick somedatabase | gzip > 4_19.gz
Run Code Online (Sandbox Code Playgroud)

在创建转储的 60%(估计 zip 文件的检查大小)后,我收到以下错误:

mysqldump: Couldn't execute 'show table status like 'customer\_cohort\_paid'': SELECT command denied to user ''@'%' for column 'customer_id' in table 'sales_order' (1143)
Run Code Online (Sandbox Code Playgroud)

它谈到了一个空白用户的权限问题user ''@'%'。此外,grants对于backup用户如下:

mysql> show grants for 'backup'@'%';
+------------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for backup@%                                                                                                                            |
+------------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT SELECT, LOCK TABLES, SHOW VIEW, EVENT, TRIGGER ON *.* TO 'backup'@'%' IDENTIFIED BY PASSWORD '*SOMETHING' |
+------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set …
Run Code Online (Sandbox Code Playgroud)

mysql mysqldump backup mysql-5.5

5
推荐指数
1
解决办法
2万
查看次数

mysql 实例过多。怎么杀?

我应该为自己感到羞耻,因为我知道。

查看附件中的此屏幕截图。 在此处输入图片说明

我的服务器确实没有看到大量的流量,不应该超载。Mysql 正在举办一个派对,邀请了所有人。问题是我不喜欢这种狂野的派对。

我怎么杀这个东西?我如何对其进行监管以使其不会继续发生?很快,我的主人就会报警,所有人的聚会都将结束。

mysql process instance mysqld

5
推荐指数
1
解决办法
2896
查看次数

MySQL v5.1.73 - 主从之间的 binlog_format 可以不同吗?

在生产中使用 MySQL 复制之前,我们正在对其进行测试。在我们的案例中,MySQL 是由 Puppet 设置的,我注意到 master 和 slave 之间的 binlog_format 设置不同。

在主人上:

mysql> show variables like 'binlog_format' \G
*************************** 1. row ***************************
Variable_name: binlog_format
        Value: ROW
Run Code Online (Sandbox Code Playgroud)

在奴隶上:

mysql> show variables like 'binlog_format' \G
*************************** 1. row ***************************
Variable_name: binlog_format
        Value: STATEMENT
Run Code Online (Sandbox Code Playgroud)

有时,复制会中断并显示类似于以下内容的错误:

Last_SQL_Error:无法在表 test.pruning 上执行 Delete_rows 事件;在“修剪”中找不到记录,错误代码:1032;处理程序错误 HA_ERR_KEY_NOT_FOUND; 事件的主日志 mysql-bin.000002, end_log_pos 1448

不知道是不是master和slave的binlog_format设置不同导致的。

上述错误可能是由这种不一致的设置引起的吗?我应该将奴隶更改为基于“行”的格式吗?很难重现该错误,因此我正在寻找我们应该遵循的最佳实践,而且我们对 MySQL 非常陌生。

mysql replication mysql-5 mysql-5.1 binlog

5
推荐指数
1
解决办法
1792
查看次数

MySQL :: 如何为数据库中的所有表运行 ANALYZE TABLE

我正在使用 MySQL 5.7

如何为数据库中的所有表运行 ANALYZE TABLE。如果将来将新表添加到数据库中,它应该可以工作。

这是为了刷新表索引的统计信息。

mysql index-statistics mysql-5.7

5
推荐指数
3
解决办法
659
查看次数

如何在恢复 mysqldump 文件时跳过现有数据?

我使用此查询使用 MySQL Dump(命令提示符/命令行)导入数据

mysql -u root -p database_name < database_name.sql
Run Code Online (Sandbox Code Playgroud)

我想导入大型数据库(仅新的增量),现在我删除数据库并重新导入,但我只想导入新的增量。

mysql mysqldump command-line import restore

5
推荐指数
1
解决办法
8836
查看次数