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

MySQLはOracleが所有するオープンソースのデータベースです。

3
MySQL:テーブルはクラッシュとしてマークされています
ディスクがいっぱいになると、サーバー上のMySQL DBの1つがバックアップしようとすると、次のエラーが表示されます。 [root@mybox ~]# mysqldump -p --result-file=/tmp/dbbackup.sql --database myDBname Enter password: mysqldump: Got error: 145: Table './myDBname/myTable1' is marked as crashed and should be repaired when using LOCK TABLES 少し調べてみると、2つのテーブルにこの問題があることがわかります。 破損したテーブルを修正するために何をする必要がありますか?
9 mysql 

7
Mysql:14億のレコードにインデックスを作成する
14億レコードのテーブルがあります。テーブルの構造は次のとおりです。 CREATE TABLE text_page ( text VARCHAR(255), page_id INT UNSIGNED ) ENGINE=MYISAM DEFAULT CHARSET=ascii 要件は、列にインデックスを作成することtextです。 テーブルサイズは約34Gです。 次のステートメントでインデックスを作成しようとしました。 ALTER TABLE text_page ADD KEY ix_text (text) 10時間待った後、ようやくこのアプローチをやめました。 この問題に対して実行可能な解決策はありますか? UPDATE:テーブルが更新、挿入、または削除されることはほとんどありません。列にインデックスを作成する理由textは、この種のSQLクエリが頻繁に実行されるためです。 SELECT page_id FROM text_page WHERE text = ? 更新:テーブルをパーティション分割することで問題を解決しました。 テーブルは、列で40個に分割されていますtext。その後、テーブルにインデックスを作成すると、完了するまでに約1時間かかります。 テーブルのサイズが非常に大きくなると、MySQLインデックスの作成が非常に遅くなるようです。また、パーティション化により、テーブルがより小さなトランクに縮小されます。
9 mysql  indexing 

4
MySQL 5.1または5.5?
バージョン5.1と5.5の間に大きな違いはありますか? 問題のサーバーは、中規模のvBulletinフォーラムをホストするために使用されます。 5.1の主な利点は、apt-getを通じて利用できることです。
9 mysql 

2
ファイル '/tmp/#sql_xxxx.MYI'を作成/書き込みできません(エラーコード:13)
Debian Lenny、PHPmyadmin、postfixをインストールしました。 PHPmyadmin GUIを使用して、取得したデータで任意のテーブルにアクセスする場合: ファイル '/tmp/#sql_xxxx.MYI'を作成/書き込みできません(エラーコード:13) エラー13を行うと言う: OS error code 13: Permission denied 私はtmpdir likを見つけます: mysqladmin -p variables | grep -w tmpdir | tmpdir | /tmp これは、mysqlが/ tmpに書き込むことができないことを意味します。:777へのアクセス許可を作成すると、それが修正されます。しかし、私はそれをしなければならないということを正しくは感じていません。より良い方法/修正はありますか? tmpdirの値を変更する必要があります/etc/mysql/my.cnfか?
9 mysql  debian 

9
MySQLに対するブルートフォース攻撃を防止しますか?
MySQLdのネットワーキングをオンにする必要がありますが、オンにするたびに、サーバーはブルートフォースで強制終了されます。一部のユーザーは、パスワード推測スクリプトがサーバー上で攻撃を開始し、ポート3306で接続を開き、ランダムなパスワードを永久に試行します。 これを防ぐにはどうすればよいですか? SSHの場合、私はdenyhostsを使用しますが、これはうまく機能します。MySQLdでdenyhostsを機能させる方法はありますか? MySQLが実行されているポートを変更することも検討しましたが、これは理想的ではなく、あっという間に過ぎないソリューションです(新しいポートを発見した場合はどうなりますか?) 誰か他のアイデアはありますか? 異なる場合は、MySQL 5.xをFreeBSD 6.xで実行しています。

2
mysqldumpがシェルスクリプトでパスワードを要求する
特定のmysqlデータベースをダンプする簡単なシェルスクリプトを記述しました。問題は、私が提供してもパスワードを要求することです。mysql dbは、問題がある場合はバージョン5.0.27です。ここに私が使用している特定の行があります。 $MYSQLDUMP -u backup -p$MyPass $DB > $DEST/$FILE 私はいくつかのバリエーションを試しましたが、役に立ちませんでした。
9 mysql  shell 

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


