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

MySQLバージョン5.5-検索目的でmysqlもタグ付けしてください。

2
ユーザーごとのアクティブなMySQL接続を表示する
特定のユーザーに対して、特定のデータベースへのアクティブな接続数または開いている接続数を取得するクエリが必要です。私は何時間も探していましたが、今のところ何も思いつきませんでした。私は近いので、ここで私が試したことがあります。 SHOW STATUS WHERE `variable_name` = 'Threads_connected'; SHOW STATUS LIKE '%onn%'; SELECT * FROM information_schema.processlist WHERE USER='database_user'; 私はWebホスティング会社で働いており、クライアントの1つが彼のmax_user_connections限界に達し続けているため、ユーザーが共有サーバーではないため、ユーザーが現在使用している接続の数を知る必要がある理由をトラブルシューティングします。現在、MySQL(InnoDB)バージョン5.5.36を使用しています。どんな助けでも大歓迎です!

3
Yelpはどのようにしてデータベース内の距離を効率的に計算しますか?
たとえば、テーブルがあるとします。 Business(BusinessID, Lattitude, Longitude) もちろん、すべてに索引が付けられています。また、100万件のレコードがあります たとえば、106,5に最も近いビジネスを検索したい場合、どうすればよいでしょうか。 私が行った場合 SELECT * FROM Business WHERE (Some formula to compute distance here) < 2000 たとえば、または私が行う場合 SELECT * FROM Business TOP 20 理論的には、コンピューターはすべてのビジネスの距離を計算する必要がありますが、実際には、緯度と経度が特定の範囲内にあり、計算する必要があるビジネスのみが計算されます。 たとえば、PhPやSQLでやりたいことはどのようにしたらよいでしょうか。 これまでの答えに感謝しています。私はmysqlを使用していますが、それらには明らかな解決策よりも効率的なものはありません。MySQL空間には、距離計算機能もありません。

2
mysqlパスワードハッシュが内部的にスター(アスタリスク)で保存されるのはなぜですか?
私はいくつかのmysqlの内部を読んでいましたが、私のmysqlシェルでmysql.userテーブルを通過すると、 mysql> select * from mysql.user limit 1 \G *************************** 1. row *************************** Host: localhost User: root Password: *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B パスワードは明らかにハッシュ化されていますが、なぜスター(アスタリスク)で始まるのですか?

3
MySQLの大きなテーブルの一括削除
通知テーブルには、Amazon IODSに1000 IOPSのホストである約1億行が含まれており、1か月より古い行を削除したいと思います。 実行するとDELETE FROM NOTIFICATION WHERE CreatedAt < DATE_SUB(CURDATE(), INTERVAL 30 day);、すべてのIOPSが取得され、プロセスに数時間かかり、「ロック待機タイムアウトが超過しました。トランザクションを再起動してください」という理由で、多くの新しいエントリを挿入できません。 ここで説明する方法を実行しようとしました:http : //mysql.rjweb.org/doc.php/deletebig ただし、増分IDの代わりにUUIDを使用しています。 挿入/更新される新しいデータに影響を与えずにそれらの行を削除するための正しい効率的な方法は何ですか?

3
LIMITで行数をCOUNTする方法は?
X行をキャッチしたいので、を設定しLIMIT Xます。しかし、行の総数も同時に数えるにはどうすればよいですか? 現在、私は2つの別々のクエリを使用してそうしています SELECT COUNT(*) FROM col WHERE CLAUSE SELECT * FROM col WHERE CLAUSE LIMIT X これを1つのクエリで行う方法はありますか? 編集:出力はcolセルと行数でなければなりません。実際、colセルを選択した後は、テーブルの上を歩いて数えるだけです。 最初の行は1行を返し、2番目のX行を返すため、これら2つのクエリをマージすることはできません。が存在する場合にmysqlに行数を返す関数があるかどうか、私は興味がありLIMITます。

