AWSでDBサーバ作ってNavicatでインポート

AWSでDBサーバ作ってNavicatでインポート

今はmariadb/a5sql使ってるけど当時はmysql/Navicat。
ローカルLinuxにあるDBテーブルをNavicat使ってインポート実施。

yumできることを確認

# yum update
aws

タイムゾーンを設定(できるだけ最初にやるべき)

[root@ip-172-31-21-195 log]# date
Sat Nov 12 21:04:51 UTC 2016
[root@ip-172-31-21-195 log]# strings /etc/localtime
TZif2
TZif2
UTC0
[root@ip-172-31-21-195 log]# cp -p /etc/localtime /etc/localtime.org
[root@ip-172-31-21-195 log]# ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
[root@ip-172-31-21-195 log]# vi /etc/sysconfig/clock

ZONE="Asia/Tokyo"
UTC=false

:wq

mysqlをインストール

# yum -y install mysql-server

/etc/my.cnfができていることを確認

aws

作業ディレクトリをローカルのLinuxの設定を元にして作成

aws

設定したい内容をローカルLinuxから設定、実メモリにあわせて値を変更しないと起動エラーになる

[client]
default-character-set=utf8

[mysqld]

datadir=/nari/nariDB socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 default-storage-engine=InnoDB character-set-server=utf8 innodb_buffer_pool_size = 256M innodb_log_file_size = 50M innodb_log_buffer_size = 8M innodb_flush_log_at_trx_commit = 2 sort_buffer_size = 64M key_buffer_size = 64M query_cache_limit = 5M query_cache_size = 64M max_allowed_packet=64MB max_connections=40 slow_query_log = 1 log-outpu = FILE slow_query_log_file = /var/log/mysql/mysqldb_slow.log long_query_time = 2

[mysqld_safe]

log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid

mysqlの起動

# service mysqld start
aws

mysqlのサービス自動起動設定と、root設定、パスワード設定例

# chkconfig mysqld on
# chkconfig --list | grep mysql
# /usr/bin/mysqladmin -u root password (ここではパスワードをboo)
# mysql -u root -pboo
mysql> grant All privileges on *.* to mysql@localhost identified by 'boo' with grant option ;
mysql> grant All privileges on *.* to mysql@'%' identified by 'boo' with grant option ;
mysql> use mysql ; 
mysql> delete from user where user = '' ; 
mysql> delete from user where password = '' ; 
mysql> flush privileges ; 
aws

ローカルで必要なユーザを作成&mysqlのサービス自動起動設定と、root設定、パスワード設定例

mysql> create user 'nari'@'localhost' identified by (パスワード)
mysql> flush privileges ; 
aws

nariを外部ホストから接続許可設定

mysql> grant All privileges on *.* to nari@'%' identified by (パスワード)) with grant option ;
mysql> flush privileges ;
mysql> select User,Host from mysql.user ;
aws

接続に成功

aws

nariDB_1stデータベースを作成する

aws

テーブルをドラッグ&ドロップ

ローカルからデータ転送するが、blobを含むものは1つずつ転送しないとエラーになる
aws

extended-insert

使わないと極度に速度が下がるが、blobを含むテーブルではエラーになる。またblobを含むテーブルはbase64エンコードの文字列が入っているので、16進形式は使わない
aws

必ず「Successfully」が表示されることを確認

データの量に依存するが、700MB程度のバックアップ量なら5分程度で完了する
aws

データが入ってディスク消費量も増えている

aws

コメント