5
WindowsでバイナリBLOBを含む大きなMySQLダンプファイルのインポート中にエラーが発生しました
ホスティング会社から入手したMySQLダンプファイルをWindows開発マシンにインポートしようとしていますが、問題が発生しています。 これをコマンドラインからインポートすると、非常に奇妙なエラーが発生します。 3118行目のエラー2005(HY000):不明なMySQLサーバーホスト '╖?*á±dÆ╦N╪Æ・h ^ ye "π╩i╪Z +-$▼₧╬Y.∞┌|↕╘l∞/ l ╞⌂î7æ▌X█XE.ºΓ[;╦ï♣éµ♂º╜┤║].♂┐φ9dë╟█'╕ÿG∟═0à¡úè♦╥↑ù♣♦\ '╔NÑ'(11004) バイナリデータが失われることを想定しているので、スクリーンショットを添付しています... 私は問題が何であるかは正確にはわかりませんが、2つの潜在的な問題は、ファイルのサイズ(2 Gb)であり、それはめちゃくちゃ大きくはありませんが、それほど小さくもありません。それらのJPG画像(これがファイルの大部分が2GBである理由です)。 また、ダンプはLinuxマシンで取得され、Windowsにインポートしていますが、それが問題に追加される可能性があるかどうかはわかりません(理解できないはずです) さて、そのバイナリガベージが、ファイル内の画像が問題であると思う理由ですが、過去に同じホスティング会社から同様のダンプをインポートできたため、何が問題なのかわかりません。 また、このファイル(特に3118行目)を調べようとするのは、そのサイズを考えると不可能です(grepやsedなどのLinuxコマンドラインツールではあまり便利ではありません)。 ファイルが破損している可能性がありますが、確認方法は正確にはわかりません。ダウンロードしたのは.gzファイルで、WinRarで "テスト"したところ、問題ないように見えます(gzになんらかのCRCがあると仮定しています)。あなたがそれをテストするより良い方法を考えることができるなら、私はそれを試してみたいと思います。 何が起こっているのか/このエラーを乗り越える方法はありますか? 特にデータに執着しているわけではありません。これは単にdevのコピーとして必要なので、いくつかのレコードを失う必要がある場合でも、スキーマが完全に健全である限り、問題はありません。 ありがとう! ダニエル
9 mysql  import  binary 

4
MySQLテーブルは最適化をサポートしていません
Wordpressテーブルが最適化を必要としているように見えるので、コマンドOPTIMIZE TABLEを調べました。コマンドを実行すると、次の結果が得られます。 テーブルは最適化をサポートせず、代わりに再作成+分析を実行します テーブルはWordpress 2.91インストーラーを使用して作成されており、まったく変更されていません。 これは正常ですか? 正常に機能するようにデータベースを最適化するにはどうすればよいですか?


3
ユーザーを場所に基づいて別のサーバーにリダイレクトするにはどうすればよいですか?
ASP.NETを使用して開発されたWebサイトがあり、MY DBはMySQLです。現在、USAサーバーでホストされています。しかし、インドの近くでアクセスしようとすると、動的コンテンツの読み込みが遅すぎます。リクエストは世界の別の側に行かなければならないので、それは受け入れられます。アメリカでは本当に速いです。このサイトはすでにcloudflare CDNに接続しています。ただし、CDNは静的コンテンツに役立ちます。私のすべてのページはほとんど動的なコンテンツを持っています。 だから私はこのウェブサイトをスケーリングしたいと思います。したがって、リクエストがアメリカから来た場合、USAサーバーからのリクエストを処理し、ASIAからリクエストが来た場合、ASIANサーバーから処理したいとします。ただし、リダイレクト先のコンテンツが2つのサーバー上で同じであることを忘れないでください。(2つのサーバーを同期する必要があります) では、このアーキテクチャを実現するにはどうすればよいでしょうか。 グーグル、フェイスブック、ヤフーはこれをどのように行うのですか?彼らはどのようにして世界中に奉仕しますか 彼らはすべての大陸にデータセンターを持っていると思います。それらはどのように互いに同期しますか?

5
エラーの原因:無効な(古い?)テーブルまたはデータベース名 'lost + found'
MySQLログに重複したエラーが表示されます: 141223 5:47:21 [ERROR] Invalid (old?) table or database name 'lost+found' という名前のデータベースがありますが、#mysql50#lost+found削除できないようです。 mysql> show databases; +---------------------+ | Database | +---------------------+ | information_schema | | maindatabas | | maindatabas_help | | maindatabas_tracker | | gitlabhq_production | | locations | | #mysql50#lost+found | | mysql | | osticket | | performance_schema | …
8 linux  mysql 

3
MySQLサーバーから先月の値を抽出し、それらの値から新しいデータベースを構築することは可能ですか?
開発仮想マシンテンプレートを作成する割り当てがあります。 新しい開発者が製品ごとに開発できるように、会社の製品ごとにMySQLデータベースをサーバーに追加する必要があります。 ほとんどのデータベースは1GB未満です。 しかし、巨大なデータベース(160G前後)がいくつかありますが、作成しようとしているテンプレートのサイズには制限があり、そこに160GBのDBを追加することは妥当ではありません。 したがって、この巨大なデータベースから先月の値を抽出してサーバーに追加する適切な方法を見つけようとしているので、開発者はこのデータベースでの作業を「感じる」ことができます。 そのようなことを行うことは可能ですか?それはどのように行われますか?ありがとう! 編集: 残念ながら、すべての開発データベースを保持する別のメインDBサーバーのオプションはありません。また、データを定期的に更新する必要はありません。本番サーバーと同じデータを(ランダムな期間で)提示するだけです。新しい開発者のためのサンドボックス環境。
8 mysql  centos5 

3
接続の中断(通信パケットの読み取りエラーが発生しました)
mysql error.logが示す [Warning] Aborted connection 320935 to db: '...' user: '...' host: '...' (Got an error reading communication packets) クライアント側が取得する間: Lost connection to MySQL server at 'reading initial communication packet', system error: 111 Lost connection to MySQL server at 'reading authorization packet', system error: 0 and after a while: Host …
8 mysql 

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