前回のメガリージョン編に引き続き データベースを
SQLite から
MySQLに変更します
ただし、SQLiteでのデータが継承されません。
地形データも丸い初期島に^^;
バックアップが必要な場合は
バックアップしたいSIM(ここでは rika_island)に移り
change region rika_island
save oar rika_island として oar形式でバックアップします^^
MySQL移行後
change region rika_island
load oar rika_island で移行できると思います。
MySQLへの移行手順をメモします
ユーザーrootになります
$ su -
パスワード:
MySQLサーバーをyumでインストールします。
# yum -y install mysql-server
MySQLサーバーを起動します
# /etc/rc.d/init.d/mysqld start
自動起動の設定します。
# chkconfig mysqld on
自動起動設定の確認をします
# chkconfig --list mysqld
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
MySQL rootパスワードを設定します(例:パスワードhogehoge)
# mysql -u root
mysql> SET PASSWORD FOR root@localhost=password('hogehoge');
Query OK, 0 rows affected (0.00 sec)
いったん終了し、MySQL rootパスワードで起動
mysql> quit
# mysql -u root -p
Enter password:hogehoge
登録ユーザーを見る
mysql> select host,user,password from mysql.user;
ユーザー名のないものは削除する
mysql> DELETE FROM mysql.user WHERE user='';
ユーザーrootでパスワードの無いホストにルートパスワードを設定
mysql> grant all on *.* to root@127.0.0.1 identified by 'hogehoge';
mysql> grant all on *.* to root@pengin.centos.com identified by 'hogehoge';
変更内容を確認します
mysql> select host,user,password from mysql.user;
データテーブルを確認します
mysql> SHOW DATABASES;
データベースtestは不要なので削除
mysql> DROP DATABASE test;
OpenSimのデータベース作成(文字コードをutf8で設定)
ここでは
OpenSim用のデータベース名を opensim
ユーザー名をopensim_user
パスワードをhogehoge_opensim
として設定
データベース作成
mysql> create database
opensim default character set utf8;
ユーザーとパスワード設定
mysql> grant all on
opensim.* to
opensim_user identified by '
hogehoge_opensim';
データテーブルを確認します
mysql> SHOW DATABASES;
MySQLデータベースの権限再読み込み
mysql> flush privileges;
終了します
mysql> quit
ユーザーに戻ります
# exit
logout
OpenSimのbin/config-includeに移動します
$ cd bin/config-include
StandaloneCommon.iniの設定で SQLiteからMySQLに設定変更します
$ vi StandaloneCommon.ini
Include-Storage = "config-include/storage/SQLiteStandalone.ini";
コメントアウトします。先頭に;を追加
;Include-Storage = "config-include/storage/SQLiteStandalone.ini";
;StorageProvider = "OpenSim.Data.MySQL.dll"
先頭のコメント ; をはずします。
StorageProvider = "OpenSim.Data.MySQL.dll"
;ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;"
先頭のコメント ; をはずします
MySQLで設定した データベース名、ユーザー名、パスワードを設定します
ConnectionString = "Data Source=localhost;Database=
opensim;User ID=
opensim_user;Password=
hogehoge_opensim;Old Guids=true;"
保存します
binに戻り OpenSimを起動します。
途中で質問されます
・
New estate name [My Estate]: rika_sim ここでは rika_simとしました
・
・
Estate owner first name [Test]: rika ここでは rika
Estate owner last name [User]: kayama ここでは kayama
Password: ここではrika.kayamaのパスワード設定しました
Email []: 単にEnter
・
・
Region (root) #
これでMySQLへの移行ができました
MySQLで作成されたデータベースをのぞいてみます
# mysql -u root -p
Enter password:
データベースをopensimに切り替えます
mysql> use opensim;
テーブル内容を表示します
mysql> show tables;
ユーザー定義 UserAccountsのテーブル定義を確認します
mysql> desc UserAccounts;
登録されているアバタの名前を確認します
mysql> select FirstName,LastName from opensim.UserAccounts;
いろいろとどんな定義がなされているか調べるのも面白そうです^^