小编Rol*_*DBA的帖子

增加 innodb_buffer_pool_size 对 MySQL 性能的影响

我有两个数据库,一个大小为 170 MB,第二个为 15 MB,都具有 INNODB 表并innodb_buffer_pool_size设置为 8 MB。

我的查询现在响应良好,即在几毫秒内。如果我设置的innodb_buffer_pool_size比默认值多,对性能有什么影响吗?

mysql innodb performance

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

单从-多主 MySQL 复制

我需要将不同的 MySQL 数据库从多个服务器复制到单个从服务器中。如何才能做到这一点?有没有办法定义多个主主机?

mysql replication

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

在 MySQL 中将数据库备份恢复到本地机器

我已经下载.sql了我的数据库服务器的文件。它在D:我的 Windows 机器的驱动器中。

我想在我的这台机器上恢复备份。我用了:

mysql database -u root < backupfile.sql
Run Code Online (Sandbox Code Playgroud)

其中 database 是我在这台机器上的新数据库名称。我的困惑是我backupfile.sqlD:驱动器中,因此我猜有错误。

ERROR 1064 <42000>:You have an error in your SQL syntax;Check the manual that corresponds to your MySQL server version for the right syntax to use near 'mysql database -u root < backupfile.sql' at line 1.
Run Code Online (Sandbox Code Playgroud)

mysql backup restore

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

为什么有些mysql系统变量是只读的

mysql服务器系统变量差不多有277个。在这些变量中,有些变量是动态的,而很少是动态的。

我不明白只读变量背后的原因是什么。为什么mysql系统变量很少是只读的。如果他们使这些变量动态化将会发生什么。

只读变量有什么深层原因吗?

现在我们可以考虑:

  • innodb_buffer_pool_size
  • innodb_校验和
  • 日期时间格式
  • 日志箱

我们还可以在http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html找到许多其他变量

当然,我知道我们不能像这样改变变量version。但许多其他变量log-bin都不是动态的。general_log对我来说,如果和是动态的就没有意义log_slow_queries。为什么 log-bin 不是动态的?同样,还有许多其他变量。

mysql

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

如何恢复/恢复损坏的 Innodb 数据文件?

不久前,运行 MySQL Server 5.5.31 的 Windows 7 系统崩溃并损坏了 InnoDB 数据库。可用的每周备份并未涵盖在此期间创建的所有表,因此我将努力从数据中尽可能多地恢复。崩溃后,我将 MySQL 的整个数据文件夹复制到外部驱动器。我想以此作为我的救援尝试的起点。

在下面,我将描述我的(尚未令人信服的)救援尝试的步骤,并感谢您对如何改进它的任何评论或指导:

  1. 我现在已经在另一台 PC 上全新安装了 MySQL Server 5.5.31
  2. 我在命令提示符下使用“net stop MySQL”停止 MySQL 服务。
  3. 我已经认为我需要调整 my.ini 文件中 innodb 日志文件的大小,因为它偏离了默认值 (19MB) (256 MB)。
  4. 在my.ini中,我还设置了innodb_force_recovery=6
  5. 在全新安装的数据文件夹中,我用从崩溃的机器中恢复的文件覆盖了 ibdata1、iblogfile0、iblogfile1 文件。我还将相关的数据库(UPDATE:和 mysql)文件夹复制到这里(不是标准的mysql、 test 和 performance 文件夹)。
  6. 我用“net start MySQL”启动 MySQL 服务。
  7. 我进入 MySQL Workbench,打开我的服务器实例,转到数据导出,基本上保留默认设置,并将我的数据库的每个表作为单独的转储文件导出。我还设置了要转储的存储过程。否则我不会更改那里的默认设置。
  8. 我开始转储过程;它通过了 195 个表中的 43 个。在这 43 个中,
    • 有些无法恢复,产生错误“ mysqldump: Got error: 1146: Table '...whatever...' 在执行 LOCK TABLES 时不存在”,
    • 但很多都可以。我假设当转储没有产生任何错误时,表的数据没有损坏。
      然后,在 44 日之后,所有其他表转储都失败,因为它报告服务器无法再连接到:
      mysqldump: Got error: 2003: Can't connect …

mysql recovery restore

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

使用 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
查看次数

Amazon RDS - 和二进制日志轮换

RDS 新手(习惯于在自己的数据中心拥有自己的服务器)。

我们在 RDS 上使用 MySQL 5.6。

当从服务器在复制滞后时落后,主服务器将停止轮换其二进制日志。显然,在轮换二进制注销之前,等待每个从站提交每个事务。我在概念上没有问题(只要您在主服务器的磁盘空间上有监视器,这是一件好事)。

我的问题是学术性的——是什么导致这种情况发生?
** 我知道异步复制,主节点不知道从节点的状态

这是同步复制的功能吗?半同步复制?

我想要一些洞察力,也许是指向某处白皮书的指针(我找不到解决二进制日志未被轮换的特定问题的人)

mysql mysql-5.6 amazon-rds

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

比较两个 MySQL 数据库的结构

我有两个非常相似的 MySQL 数据库。如何找出表中的差异,以及每个表中列的差异?

  • 数据库处于不同的模式。
  • 这只是我要比较的结构,而不是数据。

mysql database-design information-schema

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

mysql 实例过多。怎么杀?

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

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

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

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

mysql process instance mysqld

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