[Mac] 맥미니에 wordpress 설치하기(3) – MySQL 설치하기

Published on: 2013. 11. 14. 16:36 by louis.dev
[Mac] 맥미니에  wordpress 설치하기(1) - Apache 설치하기 

[Mac] 맥미니에  wordpress 설치하기(2) - PHP 설치하기


이번에는 MySQL DB를 설치하도록 하겠습니다. 여기에서 Mac OS X ver. 10.7 (x86, 64-bit), DMG Archive를 다운로드 합니다. 이전의 아파치나 php설치는 컴파일 설치를 했기 때문에 터미널에서 작업을 하였지만 mysql은 다운로드한 MDG archive를 다운로드 하는 것만으로 설치가 진행되기 때문에 따로 포스팅을 하지 않겠습니다. 다운받은 dmg 파일을 열어보면 MySQLStartupItem.pkg 파일을 확인할 수 있는데, 이파일은 맥이 시작되면 mysql이 자동으로 로드되게 해주는 패키지 입니다. 필요에 따라 설치하면 될것 같습니다. 기본적으로 설치되는 위치는 /usr/local/mysql 입니다. mysql 서버를 수동으로 시작하려면 $ sudo /usr/local/mysql/bin/mysqld_safe 로 실행합니다. 초기에는 mysql의 root 비밀번호가 설정되어 있지 않음으로 mysql  서버에 비밀번호 없이 바로 접속할수 있습니다. 이렇게 root권한으로 비밀번호 없이 mysql 서버에 접근한 뒤에 초기 mysql 초기 작업을 진행합니다.

$/usr/local/mysql/bin/mysql -u root

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.13 MySQL Community Server (GPL)

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

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

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> update user set password=password('루트 비밀번호') where user = 'root';
Query OK, 4 rows affected (0.00 sec)
Rows matched: 4  Changed: 4  Warnings: 0

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> exit

//초기에는 /usr/local/mysql/bin/mysql -u root 명령어로 패스워드 없이 접근가능했지만 이제는 불가능해 졌습니다. 이후에 로그인은 아래와 같이 하면 됩니다.
$ /usr/local/mysql/bin/mysql -u root -p
위처럼 루트 비밀번호를 설정하고, wordpress에서 사용할 mysql 사용자를 생성해야 합니다.
$ /usr/local/mysql/bin/mysql -u root -p

enter password:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.13 MySQL Community Server (GPL)

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

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

mysql> CREATE DATABASE 블로그db명 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.01 sec)
mysql> GRANT ALL PRIVILEGES ON *.* TO '아이디'@'%' IDENTIFIED BY '비밀번호' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
위의 쿼리중 눈여겨 보아야 할 부분은
GRANT ALL PRIVILEGES ON *.* TO '아이디'@'%' IDENTIFIED BY '비밀번호' WITH GRANT OPTION;
부분입니다. 부분별로 설명을 하자면 *.* :  DB명.테이블명 입니다.  MySQL서버에는 여러개의 DB를 생성할수 있고, 그 DB안에는 여러개의 Table을 생성할 수 있습니다. 지금 설정한데로 *.*는 모든 DB의 모든 테이블에 접근을 허용하겠다는 뜻입니다. '아이디'@'%' : 아이디부분에 사용하고 싶은 아이디를 넣으면 됩니다. 해당아이디로 유저가 생성됩니다. 뒤의 %는 접속 허용하는 아이피를 나타냅니다. %를 나타내면 해당 아이디로 IP제한 없이 접속가능하단 뜻이고 만약 '아이디'@'111.222.333.444'로 지정을 한다면 111.222.333.444 아이피의 접근만 허용하겠다는 뜻입니다. 이상으로 MySQL설치를 마치도록 하겠습니다.