phpmyadminにてエラー表示

「This table does not contain a unique column. Grid edit, checkbox, Edit, Copy and Delete features are not available.」というメッセージが表示。簡単に訳すと「ユニークキーなどのユニークなカラムを作成しないと編集や削除はできませんよ」という内容。

解決策はメッセージのとおり、とりあえずユニークキーを作成すれば良い。

メッセージが出たテーブルの「構造」タブを開く
カラムの追加位置を指定して「実行」
カラム名を適当に付ける(keyやidなど)
A_Iにチェックをつけ「保存する」
再度「構造」タブから先ほど作成したカラムにある「ユニーク」をクリック

以上でとりあえずユニークキーが完成。ちなみにA_IとはAUTO_INCREMENTの略で、小さい数字から順番にユニークな数値を自動で入れてくれる便利機能。

MySqlへのODBC接続

MySqlへの外部からの接続は、何種類かあるようだが、まずは、ODBC接続をやってみることにした。
やっぱり、慣れているAccessで接続をしてみることにチャレンジする。
サイトを検索して、その通りにやったがうまくいかない。結果的には接続できたがその経緯を記載する。

(1)http://dev.mysql.com/downloads/connector/サイトから、Connector/ODBCへと進み、ドライバをクライアント側に入れる。
今回は、Connector/ODBC 5.3.4の32ビットと64ビットの両方をインストールした。あるサイトで、64ビットOSマシンでも、Officeが32ビットだと64ビットドライバでは接続できないという情報があったからだ。最初は、どっちでも接続できなかったが、結局32ビットドライバで動いた。(Windows10 64bitマシン)

(2) ODBC ドライバを使ってデータソースを定義(目的のデータベースサーバー上のデータに接続設定)
コントロールパネルを起動して、 管理ツール > ODBCデータソース(32bit) を選択し設定
※ここからが中々接続できなかったが、以降をやってから接続すれば可能となる。

(3)MySql側のユーザー設定
●確認
[joy@MySqlJOY]# mysql -u root -p ※MySQLにrootでログイン
Enter password: ※パスワード応答

mysql> select user,host from mysql.user; ※ユーザーの確認

img2最初は、下記の図の上の方の様に、hostの部分で外部からのアクセスが限定されていた。何も分からずに、joyで設定したユーザーは、フルアクセスになっていたようだ。たぶんそのユーザーで接続すれば、接続できたと思う。しかし、後々セキュリティ上は良くない。rootでも接続を試してみたが、接続できなかった。それは、表をみればわかるように、ローカルだけの接続設定になっていたからだ。

●ユーザーを追加設定
mysql> grant all privileges on abc.* to joy@”192.168.1.77″
->
-> identified by ‘matsumoto’ with grant option;
Query OK, 0 rows affected (0.00 sec)

上記の例は、「abc」というデータベースに、ユーザー「joy」を設定して、hostに「192.168.1.77」を追加したものになる。

そのあとの、「matsumoto」はパスワードにした。実験なので、そうしただけです。「->」のマークは、何がなんだかわからずに、エンターを押したら改行されただけである。パスワードを設定してエンターすれば、OKとなった。

再度ユーザーを確認すると、図の様に追加された事がわかる。

img1この左図のように、phpmyadminからでも、もしかするとユーザー追加で同じ処理が可能なのかもしれない。

 

※phpmyadminは、http://192.168.1.139/phpmyadmin/で接続できた。

※my.confを修正するとかのサイトがあったが、今回は必要無かったようだ。
※LinuxBeanのファイヤーウォールの設定をGUIから見ると、OFFになっていたので、ONにして、80ポート(phpmyadmin用)と、3306(初期のMySql接続ポート)を解放した。

(4)、(2)に戻り設定をして接続すると無事に接続完了

img3Testボタンをクリックすると、接続の表示がでて確認ができた。

さてと、次はアクセスとの接続だ。

Linux MySql PHPMyAdminの設定

LinuxBean(V14)にてMySqlをインストールした。私のようにコマンドラインが得意じゃない人間には、phpMyAdminというGUIツールを使った方が良さそうなので、その設定などを備忘録に記載する。

あるサイトから、下記をインストール
$ sudo apt-get install mysql-server
$ sudo apt-get install apache2
$ sudo apt-get install php5
$ sudo apt-get install phpmyadmin
$ sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

で、http://localhost/phpmyadmin で、MySQL に接続できるとのこと。

しかし、エラーがでてインストールできない。結局ルート権限でやったら進むことができたという初歩的なミス。
そして、phpMyAdminにアクセスすると、「mysqli 拡張がありません。PHP の設定をチェックしてみてください。 See our documentation for more information.」のエラー

ここからが時間がかかった。

php-mysqlをインストールすれば回避できるとの情報をみて、
yum -y install php-mysql

レポジトリが無いよってことで、インストールできない。
レポジトリの追加は、のちのち時間のある時にしらべて記載するが、GUIからパッケージマネージャーからも追加や削除ができるのを見つけた。
しかし、今回は、下記のコマンドでインストールできた。

sudo apt-get install php5-mysql

さて、phpMyAdminにアクセスするために、アパッチの再起動だって通常のようにやったら存在がないというのでエラー

service httpd restart
/etc/rc.d/init.d/httpd restart
/usr/local/apache/bin/apachectl restart
エラーなので、よくみたら、apache2のようなので下記のようにした。
/usr/local/apache2/bin/apachectl restart

でもダメ。結局下記が正解だったようだ。

/etc/init.d/apache2 restart

さてphpMyAdminにアクセスしたが・・・。
まだ、エラーは消えてないが、ログイン画面がでている。また、のちに記載する。