MySQL
MySQL:記事リスト
MySQLのカテゴリーには以下の記事がリストされています。
mysqldumpコマンドでMySQLデータベースをバックアップする方法|フルバックアップから特定テーブル・リストアまで
「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入門者が必ず一度は通る道です。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横断検索
「テーブル定義を直接見ても、目的のカラムが見つからない」
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のユーザー一覧と権限を確認するコマンド|SELECT user・SHOW GRANTSとホスト別の見方
MySQLを運用していると、ユーザー管理が複雑になりがちです。
この記事では、MySQLのユーザー一覧を確認する
SELECT user と、権限を確認する SHOW GRANTS の実践的な使い方を解説します。ユーザーの作成・権限付与・削除まで、現場で使う操作をひととおりカバーします。
【この記事でわかること】
・MySQLのユーザー一覧は SELECT User, Host FROM mysql.user; で確認できる
・ユーザーの権限確認は SHOW GRANTS FOR 'ユーザー'@'ホスト'; を使う
・Host列の % は全ホスト許可を意味し、セキュリティ上の注意が必要
・MariaDB(RHEL/CentOS 7以降のデフォルト)でもSQL文は基本同じ
続きを読む "MySQLのユーザー一覧と権限を確認するコマンド|SELECT user・SHOW GRANTSとホスト別の見方"
MySQLのrootパスワードを忘れた場合の対処について
・MySQL を --skip-grant-tables オプションで起動することで認証をバイパスできる
・ALTER USER または UPDATE mysql.user でパスワードを変更し、flush privileges を実行する
・5.7 以降は authentication_plugin が caching_sha2_password に変わった点に注意が必要
・パスワード変更後は必ず通常モードで再起動して接続確認を行う
