ラベル MySQL の投稿を表示しています。 すべての投稿を表示
ラベル MySQL の投稿を表示しています。 すべての投稿を表示

2014/01/18

MySQLのバックアップ、復元方法

# MySQLのバックアップ、復元方法


環境は以下
CentOS :CentOS release 6.5 (Final)
MySQL   :5.5

【バックアップ】
# 全てのDBの場合
$ mysqldump -u ユーザ名 -p パスワード --all-databases > backup.sql

# 特定のDBの場合
$ mysqldump -u ユーザ名 -p パスワード DB名 > 出力ファイル名
例)mysql -u root -p password dbname > dbname.sql

※実行時に以下エラーが出る場合有り。
  mysqldump: unknown variable 'symbolic-links=0'

  この場合は、以下を実行
  MySQLの設定ファイル「my.cnf」にて「symbolic-links」をコメントアウト

  symbolic-links=0
 ↓
  # symbolic-links=0


【復元】
# 全てのDBの場合
mysql -u ユーザ名 -p < 出力ファイル名

# 特定のDBの場合
mysql -u ユーザ名 -p DB名 < 出力ファイル名
14:02No comments

2014/01/15

MySQLのタイムゾーン設定変更方法

①MySQLの設定ファイル「my.cnf」の場所を確認
$ find / -name my.cnf

②MySQLの設定ファイル「my.cnf」を変更
$ vi (①で確認したパス)

[mysqld]
default-time-zone='+9:00'

③MySQLの再起動
$ sudo service mysqld restart

④MySQLにログインの上、以下コマンドデータが正しく反映された事を確認
$ mysql>select curdate(),curtime();

以下のような表示で日付時刻が一致していればOK
+------------+-----------+
| curdate()  | curtime() |
+------------+-----------+
| 2014-01-15 | 20:53:45  |
+------------+-----------+
20:56No comments

2014/01/13

CSVファイルをMySQLへ文字化け無くインポートする方法

ExcelのcsvファイルをMySQLへインポートする。

①システム共通の文字コード設定を確認する
$ sudo vi /etc/my.cnf

②DBの文字コード確認
$ mysql> show variables like 'character%';

③テーブルの文字コード確認
$ mysql> show create table テーブル名 \G

④取得するcsvファイルをutf-8で保存、サーバーへアップロード
・パスワードはfileZilla等で行う。
・アップロードパスを覚えておく。
・この時csvファイルのutf-8保存、確認はterapad等のテキストエディタから行う。
 ExcelのWebオプション>エンコード>ドキュメントを保存する形式で指定しても、
 正しく反映されていない事があるので注意

⑤csvファイルのインポート
load data local infile 'アップロードデータのパス' into table テーブル名 FIELDS TERMINATED BY ',' ENCLOSED BY '"';

⑥MySQLへの正常インポート確認
MySQL上で以下SQL文でDB一覧を参照の上確認
use データベース名;
select * from テーブル名;

ja → en
· Utf-8 save the csv file to make sure done in a text editor such as terapad at this time . If it is specified with a format in which to save the Web Options > Encoding > Document of Excel, There is a thing that is not reflected correctly .
18:45No comments

2013/12/16

MySQL基礎コマンドまとめ(随時更新)

# MySQLバージョン確認
mysql --version
以下のような画面が表示されたらok。
$ mysql  Ver 14.14 Distrib 5.5.34, for Linux (x86_64) using readline 5.1

MySQLログイン
$ mysql -u root -p
その後、パスワード入力欄にてパスワードを入力

# 初期ログイン時パスワードセット
$ mysql> set password for root@localhost=password('password');
以下メッセージが出たらok。
$ Query OK, 0 rows affected (0.07 sec)

# MySQLログアウト
$ mysql> exit

# DB一覧の表示
$ mysql> show databases;

# DB作成
$ mysql> create database testdb;
以下メッセージが出たらok
$ Query OK, 1 row affected (0.00 sec)

# DB削除
$ mysql> drop database testdb;
以下メッセージが出たらok。
$ Query OK, 0 rows affected (0.13 sec)
※show databasesで消えている事を確認。

#使用するDBの切替
$ mysql> use testdb
※testは任意のデータベース名
以下メッセージが出たらok。
Database changed

# 指定したDBへの特定ユーザーの権限付与
   例だと、ユーザー「dbuser」へパスワード「aaaa」を割り当てる方法
$ mysql> grant all on test.* to dbuser@localhost identified by 'aaaa';

# 作成済テーブル一覧の表示
$ mysql> show tables;

#テーブル定義の確認
mysql> desc テーブル名;
※descはdescriptionの略

#テーブル作成
$ mysql> create table テーブル名
    -> (
    -> id INT(10),
    -> name VARCHAR(30)
    -> );
$ Query OK, 0 rows affected (0.09 sec)

#テーブル削除
$ mysql> drop table テーブル名;

#テーブルの中身を全て表示
mysql> select * from テーブル名;

#テーブルの中身の追加
mysql> insert into テーブル名 フィールド名 values フィールドの値;
例)
mysql> insert into table (field1,field2,field3) values (value1,value2,value3);

#テーブルの中身の削除
mysql> delete from テーブル名 where 条件文;
例)
mysql> delete from table1 where id=3;

#テーブルの中身の全消去
mysql> truncate テーブル名;
例)
mysql> truncate table1;

#テーブルの中身の更新
mysql> update テーブル名 set フィールド名 where 条件;
例)
mysql> update table set (field1=1) where (field2=4);



0:57No comments