로메오의 블로그

MAMP 설치하기 [Windows] 본문

Backend/PHP

MAMP 설치하기 [Windows]

romeoh 2021. 4. 27. 09:22
반응형

www.mamp.info/en/mamp/

위 사이트에서 MAMP를 다운로드해서 설치하고, 서버를 구동합니다.

 

 

 

DBeaver에 mysql 드라이버 설치

dev.mysql.com/downloads/connector/j/

 

Platform Independent를 선택하고 zip 파일을 다운로드하고 압축해제합니다.

 

 

Edit Driver Settings를 누릅니다.

드라이버 경로를 지정합니다.

 

접속 테스트하고 DB연결합니다.

 

 

PHP - Mysql 연결

MAMP > Preference에서 Document Root 경로를 확인합니다.

Document Root 경로에 php 파일을 생성합니다.

 

현재 PHP7 버전이 설치되어있는데

저는 PHP5 버전대를 사용해야해서 mysql-wrapper.php를 사용하겠습니다.

 

github.com/OOPS-ORG-PHP/mysql-extension-wrapper

여기서 mysql-wrapper.php를 다운로드해서 document root 폴더에 넣습니다.

 

<?
extract($_POST);
extract($_GET);
header("Content-Type:text/html;charset=utf-8");
header("Content-Type:application/json");

require_once 'mysql-wrapper.php';

$conn = mysql_connect('localhost', 'root', 'root');
$db = mysql_select_db('test', $conn);

$sql = <<<END
select column_name
from table_name
END;

$result = mysql_query($sql, $conn);

$rows = array();
while($r = mysql_fetch_assoc($result)) {
	$rows[] = $r;
}

echo json_encode($rows);

?>

http://localhost/index.php

 

접속하면 한글이 ??? 물음표로 표시될수 있습니다.

 

MYSQL 한글인코딩 변경

서버를 정지합니다.

 

command line을 실행합니다.

> cd C:\MAMP\bin\mysql\bin
> .\mysql.exe -uroot -proot
mysql> show variables where variable_name like '%dir';
+---------------------------+--------------------------------------+
| Variable_name             | Value                                |
+---------------------------+--------------------------------------+
| basedir                   | C:\MAMP\bin\mysql\                   |
| character_sets_dir        | C:\MAMP\bin\mysql\share\charsets\    |
| datadir                   | C:\MAMP\db\mysql\                    |
| innodb_data_home_dir      |                                      |
| innodb_log_group_home_dir | .\                                   |
| innodb_tmpdir             |                                      |
| lc_messages_dir           | C:\MAMP\bin\mysql\share\             |
| plugin_dir                | C:\MAMP\bin\mysql\lib\plugin\        |
| slave_load_tmpdir         | C:\Users\ADMINI~1\AppData\Local\Temp |
| tmpdir                    | C:\Users\ADMINI~1\AppData\Local\Temp |
+---------------------------+--------------------------------------+
10 rows in set (0.00 sec)

basedir 경로에 my.ini 파일을 생성합니다. 

(C:\MAMP\conf\mysql\my.ini 파일을 복사해도 됩니다.)

 

[client]
...
default-character-set=utf8

[mysqld]
...
character-set-client-handshake=FALSE
init_connect="SET collation_connection = utf8_general_ci"
init_connect="SET NAMES utf8"
character-set-server=utf8
collation-server=utf8_general_ci

[mysqldump]
...
default-character-set = utf8

[mysql]
...
default-character-set=utf8

위와 같이 추가하고 서버를 시작합니다.

mysql> show variables like 'c%';
+--------------------------+-----------------------------------+
| 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       | C:\MAMP\bin\mysql\share\charsets\ |
| collation_connection     | utf8_general_ci                   |
| collation_database       | utf8_general_ci                   |
| collation_server         | utf8_general_ci                   |
| completion_type          | NO_CHAIN                          |
| concurrent_insert        | AUTO                              |
| connect_timeout          | 10                                |
| core_file                | OFF                               |
+--------------------------+-----------------------------------+
15 rows in set (0.00 sec)

character가 utf8로 변경되고 한글도 잘 나옵니다.

 

 

 

 

CLENT_PLUGIN_AUTH is required

오류시 Driver 버전을 낮춰 설치합니다.

mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.31

mysql-connector-java-5.1.31.jar 파일을 다운로드해서 경로를 설정합니다.

Settings > Class Name에서 com.mysql.cj.jdbc.Driver  com.mysql.jdbc.Driver 로 변경합니다.

반응형

'Backend > PHP' 카테고리의 다른 글

PHP 한글 깨짐 방지  (0) 2022.03.01
[ajax - php] exception 처리  (0) 2022.02.26
.PHP 확장자 제거하기  (0) 2021.08.30
PHP에서 긴 문자열 처리 [EOT]  (0) 2021.08.23
PHP에서 Stored Procedure 호출하기  (0) 2020.12.09
Comments