3
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

XAMPPインストールとMySQLへのODBC接続設定メモ

Last updated at Posted at 2019-03-03

XAMPPとは

サーバサイドでサービスを提供する複数のプログラムをパッケージ化したもの。この記事はwindowsにインストールします。

XAMPPインストール

DownLoad here:https://www.apachefriends.org/jp/index.html

XAMPP起動

インストール完了後、XAMPPコントロールパネルを開き、ApacheとMySQLを起動します。

スクリーンショット 2019-03-02 15.41.08.png

XAMPPの各サービスの起動エラー

サービスが起動できない場合に一番最初に疑うべきは、既存サービスとのポート競合です。同コンピュータ内に既に稼働しているApache/MySQLが存在するか、他のサービスで各サービスと同じポートを使用中しているかです。netstatコマンドでポートの競合を確認し、XAMPPコントロールパネルから各サービスの[config]ボタンから、各サービスに対応した設定ファイルを呼び出し、ポート番号を変更しましょう。この時にウェルノウンポートを避け、他のサービスで利用する可能性のあるものを避けるようにしましょう。

ウェルノウンポート
https://eng-entrance.com/network-port

利用中のポート番号を調べる

サーバで利用中のポートを調べるためにネットスタットアボンする。これから稼働させるサービスが利用中のポートと競合しないように。netstat -abon

netstat
C:\WINDOWS\system32>netstat /h
  -a            すべての接続とリッスン ポートを表示します。
  -b            それぞれの接続またはリッスン ポートの作成に使われた実行可能
                ファイルを表示します。場合により、よく知られた実行可能ファイル
                が複数の独立したコンポーネントをホストすることもあり、この
                場合、接続またはリッスン ポートの作成に使われたコンポーネント
                群が表示されます。この場合、実行可能ファイル名は下に [] で表示
                され、上には TCP/IP に到達するまで順に呼び出したコンポーネント
                が表示されます。このオプションには時間がかかり、十分なアクセス
                許可がないとエラーが発生することに注意してください。
  -n            アドレスとポート番号を数値形式で表示します。
  -o            各接続に関連付けられたそれらを所有するプロセス ID を表示しま
                す。

C:\WINDOWS\system32>netstat -abon  | more

アクティブな接続

  プロトコル  ローカル アドレス      外部アドレス           状態            PID
  TCP         0.0.0.0:80             0.0.0.0:0              LISTENING       9588
 [httpd.exe]
  TCP         0.0.0.0:443            0.0.0.0:0              LISTENING       9588
 [httpd.exe]
  TCP         0.0.0.0:3306           0.0.0.0:0              LISTENING       12612
 [mysqld.exe]
  TCP         0.0.0.0:33060          0.0.0.0:0              LISTENING       12612
 [mysqld.exe]

MySQLのパスをとおす

コマンドラインから操作できるようにパスを通しておきます。

  • 【Windwos10】の場合、以下のどちらかの方法で。
    • Winキー+pause ⇒ システム情報⇒システムの詳細情報⇒詳細設定タブの環境変数
    • Winキー+r ⇒ sysdm.cpl⇒詳細設定タブの環境変数
    • path変数に自分の環境にあったパスを新規登録する。わたしの場合はXamppデフォルト「C:\XAMPP\mysql\bin」
  • コマンドプロンプトから確認。下記のようにMYSQL MariaDBのプロンプトが返ってきたらOK。
C:\Users\>mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 10.1.37-MariaDB mariadb.org binary distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

Apache

  • C:¥xampp¥apache¥conf¥以下の設定ファイルの編集
    • httpd.confの設定
      • Xamppの場合"C:\xampp\apache\conf\httpd.conf"
      • 他にwebサーバが起動している場合はリッスンポートを競合しないように設定する。
    • extra¥http-xampp.confの設定
http-xampp.conf
Alias /phpmyadmin "C:/xampp/phpMyAdmin/"
    <Directory "C:/xampp/phpMyAdmin">
        AllowOverride AuthConfig
	Require all granted //ここを追記
        #Require local //ここをコメントアウト
        ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
    </Directory>
  • 上記を設定しない場合、外部アクセスの時に下記のようにphpmyadminを利用できない。

無題2.png

MySQL

  • my.iniの編集。
login
C:\Users\Administrator>mysql -u root -p
ユーザの作成
mysql>  username1 IDENTIFIED BY password ,
    ->   username2 IDENTIFIED BY password ;
ポート番号確認
mysql> show variables like 'port';

windowsファイアウォールのポート開放する。(書きかけ)

3306,80開放

phpMyAdminの設定

  • アクセスしてみる。
  • 初回は下図のようなエラーが表示されることがある。
    • 2019-02-27 (2).png
  • rootのパスワード設定をconfig.inc.php に記述する必要があった。
    • rootのパスワードなど。
    • Xamppの場合のデフォルトパスC:\xampp\phpmyadmin\config.inc.php
config.inc.php
/* Authentication type and info */
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'ここにぱすわーど';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = true;
$cfg['Lang'] = '';

クライアント側のODBC設定(書きかけ)

アクセス権の確認
mysql> select user,host from mysql.user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| username1        | %         |
| username2        | %         |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
+------------------+-----------+
7 rows in set (0.00 sec)
--「 % 」になっていたらすべてのアクセスが許可されている。
accessken

mysql> GRANT ALL PRIVILEGES ON testdb.* TO username1@'%';
Query OK, 0 rows affected (0.09 sec)

2007odbc.png
ユーザ名とパスワードはmysqlの認証情報

2007odbc2.png

2007odbc3.png

3
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?