タグ付けされた質問 「innodb」

InnoDBは、MySQLで使用される主要なACID準拠のストレージエンジンです。

5
データ読み取り用のMyISAM
約10億行のテーブルがあり、その98%は読み取り集中型です。 異なるストレージエンジン(MyISAMとInnoDB)を使用してデータベースをチューニングしてみました 次に、いくつかのテストを実行してパフォーマンスを表示しました where句には主キーIDがあり、MyISAMキーキャッシュストアはすべてのインデックスをバッファーにロードするため、MyISAMの使用はInnoDBの約2倍の高速なように見えました しかし、InnoDBにとっては遅いように見えました!! InnoDBがインデックスをプリロードするためにバッファーを使用しないのですか?
10 mysql  innodb  myisam 

2
MySQL InnoDBデータベースが選択で「ハング」する
サーバーのMySQL設定を修正しようとしています。私たちのアプリの詳細は、多くのデータが単一のテーブルに格納されていることです(現在は3億行以上)。このテーブルは頻繁に挿入に使用されます(常に挿入されます)。 数秒以上かかるそのテーブルで選択クエリを実行すると、すべての挿入(正確にはコミット)がテーブルアクセスを待機し、アプリが応答しなくなります。 私が知る限り、InnoDBはselectが実行されているときにテーブルをロックしません。では、なぜ選択ブロッキングテーブルはなぜですか? innotopで理由を見つけようとしましたが、出力の解釈方法と検索場所がわかりません。必要なものを教えてください。ここに投稿します。 +-----+---------+-----------+--------+---------+------+----------------+-----------------------------------------------------------------------------------------------------------------------------------+ | Id | User | Host | db | Command | Time | State | Info | +-----+---------+-----------+--------+---------+------+----------------+-----------------------------------------------------------------------------------------------------------------------------------+ | 1 | root | localhost | dbname | Query | 29 | NULL | COMMIT | | 2 | root | localhost | dbname | Query …
10 mysql  innodb  blocking 

1
MySQL:InnoDB:エラー:最後のチェックポイントの経過時間はXで、ロググループの容量Yを超えていますか?
本番MySQL環境では、次のエラーメッセージが/var/log/mysql/error.log4分ごとに書き込まれます。 110723 18:36:02 InnoDB: ERROR: the age of the last checkpoint is 9433856, InnoDB: which exceeds the log group capacity 9433498. InnoDB: If you are using big BLOB or TEXT rows, you must set the InnoDB: combined size of log files at least 10 times bigger than the InnoDB: largest …
10 mysql  innodb 

2
InnoDBデータベースを公開する前に知っておくべきことは何ですか?
InnoDBデータベースを使用可能にする前に、サーバー管理者またはDB管理者が知っておくべきことは何ですか。 私は正しい値を設定するようなものを考えているinnodb_buffer_pool_sizeと、innodb_log_file_size それで、データベースを使用するアプリケーションが最適に機能しない原因となる、簡単な設定を忘れてしまうことはありますか?
10 mysql  innodb 

1
MySQL(MariaDB)が頻繁にクラッシュする
最近、MySQLを実行している古いサーバーをMariaDB 5.5を実行している新しいVPSに移行しました。サーバーで実行している量は多くなく(わずかなPHPサイトのみ)、空きメモリは問題ないようですが、DBがクラッシュし続けることがあります-場合によっては数日ごと、場合によっては数時間以内。 ログに次のエラーが表示されます。 131231 1:43:04 [ERROR] mysqld: Out of memory (Needed 128917504 bytes) 131231 1:43:04 [ERROR] mysqld: Out of memory (Needed 96681984 bytes) 131231 1:43:04 [ERROR] mysqld: Out of memory (Needed 72499200 bytes) 131231 1:43:04 [ERROR] mysqld: Out of memory (Needed 54362112 bytes) 131231 1:43:04 InnoDB: The InnoDB memory heap …

3
MyISAMと混合すると、mysqldump中にInnoDBテーブルがロックされますか?
私のmysqlサーバーのバックアップソリューションを探しています。ダウンタイムをできるだけ少なくする必要があります。私は以下を持っています: MySQLサーバー それらは複製されません 各サーバーはそれ自体を表します この数は増える可能性があるため、マスター/スレーブレプリケーションを設定することはお勧めできません。 私が見る最も簡単なバックアップ方法は、mysqldumpを「automysqlbackup」などのソフトウェアで使用することです。私の最も重要なデータはInnoDBを使用しています。私のInnoDBテーブルはかなり重いです。 問題は、サーバーのすべてのデータベースにmysqldumpを実行すると、Innodbテーブルがロックされるのでしょうか。


