サイドバーの強化

サイドバーにコメントとトラックバックを表示したくて、ここを見て挑戦したが、再構築時に以下のエラーが出て前に進めなかった。
Use of uninitialized value in concatenation (.) or string at X:\・・省略・・\lib/MT/ObjectDriver/DBI.pm line 80.
いろいろ調べてみるとMySQLを使用している時に起こる事があるようで、
「一時的なテーブルを作成する権限」というのが必要らしい。
手順は以下の通り。(参考
1.MySQLに、rootでログイン
   C:\MYSQL\BIN\mysql -u root -p rootpass
2.”mysql”のDBを使用(MySQLのバージョンによっては必要ないがおまじない)
   mysql> use mysql;
3.ユーザ、権限の確認(権限の一覧が表示される)
   mysql> select * from mysql.user;
   mysql> select * from mysql.db where Db=’mtdb‘ and User=’mtuser‘;
4.権限の付与
   mysql> update mysql.db set Create_tmp_table_priv=’Y’ where Db=’mtdb‘ and User=’mtuser’;
5.確認
   mysql> select * from mysql.user;
   mysql> select * from mysql.db where Db=’mtdb‘ and User=’mtuser‘;
6.更新のコミット
   mysql> commit;
7.MySQLからログアウト
   mysql> quit;
8.サーバ再起動
で、めでたく設置することが出来た。


上記作業を行う前に間違えて以下のコマンドを入力し、新規ユーザを作成してしまったのでMTにログインできない問題もあった。
MySQL% grant create temporary tables on MTDB.* to mtuser@localhost identified by ‘password’
この場合は、この作成したユーザを削除すればよいが、MySQLのユーザ削除は少し面倒で、各テーブルから情報を削除する。
mysql> delete from mysql.user where user=‘guest’ and host=‘localhost’;
mysql> delete from mysql.db where user=‘guest’ and host=‘localhost’;
mysql> delete from mysql.tables_priv where user=‘guest’ and host=‘localhost’;
mysql> delete from mysql.columns_priv where user=‘guest’ and host=‘localhost’;
mysql> flush privileges;

コメント

  1. masawo より:

    はじめまして。トラックバックがなぜかできなかったのでコメントさせていただきます。
    私のほうでもMTバージョンアップした際に同様の症状があり、参考にさせていただきました。ありがとうございました。

タイトルとURLをコピーしました