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

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

1
MySQLデータベースinformation_schema、performance_schema、mysql、phpmyadminのバックアップが必要ですか?
information_schemaデータベースをバックアップする必要がないことはわかっていますが、次のデータベース(ユーザー定義データベース以外)はどうなりますか? performance_schema mysql phpmyadmin (つまり、問題が発生した場合、最初からやり直す必要があります(新しいMySQLインストール)。どのデータベースを元に戻す必要がありますか?)

5
以前の行の値と実際の行の値に基づいて行の値を計算します
みなさん、こんにちは。あなたの助けに感謝します。 私は次のような状況にあります。フィールドid(int)、stmnt_date(date)、debit(double)、credit(double)およびbalance(double) を含むステートメントと呼ばれるテーブル 次のルールに従って残高を計算したい: 最初の行の残高(発生順)=借方-貸方および残りの行 現在の行の残高=発生順に前の行の残高+現在の行の借方-現在の行の貸方 上の図からわかるように、行は日付順に並べられていません。そのため、この単語を時系列で2回使用して、stmnt_date値の重要性を強調しています。 手伝ってくれてありがとうございます。
9 mysql  row 


1
二重引用符で列の値を追加する方法(文字列を引用符で囲む)
TEXT型の列を持つテーブルがあります。列には数字が入ります。私が達成しようとしているのは、それらの文字を二重引用符で囲むことです。 例: NAME ID QTY Apples A1 1 Oranges O1 1 Foo F1 0 理想的な出力: NAME ID QTY Apples A1 "1" Oranges O1 "1" Foo F1 "0" 次のSELECTステートメントを実行しようとしましたが、期待した結果が得られませんでした。おそらくあなたは私を正しい方向に導くことができますか? SELECT `qty`, CHAR('"'|| qty ||'"') FROM `myTable`; ありがとうございました
9 mysql  concat 

2
/etc/my.cnfファイルでbinlog-format = ROWを起動時のデフォルトにするにはどうすればよいですか?
クエリSET GLOBAL binlog_format = 'ROW'を実行すると、そのセッションで機能します。 MySQLを停止して再起動した後、この設定を維持するにはどうすればよいですか? 注:私はMySQLのバージョン5.5.19(Moodleを使用)を使用していて、MyISAMからInnoDBにアップグレードしたばかりなので、この新しい設定が必要です。 私はこれら2つのコマンドを(個別に)my.cnfに追加しようとしました:binlog-format = ROWおよびbinlog_format = ROWで、どちらも機能しません。my.cnfを変更するたびに、MySQLを停止して再起動しました。 これを設定しないと発生するエラーは、悪質なエラーメッセージです。 デバッグ情報:ステートメントを実行できません:BINLOG_FORMAT = STATEMENTおよび少なくとも1つのテーブルが行ベースのロギングに限定されたストレージエンジンを使用しているため、バイナリログに書き込むことができません。トランザクション分離レベルがREAD COMMITTEDまたはREAD UNCOMMITTEDの場合、InnoDBは行ログに制限されます。
9 mysql  innodb  my.cnf 

1
どうすれば匿名ログインを無効にできますか?
MySQLのドキュメントによれば、パスワードを追加するか、匿名アカウントを削除することで、MySQLサーバーを強化できます。 クライアントがパスワードなしで匿名ユーザーとして接続できないようにする場合は、各匿名アカウントにパスワードを割り当てるか、アカウントを削除する必要があります。 強化する前は、ユーザーテーブルは次のようになっています。 mysql> select user,host,password from mysql.user; +------------------+-----------+-------------------------------------------+ | user | host | password | +------------------+-----------+-------------------------------------------+ | root | localhost | *F3A2A51A9B0F2BE246XXXXXXXXXXXXXXXXXXXXXX | | root | gitlab | | | root | 127.0.0.1 | | | root | ::1 | | | | localhost | | | | gitlab …
9 mysql  security 

4
MYSQLエラー2049(HY000):使用されている古い(4.1.1より前の)認証プロトコル参照を使用した接続(クライアントオプション 'secure_auth'が有効)
5.0バージョンにあるすべてのデータベースダンプを5.6バージョンに復元しようとすると、復元されました。その後、再接続しようとすると、次のエラーが発生します。 ERROR 2049 (HY000): Connection using old (pre-4.1.1) authentication protocol ref used (client option 'secure_auth' enabled).. My.iniに次の行を追加してサービスを再起動しましたが、問題は解決しません。 skip-grant-tables次のリンクは、MYSQLのバグを示しています。 https://github.com/santisaez/powerstack/blob/master/packages/mysql/mysql-powerstack-secure_auth.patch 誰かがこのソリューションの修正を持っていますか?

2
MySQLレプリケーション:「PRIMARYキーの重複したエントリ」
完全に再同期した後、スレーブサーバーで「PRIMARYキーの重複したエントリ」が表示される理由を教えてください。 基本的に、「mysqldump」はほぼ一晩実行されていたため、復元プロセスには数時間かかったので、スレーブを起動したとき、マスターから約63874秒遅れていました。 スレーブサーバーは読み取り専用(read_only)であり、再同期プロセス中に書き込みがなかったため、重複したキーがある理由がわかりません。 マスターでバイナリログ形式がMIXEDに設定されています。 DBのバックアップに使用されるコマンド: mysqldump --opt --single-transaction -Q --master-data=2 db | bzip2 -cz > db.sql.bz2 スレーブは、次のオプションを使用して、マスター(db-> db_backup)から1つのデータベースのみを複製します。 replicate-wild-do-table = db_backup.% replicate-rewrite-db = db->db_backup

