MySQL
MySQL:記事リスト
MySQLのカテゴリーには以下の記事がリストされています。
mysqldumpコマンドでMySQLデータベースをバックアップする方法|フルバックアップから特定テーブル・リストアまで
「MySQLのバックアップって、どうやればいいんだろう」
「mysqldumpを実行したが、本当にリストアできるのか不安だ」
サーバー管理を始めると、必ずぶつかるのがデータベースのバックアップ設計です。ファイルのバックアップと違い、DBはエンジンのファイルをそのままコピーするだけでは壊れるリスクがあります。
この記事では、
フルバックアップの取り方、特定テーブルだけのダンプ、圧縮・自動化・リストアの手順まで、RHEL 9.4 / Ubuntu 24.04 LTS で動作確認した内容をもとに説明します。
「mysqldumpを実行したが、本当にリストアできるのか不安だ」
サーバー管理を始めると、必ずぶつかるのがデータベースのバックアップ設計です。ファイルのバックアップと違い、DBはエンジンのファイルをそのままコピーするだけでは壊れるリスクがあります。
この記事では、
mysqldump コマンドの実践的な使い方を解説します。フルバックアップの取り方、特定テーブルだけのダンプ、圧縮・自動化・リストアの手順まで、RHEL 9.4 / Ubuntu 24.04 LTS で動作確認した内容をもとに説明します。
この記事のポイント
・mysqldump は MySQL/MariaDB 標準のダンプツールで追加インストール不要
・フルバックアップには --single-transaction と --events オプションが安全
・リストアは mysql コマンドでリダイレクト入力するだけでできる
・cronと圧縮を組み合わせた自動バックアップが実務の基本形
続きを読む "mysqldumpコマンドでMySQLデータベースをバックアップする方法|フルバックアップから特定テーブル・リストアまで"
MySQLでユーザー一覧を表示する方法|mysql.userの確認とCURRENT_USERの活用
「MySQLでユーザーの一覧を確認したいのに、SHOW USERSと打ったらエラーになった」
MySQL入門者が必ず一度は通る道です。MySQLには
この記事では、
動作確認環境:MySQL 8.0.36 / MariaDB 10.11(RHEL 9.4 / Ubuntu 24.04 LTS)
MySQL入門者が必ず一度は通る道です。MySQLには
SHOW DATABASES や SHOW TABLES がありますが、SHOW USERS というコマンドは存在しません。この記事では、
mysql.user テーブルから正しくユーザー一覧を取得する方法と、現在ログイン中のユーザーを確認する CURRENT_USER 関数、さらに権限確認の SHOW GRANTS まで、実務で必要な操作をまとめて解説します。MariaDBとの違いも含めて対応します。動作確認環境:MySQL 8.0.36 / MariaDB 10.11(RHEL 9.4 / Ubuntu 24.04 LTS)
この記事のポイント
・MySQLに「SHOW USERS」はない。SELECT User, Host FROM mysql.user を使う
・CURRENT_USER() で現在のセッションのユーザーを即座に確認できる
・SHOW GRANTS FOR 'user'@'host' で付与された権限を確認する
・アカウントロック中ユーザーは account_locked='Y' で絞り込める
MySQLで指定したカラム名を持つテーブルを検索する|information_schemaを使ったDB横断検索
「特定のカラム名を持つテーブルが、どのDBのどこに存在するかわからない」
「テーブル定義を直接見ても、目的のカラムが見つからない」
DBA経験のあるエンジニアなら一度は遭遇する場面です。
この記事では、MySQLで指定したカラム名を持つテーブルを検索する方法を、information_schemaを使った実コマンド付きで解説します。MySQL 5.7 / MySQL 8.0 / MariaDB 10.x で動作確認済みのSQLです。
「テーブル定義を直接見ても、目的のカラムが見つからない」
DBA経験のあるエンジニアなら一度は遭遇する場面です。
この記事では、MySQLで指定したカラム名を持つテーブルを検索する方法を、information_schemaを使った実コマンド付きで解説します。MySQL 5.7 / MySQL 8.0 / MariaDB 10.x で動作確認済みのSQLです。
この記事のポイント
・information_schema.columnsをSELECTすればMySQL内のカラム検索が一発でできる
・table_schemaを条件に加えると、特定データベースに絞った検索が可能
・LIKE演算子で部分一致検索(user_%・%_idなど)にも対応
・MariaDB / MySQL 8.0 でも同じSQLがそのまま動く(標準化済みのスキーマ)
続きを読む "MySQLで指定したカラム名を持つテーブルを検索する|information_schemaを使ったDB横断検索"
MySQLのrootパスワードを忘れた場合の対処について
MySQLはオープンソースのデータベースソフトになります。
無料で利用できるデータベースソフトとしてPostgreSQLがありますが、
それと人気を二分するデータベースソフトです。
人気の理由は高性能且つ高速で、しかも操作が比較的簡単な上、
Movable TypeやXoopsなど多くのウェブサイト構築ソフトウェアが
サポートしているためです。またMySQLを利用する事でLAMP環境が
構築出来ます。
※LAMPとはLinux、Apache、 MySQL、 PHPの略称
今回はそのMySQL専用のrootパスワードを忘れてしまった場合の
対処方法をご紹介します。
【この記事でわかること】
・MySQL を --skip-grant-tables オプションで起動することで認証をバイパスできる
・ALTER USER または UPDATE mysql.user でパスワードを変更し、flush privileges を実行する
・5.7 以降は authentication_plugin が caching_sha2_password に変わった点に注意が必要
・パスワード変更後は必ず通常モードで再起動して接続確認を行う
・MySQL を --skip-grant-tables オプションで起動することで認証をバイパスできる
・ALTER USER または UPDATE mysql.user でパスワードを変更し、flush privileges を実行する
・5.7 以降は authentication_plugin が caching_sha2_password に変わった点に注意が必要
・パスワード変更後は必ず通常モードで再起動して接続確認を行う
