mac 上でサーバを構築中です。
mac はもともといろんなものが入ってるんですねー。らくちんらくちん。
その時のざっくりメモ。
・Apache
システム環境設定→共有→Web共有をON
・PHP
/etc/apache2/httpd.conf 内でPHPの記述がコメントアウトされているのを外す。
# LoadModule php5_module libexec/apache2/libphp5.so
・MySQL
ここからダウンロードしてインストール。
MySQL.prefPaneをクリックすることで、システム環境設定の項目からMySQLを操作することが可能に。
これで使えるようになるはずなのだけど、パスワードの設定がよく分からなくなってしまったので
もう一度インストールスクリプトを動かしてみた。
コマンドラインから
$sudo /usr/local/mysql/scripts/mysql_install_db
で、パスワードとか設定しておしまい。
・phpMyAdmin
GUIで楽に操作できるようにするためにはブラウザからMySQL操作できるこれが便利だとのことだったので、
ここからダウンロードしてインストール。
で、フォルダ名をphpMyAdminに変えて、フォルダごとまるまる/Library/WebServer/Documents/へ移動。
これで、http://localhost/phpmyadmin/からこのこが見えるようになりました。
のですが、MySQLで設定したユーザ&パスワードで入れない。。。
2002エラーが出ました。
調べてみたら、これはPHPがMySQLのソケットの位置を勘違いしているのが原因だそう。
(参照元:Mac にphpMyAdmin を入れる手順 - Slow Dance)
なので、まずMySQLの設定ファイルでソケットの位置を指定。
$ sudo emacs /etc/my.cnf
以下を記述。
[mysqld]
socket=/tmp/mysql.sock
PHPの設定ファイルを作成。
$ sudo cp /private/etc/php.ini.default /etc/php.ini
この/etc/php.ini内のMySQLソケットの設定を上記の記述と合わせる。
mysql.default_socket = /tmp/mysql.sock
Apacheを再起動して(Web共有のチェックを外して入れ直す)
めでたくログインできました*
やっとスタート地点にたてた(*-*;;;;)
ちなみにばっちり文字化けしました。。w
artful xampp:Mysqlに関するPHPMyAdminの文字化けで解決!
2010年11月9日火曜日
MySQL トラブル
ファイル破壊されまくり…
●テーブルが壊れた
ログインして,
mysql> check table 壊れたテーブル名
で原因が分かる
mysql> repair table 壊れたテーブル名
で直る
…らしいけどこれだと直らないことが多い気がする(^^;)
なので私の場合全部のデータが入っているフォルダ( /usr/local/mysql/var/データベース名 )
のバックアップを取っておいて,
壊れたテーブルの分だけデータを上書きしてやって無理矢理修復しました.
●ログインできなくなった(ユーザテーブルが壊れてた)
とりあえず kill でサーバを一度落として,
--skip-grant-tables オプションを指定して mysqld を再起動.
すると,どんなユーザでもログインできるようになるため,中に入ってから
mysql> select host,user,password from mysql.user;
でログインできるユーザを確認.
すると,ユーザテーブルが壊れてることが発覚したため,上記の repair で修復.
なんだかがっつりユーザが削除されてしまったので,
mysql> GRANT ALL PRIVILEGES ON *.* TO ユーザ名 IDENTIFIED BY 'パスワード' WITH GRANT OPTION;
で権限を持つユーザの追加.
●テーブルが壊れた
ログインして,
mysql> check table 壊れたテーブル名
で原因が分かる
mysql> repair table 壊れたテーブル名
で直る
…らしいけどこれだと直らないことが多い気がする(^^;)
なので私の場合全部のデータが入っているフォルダ( /usr/local/mysql/var/データベース名 )
のバックアップを取っておいて,
壊れたテーブルの分だけデータを上書きしてやって無理矢理修復しました.
●ログインできなくなった(ユーザテーブルが壊れてた)
とりあえず kill でサーバを一度落として,
--skip-grant-tables オプションを指定して mysqld を再起動.
すると,どんなユーザでもログインできるようになるため,中に入ってから
mysql> select host,user,password from mysql.user;
でログインできるユーザを確認.
すると,ユーザテーブルが壊れてることが発覚したため,上記の repair で修復.
なんだかがっつりユーザが削除されてしまったので,
mysql> GRANT ALL PRIVILEGES ON *.* TO ユーザ名 IDENTIFIED BY 'パスワード' WITH GRANT OPTION;
で権限を持つユーザの追加.
2010年7月8日木曜日
MySQLをソースからインストール
めちゃ久々の投稿.
MySQLのインストールでこけたのでメモ.
ソースDLして,./configure をした後の make で2度こけました.
1)../depcomp: line 512: exec: g++: not found
→ yum install gcc-c++ で解決
2)./include/my_global.h:988: error: redeclaration of C++ built-in type ‘bool’
→ make clean
make distclean
した後はじめからやり直して無事 make 通りました.
ソースからインストールした場合ってアンインストールするのってどうするんだろう.
Makefileに特に記述ないぽいから,ディレクトリをがしがし消すのであっているのかな.
相変わらず謎なことだらけだな…
努力しないと.
そして make install したら
/usr/bin/install: memory exhausted
と言われた.
めっちゃメモリ残ってるのに何このエラー!
同じような状況の人が数人いたようなのですが,解決されてないのかな…困ったナ.
http://forums.mysql.com/read.php?11,224710
**7/9 追記**
configureの時にオプションで --with-low-memory をつけると解決するとありましたが,
私の場合ではそれでもだめでした.
selinuxに関するログをはいた後にこのエラーが出たので selinux を止めちゃうという対処法でとりあえずはインストールしてしまいました.
MySQLのインストールでこけたのでメモ.
ソースDLして,./configure をした後の make で2度こけました.
1)../depcomp: line 512: exec: g++: not found
→ yum install gcc-c++ で解決
2)./include/my_global.h:988: error: redeclaration of C++ built-in type ‘bool’
→ make clean
make distclean
した後はじめからやり直して無事 make 通りました.
ソースからインストールした場合ってアンインストールするのってどうするんだろう.
Makefileに特に記述ないぽいから,ディレクトリをがしがし消すのであっているのかな.
相変わらず謎なことだらけだな…
努力しないと.
そして make install したら
/usr/bin/install: memory exhausted
と言われた.
めっちゃメモリ残ってるのに何このエラー!
同じような状況の人が数人いたようなのですが,解決されてないのかな…困ったナ.
http://forums.mysql.com/read.php?11,224710
**7/9 追記**
configureの時にオプションで --with-low-memory をつけると解決するとありましたが,
私の場合ではそれでもだめでした.
selinuxに関するログをはいた後にこのエラーが出たので selinux を止めちゃうという対処法でとりあえずはインストールしてしまいました.
2009年2月8日日曜日
DBDesigner4 + MySQL5.0
データベースを作ろーっということで,ER図とかを可視化できるツールを!
と思い,早速評判の良いDBDesigner4をインストールして使ってみたところ…
MySQLと接続ができない!!!
ぐぐってみたところ,
「DBDesigner4からMySQL4.1以降に接続するとき、ユーザー・パスワードが正しいのに接続できない、という現象が起こることがあります。」
しかし,以下のページで解決可能でした!
参照ページ:
空想具現化プログラミング DBモデリングツールDBDesigner4の後継は?
私が接続できなかった原因はファイアーウォールのせいでした…
『システム > 管理 > ファイアーウォール』内の,その他のポートで,3306ポートを選択することで外部からの接続がOKになりました.
めでたしめでたし.
と思い,早速評判の良いDBDesigner4をインストールして使ってみたところ…
MySQLと接続ができない!!!
ぐぐってみたところ,
「DBDesigner4からMySQL4.1以降に接続するとき、ユーザー・パスワードが正しいのに接続できない、という現象が起こることがあります。」
しかし,以下のページで解決可能でした!
参照ページ:
空想具現化プログラミング DBモデリングツールDBDesigner4の後継は?
私が接続できなかった原因はファイアーウォールのせいでした…
『システム > 管理 > ファイアーウォール』内の,その他のポートで,3306ポートを選択することで外部からの接続がOKになりました.
めでたしめでたし.
2008年10月30日木曜日
MySQLのインストール
今日から実験マシンを使うぞ!ということで.
また環境作りからリスタートです.
まずはLinuxにMySQLをインストール.
MySQL5.0をダウンロード.
MySQL-Red Hat Enterprise Linux 5 RPM (x86) downloads
ここから"Server","Client","Headers and libraries"の3つをもってくる.
解凍しようとしたら,perl(DBI)がなかったため,yumでperl-DBIをいれた.
インストールは全てroot権限で行います.
1. Serverのインストール
shell> rpm -ivh MySQL-server-community-5.0.67-0.rhel5.i386.rpm
shell> mysql_install_db
shell> /usr/bin/mysql_secure_installation
ここで,パスワードの変更や,匿名のアクセス制限や,権限テーブルの設定など聞かれるので答えて…
shell> /etc/init.d/mysql status
とやると,MySQLServerが起動していることが確認できます.
2.Clientのインストール
shell> rpm -ivh MySQL-client-community-5.0.67-0.rhel5.i386.rpm
3.Headers & Libraliesのインストール
shell> rpm -ivh MySQL-devel-community-5.0.67-0.rhel5.i386.rpm
4.確認
ユーザ権限になって,
shell> mysql
とすると,ちゃんとMySQLが起動することが確認できます.
後の設定は,MySQLでできるはず...
また環境作りからリスタートです.
まずはLinuxにMySQLをインストール.
MySQL5.0をダウンロード.
MySQL-Red Hat Enterprise Linux 5 RPM (x86) downloads
ここから"Server","Client","Headers and libraries"の3つをもってくる.
解凍しようとしたら,perl(DBI)がなかったため,yumでperl-DBIをいれた.
インストールは全てroot権限で行います.
1. Serverのインストール
shell> rpm -ivh MySQL-server-community-5.0.67-0.rhel5.i386.rpm
shell> mysql_install_db
shell> /usr/bin/mysql_secure_installation
ここで,パスワードの変更や,匿名のアクセス制限や,権限テーブルの設定など聞かれるので答えて…
shell> /etc/init.d/mysql status
とやると,MySQLServerが起動していることが確認できます.
2.Clientのインストール
shell> rpm -ivh MySQL-client-community-5.0.67-0.rhel5.i386.rpm
3.Headers & Libraliesのインストール
shell> rpm -ivh MySQL-devel-community-5.0.67-0.rhel5.i386.rpm
4.確認
ユーザ権限になって,
shell> mysql
とすると,ちゃんとMySQLが起動することが確認できます.
後の設定は,MySQLでできるはず...
2008年10月18日土曜日
MySQL + TPC-H(3)
結局,最初のところで間違えてたのが原因でした(^^;)
DBGENとQGENのmakefileを作成したところで,MySQL用に記述をするのが必要でした.
これは,TPC-Hで記述しました.
これをmakeし直したら,tpch-run.pyは,qgenの場所やdbgenの場所,mysqlのコマンドなど,最初の方に値を設定するだけでちゃんと動きました(^-^)/
/***追記(2008.10.19)
あと,randomseedの値が大きすぎるとqgenが動かなかったので,これもranomseed=1の方を利用しました.
MySQLの場合は,set rowcountをLIMITで表しているため,tpch-run.py内のset rowcountで検索しているところをLIMITに書き換える必要もありました(496行目)
***/
さてさて,ログを見てみると…
Q1とQ13以外はちゃんとエラーなく実行できたっぽいです!
ということで,Q1とQ13はもともとあったファイルをいじっちゃおうと.
q1.sqlは,(3)を消したらOK.
q13.sqlは,何がだめなのか謎です…
select
c_count,
count(*) as custdist
from
(
select
c_custkey as c_costkey,
count(o_orderkey) as c_count
from
customer left join orders on
c_custkey = o_custkey
and o_comment not like "%special%packages%"
group by
c_custkey
) as c_orders (c_custkey, c_count)
group by
c_count
order by
custdist desc,
c_count desc;
ただいま検討中...
でもほんとにこれに手を加えるので合ってるのかなぁ…?
<追記>2008.10.19
この,もともと22個あったSQLファイルをMySQL用に書き換える方法は合ってるようです.
しかし,調べたところ,Q13は,as c_orders (c_custkey, c_count)という文法に対応してないため,サブクエリ内にasを入れるとあるのですが,これをやってもうまくいきません..
謎.謎.謎.
<追記>2008.10.20
解決しました(>w<)/
DBT-3 version 1.9 MySQL5.0への移植作業報告書の5.2.サブクエリの実施結果に対するエイリアス名指定文法の修正 (移植)を参照!
from ( select
c_custkey, count(o_orderkey) as c_count
from
customer left outer join orders on
c_custkey = o_custkey and o_comment not like '%:1%:2%'
group by
c_custkey
) as c_orders
やっぱりMySQLはas c_orders (c_custkey, c_count)という文法に対応していませんでした.よって赤字のように修正したところ,動いたー!
やった(>w<)/♪
うまくいった気がするぞぉ…
DBGENとQGENのmakefileを作成したところで,MySQL用に記述をするのが必要でした.
これは,TPC-Hで記述しました.
これをmakeし直したら,tpch-run.pyは,qgenの場所やdbgenの場所,mysqlのコマンドなど,最初の方に値を設定するだけでちゃんと動きました(^-^)/
/***追記(2008.10.19)
あと,randomseedの値が大きすぎるとqgenが動かなかったので,これもranomseed=1の方を利用しました.
MySQLの場合は,set rowcountをLIMITで表しているため,tpch-run.py内のset rowcountで検索しているところをLIMITに書き換える必要もありました(496行目)
***/
さてさて,ログを見てみると…
Q1とQ13以外はちゃんとエラーなく実行できたっぽいです!
ということで,Q1とQ13はもともとあったファイルをいじっちゃおうと.
q1.sqlは,(3)を消したらOK.
q13.sqlは,何がだめなのか謎です…
select
c_count,
count(*) as custdist
from
(
select
c_custkey as c_costkey,
count(o_orderkey) as c_count
from
customer left join orders on
c_custkey = o_custkey
and o_comment not like "%special%packages%"
group by
c_custkey
) as c_orders (c_custkey, c_count)
group by
c_count
order by
custdist desc,
c_count desc;
ただいま検討中...
でもほんとにこれに手を加えるので合ってるのかなぁ…?
<追記>2008.10.19
この,もともと22個あったSQLファイルをMySQL用に書き換える方法は合ってるようです.
しかし,調べたところ,Q13は,as c_orders (c_custkey, c_count)という文法に対応してないため,サブクエリ内にasを入れるとあるのですが,これをやってもうまくいきません..
謎.謎.謎.
<追記>2008.10.20
解決しました(>w<)/
DBT-3 version 1.9 MySQL5.0への移植作業報告書の5.2.サブクエリの実施結果に対するエイリアス名指定文法の修正 (移植)を参照!
from ( select
c_custkey, count(o_orderkey) as c_count
from
customer left outer join orders on
c_custkey = o_custkey and o_comment not like '%:1%:2%'
group by
c_custkey
) as c_orders
やっぱりMySQLはas c_orders (c_custkey, c_count)という文法に対応していませんでした.よって赤字のように修正したところ,動いたー!
やった(>w<)/♪
うまくいった気がするぞぉ…
2008年10月15日水曜日
MySQL + TPC-H(2)
似てるから用語確認.
mysqld:MySQLサーバ
mysql :SQLステートメントを実行するためのコマンドラインクライアント
今日は,tpch_run.pyを動かそうっと.
まずは,MySQLにPythonでアクセスするためのインターフェース(MySQLdb)をここからダウンロード.
しかもなんだか,mysql_configもないと言われた.
ので,まずはMySQLのサイトから,"Libraries and header files"を持ってきてインストール.
mysql_config発見(^-^)/
/usr/bin/mysql_config
*MySQLdbのインストール(READMEに沿って)
1.解凍&移動
shell> tar xfz MySQL-python-1.2.2.tar.gz
shell> cd MySQL-python-1.2.2
2.site.cfgの設定を変更.
mysql_config = /usr/bin/mysql_config
を追加.
3.setup.pyの中身を書き換える.
mysock,mysql_cmd,mysql_queryの値を適切なものに変更.
dbgen_dir,qgenの値にそれぞれの場所を設定.
AUDIT_DIRが設定されていなかったので,環境変数に追加.
shell> setenv AUDIT_DIR "/tmp"
→ここにTPC-Hを動かした結果が保存されるみたい.
4.セットアップ
shell> python setup.py build
shell> python setup.py install
5.動かしてみる!
shell> python tpch_run.py -p -s 1 --leave_server_up
とりあえず,動いたっぽいので今日はこのまま放置してバイト行きまする.
*今日学んだこと*
インストールはrootでするべき!
先輩方,お世話になりましたm(_ _)m
mysqld:MySQLサーバ
mysql :SQLステートメントを実行するためのコマンドラインクライアント
今日は,tpch_run.pyを動かそうっと.
まずは,MySQLにPythonでアクセスするためのインターフェース(MySQLdb)をここからダウンロード.
しかもなんだか,mysql_configもないと言われた.
ので,まずはMySQLのサイトから,"Libraries and header files"を持ってきてインストール.
mysql_config発見(^-^)/
/usr/bin/mysql_config
*MySQLdbのインストール(READMEに沿って)
1.解凍&移動
shell> tar xfz MySQL-python-1.2.2.tar.gz
shell> cd MySQL-python-1.2.2
2.site.cfgの設定を変更.
mysql_config = /usr/bin/mysql_config
を追加.
3.setup.pyの中身を書き換える.
mysock,mysql_cmd,mysql_queryの値を適切なものに変更.
dbgen_dir,qgenの値にそれぞれの場所を設定.
AUDIT_DIRが設定されていなかったので,環境変数に追加.
shell> setenv AUDIT_DIR "/tmp"
→ここにTPC-Hを動かした結果が保存されるみたい.
4.セットアップ
shell> python setup.py build
shell> python setup.py install
5.動かしてみる!
shell> python tpch_run.py -p -s 1 --leave_server_up
とりあえず,動いたっぽいので今日はこのまま放置してバイト行きまする.
*今日学んだこと*
インストールはrootでするべき!
先輩方,お世話になりましたm(_ _)m
2008年10月10日金曜日
MySQL + TPC-H(1)
とりあえず進んだところまで.
TPC-H
ここで,データベースとクエリを作成するツールの利用が可能となりました.
その後のMySQLとの連携なのですが,先日先輩に教えていただいたページから,コレをダウンロードします.
README通りなのですが…以下やってみたことを.
1.データを作成.
shell> dbgen -s 10
→"*.tbl"というファイルが,8つ作成されます.
sで指定する数はスケール.単位はGB.
/****追記(2008.10.19)
1.5.myisam_tpch_create_table.sqlの中身が間違っていたようなので書き換えが必要
TPCHの仕様書の12ページにあるような順番でテーブルを作成する必要があります.
が,このsqlのファイルは順番がめちゃくちゃになっていたので,順番を入れ替える必要があります.
だから今まで結果が全部Empty setだったんですね(^^;)
追記****/
2.スキーマの作成:tpch100Gというデータベースを作成し,そこにテーブルを作成
shell> mysql -u ユーザ名 -p -e "create database tpch100G"
shell> mysql -u ユーザ名 -p tpch100G < myisam_tpch_create_table.sql
→確認.
mysqlにログインし,
mysql> use tpch100G /* 利用するデータベースをtpch100Gに切り替えた */
mysql> show tables;
とすると,8つのテーブルが作成されていることが確認できます.
3.load_mysql.shの中を書き換え
/* 1で作成したテーブルが入っているフォルダを指定 */
PATH_DATA=/hoge/tpch/tables
/* データベース名指定 */
DATABASE=tpch100G
mysql…の文を全て,
mysql -u ユーザ名 -pパスワード -S MySQLのソケット $DATABASE -e…
と書き換える.
*この-pパスワードは間にスペースが入ってはだめなことに要注意!!
MySQLのソケットは
shell> mysqld --verbose --help
とすることで,サーバパラメータの一覧が出てくるので,確認できました.
/****追記(2008.11.07)
新しい実験環境でこのシェルの実行に失敗しました.
load_mysql.sh内に以下の赤字を追加することで回避できました
LOAD DATA LOCAL INFILE '$PATH_DATA/$i.tbl' INTO TABLE $i FIELDS TERMINATED BY '|'
"LOCALが指定されていない場合、ファイルはサーバホスト上に存在しなければならず、サーバによって直接読み取られなければなりません"
(BY MYSQLのリファレンス)
追記****/
3.シェルスクリプトを用いてデータをロード.
shell> chmod u+x load_mysql.sh
shell> ./load_mysql.sh
これで無事にテーブルにDBGENで作成したデータが入れられました><♪
次はStartup mysqlからです(^-^)/
TPC-H
ここで,データベースとクエリを作成するツールの利用が可能となりました.
その後のMySQLとの連携なのですが,先日先輩に教えていただいたページから,コレをダウンロードします.
README通りなのですが…以下やってみたことを.
1.データを作成.
shell> dbgen -s 10
→"*.tbl"というファイルが,8つ作成されます.
sで指定する数はスケール.単位はGB.
/****追記(2008.10.19)
1.5.myisam_tpch_create_table.sqlの中身が間違っていたようなので書き換えが必要
TPCHの仕様書の12ページにあるような順番でテーブルを作成する必要があります.
が,このsqlのファイルは順番がめちゃくちゃになっていたので,順番を入れ替える必要があります.
だから今まで結果が全部Empty setだったんですね(^^;)
追記****/
2.スキーマの作成:tpch100Gというデータベースを作成し,そこにテーブルを作成
shell> mysql -u ユーザ名 -p -e "create database tpch100G"
shell> mysql -u ユーザ名 -p tpch100G < myisam_tpch_create_table.sql
→確認.
mysqlにログインし,
mysql> use tpch100G /* 利用するデータベースをtpch100Gに切り替えた */
mysql> show tables;
とすると,8つのテーブルが作成されていることが確認できます.
3.load_mysql.shの中を書き換え
/* 1で作成したテーブルが入っているフォルダを指定 */
PATH_DATA=/hoge/tpch/tables
/* データベース名指定 */
DATABASE=tpch100G
mysql…の文を全て,
mysql -u ユーザ名 -pパスワード -S MySQLのソケット $DATABASE -e…
と書き換える.
*この-pパスワードは間にスペースが入ってはだめなことに要注意!!
MySQLのソケットは
shell> mysqld --verbose --help
とすることで,サーバパラメータの一覧が出てくるので,確認できました.
/****追記(2008.11.07)
新しい実験環境でこのシェルの実行に失敗しました.
load_mysql.sh内に以下の赤字を追加することで回避できました
LOAD DATA LOCAL INFILE '$PATH_DATA/$i.tbl' INTO TABLE $i FIELDS TERMINATED BY '|'
"LOCALが指定されていない場合、ファイルはサーバホスト上に存在しなければならず、サーバによって直接読み取られなければなりません"
(BY MYSQLのリファレンス)
追記****/
3.シェルスクリプトを用いてデータをロード.
shell> chmod u+x load_mysql.sh
shell> ./load_mysql.sh
これで無事にテーブルにDBGENで作成したデータが入れられました><♪
次はStartup mysqlからです(^-^)/
2008年10月8日水曜日
MySQL
を使おうとしています.
とりあえず,ユーザ登録とデータベースの作成からスタート.
1.パスワードを持たない匿名ユーザの削除.
rootでも,userでも,
shell> /usr/bin/mysql_secure_installation
としたときに,
Remove anonymous users? [Y/n]
と聞かれる部分があるので,そこで「Y」を選択することで匿名ユーザを削除できます.
MySQLにログインして,
shell> mysql -u root -p
Enter password:********
mysql> FLUSH PRIVILEGES;
権限テーブルの再読み込みを行うコマンドらしい.
これをしないと,サーバを再起動するまで、変更内容が反映しないとかなので,絶対必要.
2.rootと同じ権限を持つユーザの登録.
mysql> GRANT ALL PRIVILEGES ON *.* TO ユーザ名@"%"
-> IDENTIFIED BY 'パスワード' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO ユーザ名@localhost
-> IDENTIFIED BY 'パスワード' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
これで,*.*(全てのデータベース.全てのテーブル)上で,全ての権限を持つユーザを登録という意味.
2行やることで,%(すべてのホスト)のユーザ,ローカルホストのユーザどちらも登録したことになるようです.
3.確認!
mysql> SELECT Host, User, Password FROM mysql.user;
これで今登録されているユーザが全部見えます.
4.データベース作成
mysql> create database データベース名
もしくは,mysqlにログインしていなくても,
shell> mysql -u root -p -e "create database データベース名"
でもOK.
この,-eというオプションで,コマンド実行できるみたい.
とゆうことで,初歩ですが,今日はMySQLとたわむれてました.w
明日は,TPC-HとMySQLの連携を再び試みてみようかな.
論文も読まなきゃ!
同期に論文読みの鬼がいるから見習わないと…w
/*追記−MySQLデータベースをインポートする*/
1.データベースを作成する
mysql> create database データベース名
2.エキスポートしていたダンプファイルをデータベースにいれる
root# mysql -p データベース名 < ダンプファイル名
とりあえず,ユーザ登録とデータベースの作成からスタート.
1.パスワードを持たない匿名ユーザの削除.
rootでも,userでも,
shell> /usr/bin/mysql_secure_installation
としたときに,
Remove anonymous users? [Y/n]
と聞かれる部分があるので,そこで「Y」を選択することで匿名ユーザを削除できます.
MySQLにログインして,
shell> mysql -u root -p
Enter password:********
mysql> FLUSH PRIVILEGES;
権限テーブルの再読み込みを行うコマンドらしい.
これをしないと,サーバを再起動するまで、変更内容が反映しないとかなので,絶対必要.
2.rootと同じ権限を持つユーザの登録.
mysql> GRANT ALL PRIVILEGES ON *.* TO ユーザ名@"%"
-> IDENTIFIED BY 'パスワード' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO ユーザ名@localhost
-> IDENTIFIED BY 'パスワード' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
これで,*.*(全てのデータベース.全てのテーブル)上で,全ての権限を持つユーザを登録という意味.
2行やることで,%(すべてのホスト)のユーザ,ローカルホストのユーザどちらも登録したことになるようです.
3.確認!
mysql> SELECT Host, User, Password FROM mysql.user;
これで今登録されているユーザが全部見えます.
4.データベース作成
mysql> create database データベース名
もしくは,mysqlにログインしていなくても,
shell> mysql -u root -p -e "create database データベース名"
でもOK.
この,-eというオプションで,コマンド実行できるみたい.
とゆうことで,初歩ですが,今日はMySQLとたわむれてました.w
明日は,TPC-HとMySQLの連携を再び試みてみようかな.
論文も読まなきゃ!
同期に論文読みの鬼がいるから見習わないと…w
/*追記−MySQLデータベースをインポートする*/
1.データベースを作成する
mysql> create database データベース名
2.エキスポートしていたダンプファイルをデータベースにいれる
root# mysql -p データベース名 < ダンプファイル名
登録:
投稿 (Atom)