2
個々のクエリは10ミリ秒で実行され、UNION ALLでは290ミリ秒以上かかります(7.7MレコードMySQL DB)。最適化するには?
教師が利用できる予定を保存するテーブルがあり、2種類の挿入が可能です。 時間単位:教師ごとに1日あたり無制限のスロットを追加する自由(スロットがオーバーラップしない限り):4月15日、教師は10:00、11:00、12:00、16:00にスロットを持つことができます。特定の教師の時間/スロットを選択すると、担当者が対応します。 時間帯/範囲:4月15日/ 4月に別の教師が10:00から12:00まで、そして14:00から18:00まで働くことができます。人は到着順に提供されるため、教師が10:00から12:00に勤務している場合、この期間に到着するすべての人には到着順に参加します(ローカルキュー)。 検索で利用可能なすべての教師を返す必要があるため、到着範囲の順序と同じテーブルにすべてのスロットを保存する必要があります。この方法では、date_from ASCで注文でき、最初に利用可能なスロットを検索結果の最初に表示します。 現在のテーブル構造 CREATE TABLE `teacher_slots` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `teacher_id` mediumint(8) unsigned NOT NULL, `city_id` smallint(5) unsigned NOT NULL, `subject_id` smallint(5) unsigned NOT NULL, `date_from` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `date_to` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `status` tinyint(4) NOT NULL …
9 mysql 

2
'name' @ '%'を使用してMySQLにユーザーを追加すると、エラー1396で失敗する
私はMySQLに新しいユーザーを追加しようとしました CREATE USER 'name'@'%' IDENTIFIED BY '...' ただし、次のエラーで失敗します。 ERROR 1396 (HY000): Operation CREATE USER failed for 'name'@'%' localhostのためだけにユーザーを追加することはうまくいきます: CREATE USER 'name'@'localhost' IDENTIFIED BY '...' 何が問題なのか、私にはわかりません。どんなアイデアでもありがたいです。 (私はを使用していmysql Ver 14.14 Distrib 5.1.66ます。)

1
インポート時のMySQLテーブルのダンプが既存のレコードを置き換えました
mysqldumpを使用してダンプを取得しました。 mysqldump -u... -p... mydb t1 > mydb_table.sql 次に、同じテーブルを持つがレコードが異なる別のデータベースにダンプをインポートしました。 mysql -u...-p... mydb < mydb_tables.sql インポートデータベースには、primary_key 1から1000までのレコードがあり、エクスポートデータベースには、5000〜10,000のレコードがありました。 しかし、インポート時に既存のレコード、つまり1〜1000が削除されました。 どうやって??なぜ??これがデフォルトの動作である場合、次回ダンプを発生させないためにダンプにどのようなオプションを指定できますか。

2
MySQLバイナリログ-テーブルをスキップ
バイナリログの特定のテーブルをスキップする方法はありますか? 毎晩のバックアップ間の増分バックアップ戦略としてバイナリログを構成しています。しかし、バッチプロセスから毎晩更新する1つの巨大な参照テーブルがあります(70GBテーブル)。このテーブルは読み取り専用で、を使用して毎晩更新されmysqlimportます。 この参照専用テーブルの更新プロセス中に、バイナリログによってかなり深刻な遅延が発生しています(特に、70 GBの完全更新を実行した場合)。基本的に70GBを2回やる必要があります。うん。 参照テーブルは現在MyISAMを使用しています(InnoDBがそれをロードしようとしたため、MyISAMを試しました)。
9 mysql  logs  binlog 


1
同時切り捨てコマンド中にサーバーがクラッシュした後のMySQL INNODBの破損
私のサーバーが今日クラッシュしました。これは、INNODBテーブルの1つでテーブルの同時切り捨てコマンドが原因で発生したと思います。サーバーを再起動できますが、起動後、SQLコマンドを発行しようとするたびに、次のエラーが発生します。 ERROR 2006 (HY000): MySQL server has gone away これはログで起こったことです: 121206 01:11:12 mysqld restarted 121206 1:11:13 InnoDB: Started; log sequence number 275 559321759 InnoDB: !!! innodb_force_recovery is set to 1 !!! 121206 1:11:13 [Note] /usr/libexec/mysqld: ready for connections. Version: '5.0.95-log' socket: '/var/lib/mysql/mysql.sock' port: 3306 Source distribution InnoDB: Error: trying to …

2
mysql.procがクラッシュし続けますが、mysqldumpを実行できませんか?
InnoDBのいくつかの問題のため、すべてのデータベースを新しいサーバーにダンプします。 mysqldump -E -R --all-databases | pv -b | mysql -u root -p -h new.server ダンププロセスはエラーで停止しました: 59.9kB assword: 59.9kB ERROR 145 (HY000) at line 2970: Table './mysql/proc' is marked as crashed and should be repaired 228MB mysqldump: Got errno 32 on write 次のコマンドを実行して、すべてのデータベースのすべてのテーブルを修復しました。 mysqlcheck --auto-repair --all-databases mysql.procステータスを調べると、次のことがわかります。 mysql> check table …

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