主に IT 技術を整理するためにメモ的に書き溜めています。少しだけフリーソフトもあるよ。コメントを残すには、 facebook を使ってください。

MySQL 設定やコマンド

最終更新日 2021-04-28 22:46:09 (1年以上前の記事です)
昔は全部コマンドラインでやっていたんだけど、最近はもうずっと phpmyadmin を使っちゃってるな。 万が一に備える意味と、初心に戻るという意味で、一応まとめておく。

データベース全般情報系

全テーブルのリストとサイズ

SELECT * FROM INFORMATION_SCHEMA.TABLES 
     WHERE TABLE_SCHEMA = '{your_db}';

全インデックスのリストとサイズ

SELECT database_name, table_name, index_name, ROUND(stat_value * @@innodb_page_size / 1024 / 1024, 2) size_in_mb FROM mysql.innodb_index_stats WHERE stat_name = 'size' AND index_name != 'PRIMARY' ORDER BY size_in_mb DESC;

初期設定

起動ユーザの設定

mysql-server の起動ユーザの設定は /etc/my.cnf で行う。
# vi /etc/my.cnf
[mysql.server]
user=mysql

管理データベースへ接続

$ mysql -u root mysql
または
$ mysql -u root
> connect mysql

管理者のパスワードの変更

$ mysqladmin -u root password 'manager'
または
> UPDATE user SET Password = PASSWORD('manager') WHERE user = 'root';

DB作成からユーザ登録

まず mysql コマンドでサーバに接続する。
$ mysql -u root -p

データベースの作成

> create database testdb;

ユーザの登録

> grant all privileges on testdb.* to username@localhost identified by 'passward';
> set password for username@localhost = password('xxxxxxx');
> flush privileges;

外部の SQL ファイルを実行する

> source /home/ma/table.sql;

DB の削除

> drop database testdb;

各種情報取得

DB 一覧

> show databases;

テーブル一覧

> show tables;

テーブル一覧と一緒にレコード数も

> SELECT table_name, table_rows FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'db_name';

フィールド一覧

> show fields from tablename;

バックアップ

データベースのバックアップは、 mysqldump コマンドを使用して行い、リストアする際には mysql コマンドでファイルを読み込んで SQL を流すようにする。
$ mysqldump -u root -p testdb > testdb.dmp
> create database testdb;
> quit
$ mysql -u root -p testdb < testdb.dmp
最終更新日 2021-04-28 22:46:09

コメント このエントリーをはてなブックマークに追加

フリーソフトウエア
EnjoiFLV
EnjoiPacket
EnjoiCrypto
ランキング
rank1, rank2, rank3, rank7, rank9, rank10, rank11
todo メモ
facebook 対応
ページ処理
RSS feed
検索機能
認証いる?
更新日表示
実はカテゴリ機能
多言語
実はユーザ機能
ソースその内公開
動作環境メモ
php-5.1.6 with PDO
SQLite-3.3
IE6
FireFox-1.5
RSS
非認証

検索
Google