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

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

2
mysqldumpからの詳細出力をログに記録する方法は?
通常、次のようなLinuxコマンドの詳細な出力を保存します。 # command > output.txt あなたのようなコマンドを使用する場合でもmysqldump、>オプションは、目的のファイルにデータベーステーブルのダンプを出力します。 # mysqldump --username=whatever --password=whatever -h localhost database > dump.sql -v(verbose)オプションをmysqldumpに追加すると、コマンドの実行内容に関するヘルプ情報が出力されます。>オプションを使用してデータベーステーブル情報をファイルに出力するため、この詳細出力をファイルに保存するにはどうすればよいですか? より具体的には、次のように1つのデータベースの出力を別のデータベースにダンプしています。 mysqldump -alv -h 123.123.123.123 --user=username --password=p@ssw0rd --add-drop-table databasename | mysql --user=username --password=p@ssw0rd -h localhost localdatabase 以下を試しましたが、最終的に出力ファイルが空でした mysqldump -alv -h 123.123.123.123 --user = username --password = p @ ssw0rd --add-drop-table databasename | mysql --user …

1
サブクエリでの外部エイリアスの使用
| payments | | transactions | | transaction_items | |:--------------:| |:------------:| |:-----------------:| | id | | id | | id | | date | | number | | transaction_id | | amount | | date | | description | | transaction_id | | val | | price | | discount …
11 mysql  mysql-5.5 

4
mysql 5.7の新規インストールでのrootパスワードの設定
私はmysqlをサービングにインストールしようとしていCentOS Linux release 7.2.1511ます。プロセスのインストールを見てください: # sudo yum install mysql-server 出力: Dependencies Resolved =========================================================================================================================================================================================================== Package Arch Version Repository Size =========================================================================================================================================================================================================== Removing: mysql-community-client x86_64 5.7.10-1.el7 @mysql57-community 109 M mysql-community-server x86_64 5.7.10-1.el7 @mysql57-community 652 M Transaction Summary =========================================================================================================================================================================================================== 私はmysqlデーモンを実行しました: # sudo service mysqld start サービスの確認: # ps -ef|grep mysql mysql 1371 1 0 …
11 mysql  linux  centos 

2
MySQLのユーザーにデータベース作成特権を付与する方法
次のコマンドは、ユーザー「admin」にすべてのデータベースのすべての権限を提供します。ただし、「admin」がデータベースを作成することはできません。 GRANT ALL ON * . * TO 'admin'@'localhost'; 「admin」がデータベースを作成するためのアクセスを提供するにはどうすればよいですか? データベースを作成しようとすると、次のエラーが発生します- エラー1044(42000):データベース 'newdb'へのユーザー 'admin' @ 'localhost'のアクセスが拒否されました
11 mysql 

2
合計時間の75%を使用するクエリ「Creating Sort Index」のMySQLプロファイル
クエリを最適化する方法(約100ミリ秒かかる)と、合計時間Creating Sort Indexを使用して表示される実行プロファイルを理解しようとしています75%。まず、ソートインデックスの作成に正確に影響するものは何ですか。disk / ioですか? 次に、クエリ自体に最適化できるものはありますか? SELECT r.`id`, r.name, r.public_uri, rv.version, rv.interpreter, rv.notes, rv.content, r.added, r.added_by, r.modified, r.modified_by, r.public, r.public_by FROM recipe_heads rh, recipes r, recipe_versions rv WHERE rh.recipe = r.`id` AND rh.recipe_version = rv.`id` AND r.`id` = rv.recipe ORDER BY r.added DESC 説明:
11 mysql  profiler 

