MySQL_install の変更点 - アールメカブ

アールメカブ


MySQL_install の変更点


[[DataBase]]

8月26日火曜9:30

Ubuntu のバージョンアップをしてからインストールしていなかった.

 $ sudo apt-get install mysql-server
 [sudo] password for ishida:
 パッケージリストを読み込んでいます... 完了
 依存関係ツリーを作成しています                
 Reading state information... 完了            
 The following packages were automatically installed and
   are no longer required:
  libpq4
 "apt-get autoremove"を使ってこれらを削除してください。 
 以下の特別パッケージがインストールされます:
  libdbd-mysql-perl libdbi-perl libmysqlclient15off libnet-daemon-perl
  libplrpc-perl mysql-client-5.0 mysql-common mysql-server-5.0
 提案パッケージ:
  dbishell mysql-doc-5.0 tinyca
 推奨パッケージ:
  mailx
 以下のパッケージが新たにインストールされます:
  libdbd-mysql-perl libdbi-perl libmysqlclient15off libnet-daemon-perl
  libplrpc-perl mysql-client-5.0 mysql-common mysql-server 
  mysql-server-5.0
 アップグレード: 0 個、新規インストール: 9 個、削除: 0 個、保留: 0 個。
 37.3MB のアーカイブを取得する必要があります。
 展開後に追加で 109MB のディスク容量が消費されます。
 続行しますか [Y/n]? y
 
 
 ..
 libnet-daemon-perl (0.38-1.1) を設定しています ...
 libplrpc-perl (0.2017-1.1) を設定しています ...
 libdbi-perl (1.57-1) を設定しています ...
 libmysqlclient15off (5.0.45-1ubuntu3.3) を設定しています ...
 
 libdbd-mysql-perl (4.004-2) を設定しています ...
 mysql-client-5.0 (5.0.45-1ubuntu3.3) を設定しています ...
 
 mysql-server-5.0 (5.0.45-1ubuntu3.3) を設定しています ...
 * Stopping MySQL database server mysqld          [ OK ] 
 * Starting MySQL database server mysqld           [ OK ] 
 * Checking for corrupt, not cleanly closed and upgrade needing tables.
 
 mysql-server (5.0.45-1ubuntu3.3) を設定しています ...
 Processing triggers for libc6 ...
 ldconfig deferred processing now taking place

 $ sudo vi /etc/mysql/my.ini
 ...
 [client]
 default-character-set=utf8
 ...
 [mysqld]
 language        = /usr/share/mysql/english 
 # japaneseと変更するとコンソールで文字化けする
 default-character-set = utf8
 ...
 [mysqldump]
 default-character-set = utf8
 ...
 [mysql]
 default-character-set = utf8


 $ sudo /etc/init.d/mysql restart
 * Stopping MySQL database server mysqld         [ OK ] 
 * Starting MySQL database server mysqld          [ OK ] 
 * Checking for corrupt, not cleanly closed and upgrade needing tables.
この最後のメッセージは mysql_upgrade、mysqlcheck を行っているということで,問題はない.

 $ mysql -u root -p
 Enter password: 
 Welcome to the MySQL monitor.  Commands end with ; or \g.
 Your MySQL connection id is 7
 Server version: 5.0.45-Debian_1ubuntu3.3-log Debian etch  distribution
 
 Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
 
 mysql> SHOW VARIABLES LIKE 'char%';
 +--------------------------+----------------------------+
 | Variable_name            | Value                      |
 +--------------------------+----------------------------+
 | character_set_client     | utf8                       | 
 | character_set_connection | utf8                       | 
 | character_set_database   | utf8                       | 
 | character_set_filesystem | binary                     | 
 | character_set_results    | utf8                       | 
 | character_set_server     | utf8                       | 
 | character_set_system     | utf8                       | 
 | character_sets_dir       | /usr/share/mysql/charsets/ | 
 +--------------------------+----------------------------+
 8 rows in set (0.00 sec) 
 
 mysql> exit

最後にヘッダ類をインストール
 $ sudo apt-get install libmysqlclient15-dev
 ...
 未選択パッケージ libmysqlclient15-dev を選択しています。
 (データベースを読み込んでいます ... 
  現在 158412 個のファイルとディレクトリがインストールされています。)
 (.../libmysqlclient15-dev_5.0.45-1ubuntu3.3_i386.deb から)  
  libmysqlclient15-dev を展開しています...
 
 $ aptitude search libmysqlclient15-dev
 i   libmysqlclient15-dev            - MySQL database development files

 mysql> select user,host from user;
 +------------------+-----------+
 | user             | host      |
 +------------------+-----------+
 | root             | 127.0.0.1 | 
 | root             | dell530s  | 
 | debian-sys-maint | localhost | 
 | root             | localhost | 
 +------------------+-----------+
 4 rows in set (0.00 sec)

 mysql> CREATE DATABASE test DEFAULT CHARACTER SET utf8 
           COLLATE utf8_unicode_ci; 
 mysql> GRANT ALL PRIVILEGES ON *.* TO ishida@localhost 
            IDENTIFIED BY 'mypass' WITH GRANT OPTION;
 mysql> GRANT ALL PRIVILEGES ON *.* TO ishida@"%" 
            IDENTIFIED BY 'mypass' WITH GRANT OPTION;
 mysql> select user,host from user;
 +------------------+-----------+
 | user             | host      |
 +------------------+-----------+
 | root             | 127.0.0.1 | 
 | root             | dell530s  | 
 | debian-sys-maint | localhost | 
 | ishida           | localhost | 
 | root             | localhost | 
 +------------------+-----------+
 5 rows in set (0.00 sec)
 mysql> 
 mysql> CREATE TABLE mydata  (
  xx INT2,
  yy CHAR(2)  );
 mysql> 
 mysql> INSERT INTO mydata VALUES(3,"yy"); 


R でチェック
 > library(RMySQL)
 > drv = dbDriver("MySQL")
 > con = dbConnect(drv,dbname='test',user='ishida', 
           password='mypass', host='localhost')
 dummy: unrecognized option `--default-character-set=utf8'
 > dbGetQuery(con,'select * from mydata')
  xx yy
 1  3 yy
dummy 何とかとか出るが,まあ,良いんだろう.