2
大きなテーブルをMyISAMからInnodbに変換する
MyISAM形式で約3億行のテーブルがあり、Innodbに変換したい 私の最初の目標は、テーブルスキーマを変更してインデックスを単純にすることで使用量を減らすことでした。すべてのテーブルをダンプして削除し、インデックスを減らして再作成しましたが、今は再インポートしています。ただし、myisamではなくinnodbであることを指定するのを忘れていました。 標準のALTER TABLE ... ENGINE = INNODBを実行できますか?このような巨大なテーブルで知っておくべき特別なことはありますか? データのインポート操作には約12時間かかります-やり直したくありません。したがって、なぜそれを変換したいのか。
9 mysql  innodb 

4
巨大なMySQL innodbデータベースを効率的にダンプする方法は?
データベースの合計サイズが260 GBであり、DBが保存されるルートパーティション自体が300 GBであるUbuntu 10.04のプロダクションMySQLデータベースサーバーを取得しました。など現在、他のディスクはサーバーに接続されていません。 私の仕事は、このデータベースを別のデータセンターにある他のサーバーに移行することです。問題は、最小限のダウンタイムでそれを効率的に行う方法ですか? 私は次のように考えています: サーバーに追加のドライブを接続し、そのドライブでダンプを取るように要求します。[編集:今は不可能です。] ダンプを新しいサーバーに転送して復元し、既存のサーバーの新しいサーバースレーブを作成してデータの同期を維持します 移行が必要な場合は、レプリケーションを中断し、読み取り/書き込み要求を受け入れるようにスレーブ構成を更新し、古いサーバーを読み取り専用にして、書き込み要求を受け付けないようにし、アプリ開発者にdbの新しいIPアドレスで構成を更新するように指示します。 これを改善するための提案や、このタスクの代替のより良いアプローチは何ですか?
8 innodb  mysql 

2
MySQLスロー書き込み
次の表への挿入は、完了するまでに最大70秒かかります。 CREATE TABLE IF NOT EXISTS `productsCategories` ( `categoriesId` int(11) NOT NULL, `productsId` int(11) NOT NULL, PRIMARY KEY (`categoriesId`,`productsId`), KEY `categoriesId` (`categoriesId`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; テーブルには約100,000行あり、ディスク上で7MBを使用しています。 MySQLには、書き込みパフォーマンスを改善できるいくつかの設定がありますか? 私のmy.cnfファイルは次のとおりです: log-slow-queries="/var/log/mysql/slow-query.log" long_query_time=1 log-queries-not-using-indexes innodb_buffer_pool_size=4G innodb_log_buffer_size=4M innodb_flush_log_at_trx_commit=2 innodb_thread_concurrency=8 innodb_flush_method=O_DIRECT query_cache_size = 6G key_buffer_size = 284M query_cache_limit = 1024M thread_cache_size = 128 table_cache …
8 mysql  innodb 

5
MySQLサーバーを微調整するには?
MySQLは私のものではありませんが、サーバーの1つを微調整する必要があります。 要件/仕様は次のとおりです。 MySQLサーバーには重要なデータベースが1つだけあります 接続されているアプリケーションの「タイプ」は1つだけで、同時に接続されているインスタンスは多くありません。最大で15です(これらのアプリケーションはXMPPボットです)。 これらのアプリケーションにはノンブロッキングIOがあります。つまり、DBサーバーで「待機」せずに、DBクエリの処理中に着信要求の処理を続行します。これは、このアプリケーションの1つのインスタンスがデータベースサーバーへの複数の(多くの!)接続を持つことができることを意味します(特に一部のクエリが遅い場合)。 すべてのクエリはインデックスを使用しています ホストマシンはMySQLのみを実行します。これは、2GBのRAMを備えたXenインスタンス(@slicehost)です。 基本的なトランザクションが必要なため、InnoDBテーブルを使用しますが、パフォーマンスに実際に影響がある場合は、おそらくMyISAMに切り替えることができます。 現在設定されているため、MySQLサーバーは利用可能なメモリをすべて徐々に消費し始めます(ここでは、collectdを使用しています。ここにグラフがあります)。ある時点(数日/週後)でクエリの実行が停止します(今夜は2時間停止し、MySQLサーバーを再起動する必要がありました。2番目の画像を参照してください)。 (申し訳ありませんが、新しいユーザーは画像を投稿できません。ハイパーリンクは1つだけです:/) 毎週:http : //i27.tinypic.com/6ticyv.jpg 今日:i31.tinypic.com/ir53yg.png これが現在のmy.cnfです # # The MySQL database server configuration file. # # This will be passed to all mysql clients # It has been reported that passwords should be enclosed with ticks/quotes # escpecially if they contain …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.