2
結合されたテーブルの集計値の増分カウントを取得する
私は、MySQL 5.7.22、データベース内の2つのテーブルを持っている:postsとreasons。各投稿行には、多くの理由行があり、それに属しています。それぞれの理由には重みが関連付けられているため、各投稿には合計重みが関連付けられています。 重みの10ポイント(つまり、0、10、20、30など)の増分ごとに、その増分以下の合計重みを持つ投稿の数を取得します。その結果は次のようになるはずです。 weight | post_count --------+------------ 0 | 0 10 | 5 20 | 12 30 | 18 ... | ... 280 | 20918 290 | 21102 ... | ... 1250 | 118005 1260 | 118039 1270 | 118040 総重量はほぼ正規分布しており、非常に低い値と非常に高い値がいくつかありますが(最大値は現在1277)、大部分は中央にあります。の行数は120,000弱posts、約は120ですreasons。各投稿には、平均して5つまたは6つの理由があります。 テーブルの関連部分は次のようになります。 CREATE TABLE `posts` ( id BIGINT PRIMARY KEY …

3
リレーショナルデータベースの整合性の制約-見落とすべきですか?
大規模なクエリを高速化し、より良い結果を得るには、リレーショナルデータベースで(FOREIGN KEY制約定義を介して)関係の強制を取り除く方が良いと言うので、私は私が働いている会社の開発者と恒久的に話し合っています。パフォーマンス。 検討中のプラットフォームはMySQL 5.xであり、FOREIGN KEYがセットアップされておらず、関連するテーブルの一部のPRIMARY KEY制約が欠けていても、少なくとも私にとっては妥当ではありません。多分彼らは正しいのですが、私は間違っていますが、私はこの状況について議論するのに十分な議論がありません。 これは3年間、推奨されるアプローチでした。私はこの会社の新人です(わずか1か月)が、製品が「機能する」ため、データベースを拡張するのにためらいがあります。それにもかかわらず、最初に気付いたのは、1ページの読み込みに1分(はい、60秒!)かかっていることです。 現在の状況の背後にある主張の1つは、「非正規化された」データベースは正規化されたデータベースよりも速いということですが、私はそれが本当だとは思いません。 関連するクエリのほとんどにJOIN操作が含まれているため、大量のデータがあると非常に遅くなります(データベースには数百万の行が含まれます)。 通常、「CRUD」操作の処理は、アプリケーションプログラムコードレベルで実装されます。たとえば、FROMからデータを削除するには、次のようにしましょうTableA: との行の間に何らかの関係があるかどうかをその場で最初に確認する必要がTableAありますTableB。 上記の関係が「検出」された場合、アプリプログラムコードは関連する行の削除を許可しませんが、 何らかの理由でアプリのプログラムコードが失敗した場合、関連する行とテーブルに関係があるかどうかに関係なく、DELETE操作は「成功」します。 質問 議論を深めるために、私が良い、正確で確固とした答えを詳しく説明するのを手伝っていただけませんか? 注:たぶん、このようなものは以前に尋ねられた(そして答えられた)かもしれませんが、Googleを使用して何も見つけることができませんでした。

4
MySQL-mysql_upgrade-エラーが発生しました:サーバー変数をセットアップできません
私は公式のDockerイメージ内でMySQL 5.7.11を実行しています。 アップグレードしようとすると、次のエラーが発生します。 mysql_upgrade -uroot -p password: Error occurred: Cannot setup server variables. 私は周りを検索しましたが、ヒントは見つかりませんでした。で実行しようとしました--verboseが、うまくいきませんでした。 参考までに、dbを起動したときのログを以下に示します。 db_1 | 2016-02-17T11:23:10.453190Z 0 [ERROR] Incorrect definition of table performance_schema.events_waits_current: expected column 'NESTING_EVENT_TYPE' at position 15 to have type enum('TRANSACTION','STATEMENT','STAGE','WAIT', found type enum('STATEMENT','STAGE','WAIT'). db_1 | 2016-02-17T11:23:10.453233Z 0 [ERROR] Incorrect definition of table performance_schema.events_waits_history: expected column …
10 mysql  upgrade 

3
3つのテーブル間の循環依存(循環参照)を回避するにはどうすればよいですか?
3つのテーブルがあります。 人 役職 いいね ERモデルを設計すると、循環依存関係が発生します。 1:N 人-------- <投稿 1:N 投稿---------- <いいね 1:N 人-------- <いいね ロジックは次のとおりです。 1人が多くの投稿を持つことができます。 1件の投稿に多くの高評価があります。 1人が多くの投稿を高く評価できます(作成された人は自分の投稿を高く評価できません)。 この種類の循環設計を削除するにはどうすればよいですか?それとも私のdb設計は間違っていますか?

2
MySQLのインストールに関する問題
まず第一に、長さを失い、この投稿は非常に長く、ある程度の背景が必要です。ノイズからの信号を見分けるのは私にとって困難でした。これの一部が関連していない場合はご容赦ください。 数週間前、私は自発的にWindows 10へのアップグレードを選択しました。その後、最終的に、不要になったPythonのインストールを削除することにしました。最新の2.7(および3.4​​.3のみ)を削除した後、コンピューターが予期せずクラッシュするまで、すべてが問題なく動作するように見えました。それ以来、Windows 10は決して同じではなく、非常に信頼性が低くなりました。 起動時にWindows 7にダウングレードすることを余儀なくされました。2つのエラーメッセージが表示されました。1つはpython dllが見つかりませんでした、もう1つは次のとおりです。 プロシージャエントリポイントRpcImpersonateClientContainerがダイナミックリンクライブラリRPCRT4.dllで見つかりませんでした この2番目のエラーは、非常に重要です。大ざっぱな検索はthisを指していますが、これはWindows 10のみのプロセスであることを示しています。 私は何回かpython 2.7と3.4.3を再インストールしてアンインストールできましたが、python dllエラーはもう表示されませんでした(そのため、現在、マシンにPythonバージョンとして3.4.3しかありません)。 ただし、2番目のエラーが引き続き発生します。私は自分のマシンのすべてのMySQLサービスをアンインストールしようとしましたが、2つを除いて大部分は成功しました。 MySQLコネクタ6.9.5およびMySQL for Excel 1.3.3 どうしてもアンインストールできません。この回答で解決策を試しましたが、次のエラーが発生しました: OpenServiceが1060に失敗しました: 指定されたサービスはインストールされたサービスとして存在しません。 現在、Microsoftインストーラー(拡張子msi)を介してMySQLコミュニティエディション5.6.26.0を再インストールしようとしています。私はそれをクリックして、「関連情報を収集しています...」のようなウィンドウを表示して、それが消えるだけです。 注:Webコミュニティ経由でインストールしようとすると、私はなんとか次の画面を表示し(このプログラムで変更を加えますか?)、その後再び消えます。 どちらもWindowsプロセスでは見つかりません。 ただし、Webコミュニティを数回実行した後、MySQL Installer -Community変更/アンインストールするリストにインストール済みプログラムとして表示されます。変更しようとしても何も起こりませんが、アンインストールしようとすると: プロシージャエントリポイントRpcImpersonateClientContainerがダイナミックリンクライブラリRPCRT4.dllで見つかりませんでした 繰り返しになりますが、2番目のエラー(アンインストールはなんとかできます)。 後で別のグーグル検索、このフランスのスレッドが飛び出した。私のフランス語はせいぜいずさんなものですが、唯一の返答は、破損したDLLとおそらく新規インストールを示唆しているようです。 おそらく関係のないメモについて:私のコンピュータは、起動するたびに更新するように求めてきました。数分後、おなじみのロゴが「シャットダウン」オプションをポップします。アップデートをインストールすることを選択するたびに、どうやらそれはインストールされたようで、起動時にさらにいくつかの設定を行いました。しかし、毎回、それはもう一度起こりました。 さらに徹底的にチェックしたところ、KB3083186が何度もインストールされていたため、.NET 4.6を修復し、自動更新を無効にしたところ、問題がないようです。 私のマシンの関連する詳細は次のとおりです: OS:Windows 7 Home Premium、Service Pack 1。 システム: HP Pavilion dm4ノートブックPC プロセッサー: Intel Core i5-3210 CPU 2.50 …


3
なぜパーティション化しないのですか?
いつデータベースを分割したくないですか?(MySQLパーティショニングを考える) 私の場合 私は数百万行から始めます。そこから成長するはずです。 最も頻繁なクエリ制約として機能する文字フィールドの主キー(および検索が頻繁に-少なくとも1秒に数回)。 主キーは、パーティションキーとして機能するようにハッシュされます 上記の頻繁なクエリでプルされるすべての行が更新されます (日付列などに対する)頻度の低い検索では、すべてのパーティションをヒットする必要があります 最後の点でさえ、ルックアップは並行して実行されないので、すべての場合において、これは勝利ですか?パーティショニングの欠点は何ですか?少なくとも、100万件以上のレコードを表示しているときに、誰もがデフォルトで使用するものではないのですか? 更新-私はzgguyの回答を選択しましたが、私にとって非常に有用な同様の質問に対する本当に良い回答へのリンクを含む自分の調査の結果に自分の回答を追加したことに注意してください。

1
MySqlDumpのDISABLE KEYSはインポートに影響しません
Inno-Tablesでのインポート速度に関する私の前の質問のフォローアップがあります(驚き!)。 シナリオ 私は妥当な時間内にローカルの開発用マシンにいくつかのbig *データベースダンプをインポートしようとしました。KEYテーブルに接続されている多くのがボトルネックになっていますが、それでもライブシステムにとって重要です。 上記の質問をした後の私のアプローチはKEY ...、ダンプからステートメントを削除し、キーをインポートして再度追加することでした。 しかし、現在のダンプを編集してローカルにインポートすることがよくあり、これらの面白い "コメント"に遭遇しました(- disable/enable keys行)。 -- -- Dumping data for table `monster` -- LOCK TABLES `monster` WRITE; /*!40000 ALTER TABLE `monster` DISABLE KEYS */; INSERT … INSERT … INSERT /*!40000 ALTER TABLE `monster` ENABLE KEYS */; UNLOCK TABLES; しかし、実際にはこれらの「コメント」は条件付きのMySql-Statementsです それは私にとってはニュースでしたが、出力フォームを考えると、mysql --versionすべてが私には問題なく見えます。 mysql Ver 14.14 Distrib …

2
MySQL:左外部結合と内部結合のどちらが良い結合か
それらすべてが同じ結果を提供する場合、どの結合がより良いパフォーマンスを発揮しますか?たとえば、2つのテーブルemployees(emp_id,name, address, designation, age, sex)とがありwork_log(emp_id,date,hours_wored)ます。いくつかの具体的な結果を得るために、両方のinner joinとleft join同じ結果になります。しかし、私はまだこの疑問だけに限定されない疑問をいくつか抱えています。 同じ結合の場合、同じ結果値の場合にどちらが優先されるのでしょうか。 結合を適用するときに考慮しなければならない他の要素は何ですか? 内部結合とクロス結合の間に関係はありますか?

3
InnoDBインポートのパフォーマンス
約1000万行(または7GB)からなる非常に大きなInnoDBテーブルを一括インポートするのに苦労しています(これは、これまでに作業した中で最大のテーブルです)。 Innoのインポート速度を改善する方法を調査しましたが、今のところ、私のセットアップは次のようになっています。 /etc/mysql/my.cnf/ [...] innodb_buffer_pool_size = 7446915072 # ~90% of memory innodb_read_io_threads = 64 innodb_write_io_threads = 64 innodb_io_capacity = 5000 innodb_thread_concurrency=0 innodb_doublewrite = 0 innodb_log_file_size = 1G log-bin = "" innodb_autoinc_lock_mode = 2 innodb_flush_method = O_DIRECT innodb_flush_log_at_trx_commit=2 innodb_buffer_pool_instances=8 import is done via bash script, here is the mysql code: SET …

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