1
TRUNCATE TABLEに非常に長い時間がかかる原因は何ですか?
MySQL5.5をマスター/スレーブレプリケーション(1マスター、2スレーブ)で実行しています。 週に1回実行して特定のテーブルを切り捨てるプロセスがあります。テーブルは大きくなく、数千のレコードしかありません。 何らかの理由で、TRUNCATE TABLEコマンドの実行に非常に長い時間がかかります(マスターとスレーブの両方で)。実行には約400Kミリ秒かかります!! スレーブで実行すると、マスターから遅れます。終了後TRUNCATE TABLE、すべてが正常に戻ります。 スレーブの1つはTRUNCATE TABLE専用スレーブであり、そのスレーブから読み取るプロセスがダウンしていたため、実行中に読み取りを受信しなかったことがわかっています。また、このスレーブでは、実行に同じ時間がかかりました。 これがテーブル構造です:http : //pastebin.com/qEQB4juR TRUNCATE TABLEをどのように高速化できるかについての考えはありますか?

1
InnoDBテーブルのOPTIMIZE TABLEを安全に強制終了できますか?
kill 警告に関するMySQLのドキュメント: 警告 テーブルに対するREPAIR TABLEor OPTIMIZE TABLE操作を強制終了すると、MyISAMテーブルが破損し、使用できなくなります。そのようなテーブルの読み取りまたは書き込みは、再度(中断することなく)最適化または修復するまで失敗します。 MyISAMについてです。 OPTIMIZE TABLEInnoDBテーブルに対して実行されているプロセスを強制終了することも危険ですか?

2
シングルユーザーから「REQUIRE SSL」を適切に削除するにはどうすればよいですか。
次のようにして、1人のユーザーにREQUIRE SSLを許可しました... mysql -u"${targetMySqlUser}" -p"${targetMySqlPass}" -e "GRANT USAGE ON dbname.* TO 'dbusername'@'%' REQUIRE SSL;" しかし、ユーザーからこのフラグをREMOVINGまたはREVOKINGして、取り消しを使用すると失敗します。私は構文と戦っているようです。権限全体を取り消さずに、「取り消し」コマンドでそれを削除する適切な方法はありますか? MySQL 5.5マニュアル、このサイト、およびインターウェブは、適切な反対方向を見つけるのにまだ役立ちませんでした。 このSQLステートメントは機能します。 UPDATE mysql.user SET ssl_type = '' WHERE ssl_type = 'any' ; FLUSH PRIVILEGES; しかし、私はどこにあると信じてGRANT REQUIRE SSL、私がしなければならないREVOKE REQUIRE SSL、ありませんか?

