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

MySQLのすべてのバージョン(Microsoft SQL Serverではありません)。質問に関連する場合は、mysql-5.7のようなバージョン固有のタグも追加してください。

2
データベースごとのMySQLアクティビティを監視しますか?
サーバーの各データベースのアクティビティを監視する最良の方法は何ですか? アクティビティをリアルタイムで表示するmtop / mytopを試してみましたが、実行されたすべてのクエリを表示するのはあまり実用的ではありません。 MySQLログをアクティブ化しましたが、データベースごとに分割するオプションがありません。 MySQLサーバーを監視するためにどのツールを使用していますか?


4
MySQL DBAインタビューで何を尋ねればよいですか?
私はソフトウェア開発者で、MySQL DBAを雇うのを手伝っています。私たちが直面している主要な課題は次のとおりです。 Hibernateによりクエリとパフォーマンスが低下します。 データベース管理(バックアップ、チューニング、パッチ、セキュリティ)。 新しいデータソースからのデータの増加と古いデータの蓄積によるスケーラビリティ。 将来的には、データマイニングとデータウェアハウジングを開始する予定です。方法はわかりませんが、それが方向です。 私たちは通常、開発者にインタビューのために何かを作成するように依頼するプログラミング事例を持っていますが、同じ方法でDBAインタビューを行うのは少し難しいです。 面接をどのように行うべきかについて提案できますか?

3
多くのSELECT / INSERT / UPDATE / DELETEでのMySQLの高パフォーマンス
私は、すべてのユーザーが10〜300秒間レコードをテーブルに取得するモジュールを作成しています。 時間切れになると、レコードが削除されます。ケースは:多くのユーザーが存在し、レコードは実際に頻繁に変更されます-これはこのテーブルのアプリケーションのパフォーマンスにどのように影響しますか?レコードは非常に頻繁に変更されるため、mysqlはそれで問題ないのでしょうか?インデックスが行き来するように、この特定のテーブルのデータは200回/秒のように変化します。多分私はこの種の仕事のために悪い解決策を選んでいます。助言がありますか ? ありがとうございました!

3
mysqldumpが進行中の場合、ユーザーはシステムの実行速度が遅いと不平を言う
MYSQLデータベース(ibdata1)のサイズは73 GBで、Windows 2008 O / SでINNODBテーブルの専用データベースサーバーとして実行するように構成されています。mysqldumpを使用してバックアップを実行していますmysqldump --skip-opt --quick --single-transaction --create-options --extended-insert --disable-keys --add-drop-table --complete-insert- set-charset-圧縮--log-error = Proddb0635.err -u root -pjohndoe Proddb> \ devNas \ devNas \ sqlbackup \ LIVE \ db \ Proddb0635.sql バックアップファイルProddb0635.sqlは、データベースサーバーとは別のサーバーに保存されます。RAMは12 GBです。INNODBバッファープールのサイズは6 GBです。追加のmem.poolは32 MBです。クエリキャッシュのサイズは2 GBです。ネットバッファーの長さは最大16 Mです。パケットサイズ1 GB。 mysqlのバージョンは5.0.67です。 バックアップが実行されていない場合、ユーザーはパフォーマンスに満足しています。 バックアップの実行中にINNODBバッファープールのヒット率が100%に近い高い値になっています。保留中の読み取りまたは保留中の書き込みはありません。innodb wait freeは0です。CPU使用率は高くありません。最小9%から最大15%mysqlbackupが実行されているかどうかに関係なく、クエリキャッシュヒット率は約40%と低くなっています。現在、Windowsタスクマネージャーは、10 GBのRAMが使用されていることを表示しています。2 GBのRAMしか利用できない状態でクエリキャッシュを増やす必要がありますか?mysqlld-ntは9.2 GBのRAMを使用し、mysqldumpは5 MBのRAMを使用しています。Alos氏は、-compressオプションの有無にかかわらず、ダンプファイルのサイズは同じであることに注意しました。 iNNODBバッファープールのサイズを減らす必要がありますか? …

