Centos7 부터는 데이타베이스가 Mariadb로 바뀌었습니다.
그래서 MySql을 yum 으로 바로 설치가 불가능합니다.
때문에 아래 명령을 차례로 입력하여 줍니다.
1 2 3 4 5 6 7 8 9 10 11 12 | # yum -y install http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm # yum -y install mysql-community-server # systemctl start mysqld # systemctl enable mysqld # mysql mysql>quit |
이렇게 mysql까지 들어가면 프롬프트가 mysql>로 바뀌면 설치가 완료된 것입니다.
추가사항
최신 버전의 mysql 최초 실행시 Access denied for user 'root'@'localhost' (using password: NO)라는 에러메시지가 나옵니다.
이것은 mysql root 의 패스워드가 입력되지 않아 접근이 거부된 경우입니다.
mysql 최초 설치후 root 비밀번호는 임시로 자동 생성됩니다.
자동 생성된 비밀번호는 /var/log/mysqld.log 에서 확인 가능합니다.
[Note] A temporary password is generated for root@localhost: ZPelHokYi3/b
이런 문자열을 찾으셔서 맨 뒤에 ZPelHokYi3/b 가 임시 비밀번호입니다.
mysql -uroot -p 를 입력한 후 비밀번호 입력란에 위에 임시 비밀번호를 넣으시면 됩니다.
이상태로 끝난다면 다행이지만 위와 같이 하고 mysql에 접속 까지는 되는데 또 에러가 납니다.
ERROR 1820 (HY000) : You must reset your password using ALTER USER statement before executing this statement.
ALTER USER 문을 사용하여 비밀번호를 재 설정 하라는 내용인데...
변경은 않되는것 같고 임의 설정된 비밀번호를 다시 입력해 주면 됩니다.
1 2 | mysql> ALTER USER 'root' @ 'localhost' IDENTIFIED BY 'ZPelHokYi3/b' ; Query OK, 0 rows affected (0.00 sec) |
OK 메시지가 나오면 FLUSH 해 줍니다.
1 2 | mysql> FLUSH PRIVILEGES ; Query OK, 0 rows affected (0.00 sec) |
이제 다른 명령을 입력하면 되는데 당연하지만 임의 비밀번호를 내가 원하는 비밀번호로 바꾸는게 좋습니다.
1 | mysql> UPDATE user set authentication_string= password ( 'openTutorials' ) where user = 'root' ; |
하면 되는데 또 에러가 납니다..
비밀번호 정책에 충족하지 않는다는...
참 복잡하게도 업데이트 된것 같습니다.
비밀번호 정책의 테이블을 확인 하려면
1 | mysql> SHOW variables LIKE 'validate_password%' ; |
이렇게 확인해 보면 패시워드 길이, 숫자, 문자 갯수 제한 등등 나옵니다.
그중 validate_password_policy 의 값이 MEDIUM 입니다.
MEDIUM은 해당 정책을 모두 수용하는 값입니다.
귀찮으니까 LOW로 바꿔서 비밀번호를 그냥 편하게 쓸수 있도록 합니다.
1 | mysql> SET GLOBAL validate_password_policy=LOW; |
그 다음 위의 UPDATE 명령으로 root 의 비밀번호를 바꿉니다.
1 2 | mysql> mysql> UPDATE user set authentication_string= password ( 'openTutorials' ) where user = 'root' ; mysql> FLUSH PRIVILEGES ; |
quit 명령으로 mysql에서
빠져 나옵니다.
1 | # reboot |
reboot 명령으로 재시작합니다.
1 | # mysql -uroot -p |
재시작 후 mysql 이 정상 실행 되면 정상적으로 설치가 완료된것입니다.
이제 mysql에서 명령을 입력합니다.
1 | mysql> status; |
mysql 설정값을 보면 characterset 값이 latin1 인것을 알수 있습니다.
따라서 mysql의 charaterset 을 utf8로 통일 시키겠습니다.
이 값들을 바꾸려면 my.cnf 파일을 편집해 줍니다.
my.cnf 파일은 /etc/ 안에 있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | # vi /etc/my.cnf [client] default-character- set = utf8 [mysql] default-character- set =utf8 [mysqld] datadir= /var/lib/mysql socket= /var/lib/mysql/mysql .sock character- set -server=utf8 collation-server=utf8_general_ci init_connect=SET collation_connection = utf8_general_ci init_connect=SET NAMES utf8 character- set -client-handshake = FALSE skip-character- set -client-handshake [mysqldump] default-character- set =utf8 |
값들을 보시고 기존에 있는것은 놔두고 없는것은 추가시켜주면 됩니다.
저장 후 mysql을 재시작해 줍니다.
1 2 3 4 5 | # systemctl restart mysqld # mysql mysql> status |
mysql을 실행하고 status 명령을 주면 이제 charcterset이 utf8로 바뀐것을 보실수 있습니다.
이제 mysql의 1차 설정은 끝입니다.
2차 설정은 php와 phpmyadmin을 설치한 후에 시작합니다..