1
BLACKHOLEテーブルからデータを回復することは可能ですか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、データベース管理者のスタック交換のトピックになるようにします。 5年前休業。 エンジンBLACKHOLEを使用してテーブルを作成しました。 基本的に、BLACKHOLEストレージエンジンは、データを受け入れますが、破棄して格納しない「ブラックホール」として機能します。検索は常に空の結果を返します。 innodbまたはmyisamとしてストレージエンジンを使用して、古いテーブルと同じ新しいテーブルを作成することでデータを取得できると聞きました。しかし、私もそれを試しましたが、結果を得ることができませんでした。誰かがこの問題を解決するために私を助けることができますか? mysql> CREATE TABLE test1(i INT, c CHAR(10)) ENGINE = BLACKHOLE; Query OK, 0 rows affected (0.08 sec) mysql> INSERT INTO test1 VALUES(1,'record one'),(2,'record two'); Query OK, 2 rows affected (0.00 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> select * from test1; Empty …

2
CAST(1 AS SIGNED INTEGER)がMySQLでBIGINTを返すのはなぜですか?
私がそうするなら、私はCAST(1 AS SIGNED INTEGER)いつもBIGINT返されることになります、例えば: $ mysql -u root -p --column-type-info Enter password: --- Copyright and help message snipped for brevity --- mysql> select cast(1 as signed integer); Field 1: `cast(1 as signed integer)` Catalog: `def` Database: `` Table: `` Org_table: `` Type: LONGLONG <== LONGLONG i.e. 64 bit integer Collation: …

2
多くのmysql一時テーブルを同時に作成するのは悪いことですか?
一部のデータをユーザーに提供するために、重い統計分析を行う必要があります。現在、私はmysqlからデータをキャッチし、PHP配列を介して処理しています。ただし、mysql一時テーブルの方がはるかに優れています(PHP配列よりもはるかに効率的で高速です。そのメカニズムにより)。 私の暫定的な解決策は、データをインポートして処理するための各要求(つまり、接続)時に一時テーブルを形成することです。しかし、多くの一時テーブルを同時に作成することの欠点があるかどうかはわかりませんか? これはmysqlサーバーに問題を引き起こす可能性がありますか?または、多数の同時リクエストでPHP配列の代わりとして使用できますか?

4
InnoDB挿入の高速化
私はモンドリアンOLAPでOLAPを研究している大学院生です。そのため、最初の読み込みでデータをより速くInnoDB(MySQL 5.5)に挿入したいと考えています。この環境では、私しかユーザーがいないので、挿入速度をもっと緩やかに設定できると思います。現在、私は以下のテクニックを使用しています。 無効にする log_bin 可能にする skip-innodb-doublewrite セットtransaction_isolationにREAD-COMMITTEDかREAD-UNCOMMITTED(実際にREAD-COMMITED) セットinnodb_flush_log_at_trx_commitに0か2(実際に0) innodb_buffer_pool_size5GBに設定(システムには6GB RAMがあります) InnoDBに高速に挿入するためのテクニックは他にありますか?そして、私は変更する必要がinnodb_io_read_threadありinnodb_io_write_threadますか?さらに詳しい情報が必要な場合は、教えてください。

2
挿入が多いInnoDBテーブルがCPUをすべて使用しない
パケットログデータベースを持っていますが、ほとんど照会されません。挿入時に高速である必要があります。ACIDコンプライアンスを維持したいので、InnoDBを使用しています。1つのパケットを失うだけでも、お客様に損害を与える可能性があるからです。パフォーマンス調整シナリオでは、複数のDB接続を介して1,000,000パケットをサーバーに送信します。しかし、my.cnfでどの設定を使用しても、12コアのシステムでmysqldプロセスが900%を超えるCPUを使用することはできません。(ボックスでは他に何も実行されていません。) 以下を設定しました innodb_file_per_table = 1 innodb_write_io_threads = 64 innodb_read_io_threads = 64 innodb_thread_concurrency = 0 MyISAMを使用すると、すべてのパケットを約6秒で書き込むことができます。しかし、InnoDBは約25必要です。MySQLに残りのシステムリソースを使用させ、より速く挿入できますか? 編集:これはテーブルのスキーマです: +-------+----------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+----------------------+------+-----+---------+-------+ | t | bigint(20) unsigned | YES | | NULL | | | a | char(1) | YES | …

3
InnoDBデフォルト設定の最適化
my.iniを調べて、さまざまなデフォルト設定を確認しました。データベースが1台のスタンドアロンPCで実行されています。InnoDBとMySQLのパフォーマンスを全体的に最適化してパフォーマンスを向上させたい。ディスク容量の制約はありません。パフォーマンス、信頼性、ポイントインタイムバックアップの可能性を高めるために最適化するには、どのデフォルト設定を変更する必要がありますか(高可用性)。 編集済み 現在、MySQL AdministratorでMaintenanceを介して「Optimize Tables」を実行すると、常に次のように表示されます。 テーブルは最適化をサポートせず、代わりに再作成+分析を実行します すべてのテーブル。すべてのテーブルがInnoDBですが、なぜ最適化をサポートしていないのですか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.