3
mysqlで更新と挿入クエリを1つのクエリに結合することに関するクエリ
ユーザーの変更履歴を追跡したいので、ユーザーがプロファイルを変更するたびに、古いデータを取得して履歴に保存し、新しいデータで更新する必要があります。 a selectを使用して古いデータを取得し、inserttoを履歴に、最後にを使用してデータupdateを変更できます。 ロックなどを使用するようなストアドプロシージャ、トリガーなどを使用せずに、これらすべてをmysqlの単一のクエリで使用できます。
9 mysql 

2
これはMySQL特権の通常のセットですか?
ローカルのテストワンプセットアップでphpmyadminを使用すると、タイトルのほとんどの状態と同様に、user = ANY、password = NOのようにマークされた3人のユーザーがいます。 USER | HOST | Password | Global Priv | Grant -----+---------+----------+-------------+------ Any | % | No | USAGE | No Any | Local | No | USAGE | No Any | Domain | No | USAGE | No -----+---------+----------+-------------+------ 3人のどのユーザーも、どのテーブルに対しても特定の特権を持っているわけではないため、ユーザーは多くのことを実行できないようです。これは、他のユーザーグループに属さない「すべての」ユーザーには特権がないことを明示的に述べるための、ある種の一般的なセキュリティ対策ですか?

1
MySQL DBサーバーでOPTIMIZE TABLEクエリを実行する利点
OPTIMIZE TABLE tbl_nameMySQLサーバーでクエリを実行することで得られる利点(実際に実用的)を教えてください。 これを一度確認したところ、これを実行した後、フラグメントの再配置などが原因で次のDBヒットに時間がかかる可能性があることがわかりましたが、その後のヒットではパフォーマンスが表示され、クエリキャッシュがこのトリックを実行するかどうかわかりません最適化または最適化のみでこのトリックを行います。 MySQLでの作業が私たちのプロジェクトで重要性を増しているので、可能であれば、実際のパフォーマンスの差の値を誰かがガイドしてくれますか?

3
MEMORYストレージエンジンを使用していますが、MySQLはまだディスクに書き込みます…なぜですか?
MEMORY Engine特定のMYSQLクエリに関連付けられているすべてのテーブルにfor を使用しています。これは、プロジェクトのアクセス速度が最も重要だからです。 何らかの理由で、大量のディスク書き込みがまだ発生していることに気付きました。 これは、WindowsがRAMをディスクにスワップしているためですか?これを防ぐにはどうすればよいですか? 編集:ここに私のグローバル変数があります: mysql> show global variables; +---------------------------------------------------+-------------------------------------------------------------------------------- ------------------------------+ | Variable_name | Value | +---------------------------------------------------+-------------------------------------------------------------------------------- ------------------------------+ | auto_increment_increment | 1 | | auto_increment_offset | 1 | | autocommit | ON | | automatic_sp_privileges | ON | | back_log | 50 | | basedir | C:/Program Files/MySQL/MySQL Server …

4
このMySQLクエリをさらに最適化するにはどうすればよいですか?
クエリの実行に非常に長い時間(15秒以上)を要するクエリがあり、データセットが大きくなるにつれて、時間の経過とともに悪化します。私は過去にこれを最適化し、インデックス、コードレベルの並べ替え、その他の最適化を追加しましたが、さらに改良する必要があります。 SELECT sounds.*, avg(ratings.rating) AS avg_rating, count(ratings.rating) AS votes FROM `sounds` INNER JOIN ratings ON sounds.id = ratings.rateable_id WHERE (ratings.rateable_type = 'Sound' AND sounds.blacklisted = false AND sounds.ready_for_deployment = true AND sounds.deployed = true AND sounds.type = "Sound" AND sounds.created_at > "2011-03-26 21:25:49") GROUP BY ratings.rateable_id クエリの目的はsound id、最新のリリースされたサウンドのと平均評価を取得することです。約1500の音と200万の評価があります。 私はいくつかの指標を持っています sounds …

4
MySQLはなぜメモリ不足だと言っているのですか?
INSERT...SELECTJDBCを使用してMySQLでかなり大きなサイズを実行しようとしましたが、次の例外が発生しました。 Exception in thread "main" java.sql.SQLException: Out of memory (Needed 1073741824 bytes) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073) 実際にはResultSetオブジェクトを返すわけではないので、Javaヒープ領域は問題にならないはずです。しかし、とにかくそれを上げようとしたところ、うまくいきませんでした。次に、MySQL Workbenchでステートメントを実行しようとすると、基本的に同じものが得られました。 Error Code 5: Out of memory (Needed 1073741816 bytes) これらの操作を完了するには十分なRAMが必要です(選択するテーブル全体に収まるほど)が、すべてのメモリを活用するために微調整する必要のあるさまざまな設定があると思います。Amazon EC2 ハイメモリダブルエクストララージインスタンスをWindows Server 2008 AMIで実行しています。my.iniファイルをいじって、より良い設定を使用しようとしましたが、すべての状況で、状況がさらに悪化した可能性があることはわかっています。これがそのファイルのダンプです。 [client] port=3306 [mysql] default-character-set=latin1 [mysqld] port=3306 basedir="C:/Program Files/MySQL/MySQL Server 5.5/" datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/" character-set-server=latin1 default-storage-engine=INNODB sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" max_connections=100 query_cache_size=1024M table_cache=256 …

4
InnoDB DELETEのパフォーマンスを向上させる方法は?
だから私はこの監査テーブルを持っています(私のデータベース内の任意のテーブルでのアクションを追跡します): CREATE TABLE `track_table` ( `id` int(16) unsigned NOT NULL, `userID` smallint(16) unsigned NOT NULL, `tableName` varchar(255) NOT NULL DEFAULT '', `tupleID` int(16) unsigned NOT NULL, `date_insert` datetime NOT NULL, `action` char(12) NOT NULL DEFAULT '', `className` varchar(255) NOT NULL, PRIMARY KEY (`id`), KEY `userID` (`userID`), KEY `tableID` (`tableName`,`tupleID`,`date_insert`), KEY …

1
MySQL Workbenchからの外部キーの作成エラー
MySQL Workbenchからのスキーマ変更をデータベースに同期しようとしています。外部キーを作成しようとすると、次のエラーが発生します。 Executing SQL script in server ERROR: Error 1005: Can't create table 'tomato.#sql-2730_1b8' (errno: 121) 実行しようとしているステートメントは次のとおりです。 ALTER TABLE `tomato`.`ing_allergy_ingredient` ADD CONSTRAINT `fk_ai_allergy` FOREIGN KEY (`allergy_id` ) REFERENCES `tomato`.`ing_allergy` (`allergy_id` ) ON DELETE NO ACTION ON UPDATE NO ACTION このエラーが意味するアイデアはありますか?

2
`group_concat_max_len`を最大値より低く設定するのはなぜですか?
Ubuntu 12.04上のMySQL 5.5.28 結果がそれよりも長い場合group_concat_max_len、結果は正常に切り捨てられます。 現在、私は事前に必要な長さをチェックし、group_concat_max_len十分な大きさに設定するスクリプトを持っています。 ただし、このチェックでは余分なクエリが追加されます。group_concat_max_len最大値に設定するだけの欠点はありますか?利点は、クエリが少ないことです。

6
MySQLサーバーでのCPUシステム時間の使用率が高い
少し前に、MySQLデータベースの1つで高いCPUシステム時間を経験し始めました。このデータベースもディスク使用率が高いため、それらが接続されていることがわかりました。また、SSDへの移行をすでに計画していたため、両方の問題を解決できると考えました。 それは役に立ちました...しかし、長くはありませんでした。 移行後の数週間、CPUグラフは次のようになりました。 しかし今、私たちはこれに戻っています: これはどこからともなく発生し、負荷やアプリケーションロジックに明らかな変化はありませんでした。 DB統計: MySQLバージョン-5.7.20 OS-Debian DBサイズ-1.2Tb RAM-700Gb CPUコア-56 ピーク負荷-約5kq / sの読み取り、600q / sの書き込み(選択クエリはしばしばかなり複雑ですが) スレッド-50実行、300接続 約300のテーブルがあり、すべてInnoDB MySQL設定: [client] port = 3306 socket = /var/run/mysqld/mysqld.sock [mysqld_safe] pid-file = /var/run/mysqld/mysqld.pid 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 …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.