Centos7 부터는 데이타베이스가 Mariadb로 바뀌었습니다.
그래서 MySql을 yum 으로 바로 설치가 불가능합니다.
때문에 아래 명령을 차례로 입력하여 줍니다.
# 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 문을 사용하여 비밀번호를 재 설정 하라는 내용인데...
변경은 않되는것 같고 임의 설정된 비밀번호를 다시 입력해 주면 됩니다.
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'ZPelHokYi3/b'; Query OK, 0 rows affected (0.00 sec)
OK 메시지가 나오면 FLUSH 해 줍니다.
mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec)
이제 다른 명령을 입력하면 되는데 당연하지만 임의 비밀번호를 내가 원하는 비밀번호로 바꾸는게 좋습니다.
mysql> UPDATE user set authentication_string=password('openTutorials') where user='root';
하면 되는데 또 에러가 납니다..
비밀번호 정책에 충족하지 않는다는...
참 복잡하게도 업데이트 된것 같습니다.
비밀번호 정책의 테이블을 확인 하려면
mysql> SHOW variables LIKE 'validate_password%';
이렇게 확인해 보면 패시워드 길이, 숫자, 문자 갯수 제한 등등 나옵니다.
그중 validate_password_policy 의 값이 MEDIUM 입니다.
MEDIUM은 해당 정책을 모두 수용하는 값입니다.
귀찮으니까 LOW로 바꿔서 비밀번호를 그냥 편하게 쓸수 있도록 합니다.
mysql> SET GLOBAL validate_password_policy=LOW;
그 다음 위의 UPDATE 명령으로 root 의 비밀번호를 바꿉니다.
mysql> mysql> UPDATE user set authentication_string=password('openTutorials') where user='root'; mysql> FLUSH PRIVILEGES;
quit 명령으로 mysql에서
빠져 나옵니다.
# reboot
reboot 명령으로 재시작합니다.
# mysql -uroot -p
재시작 후 mysql 이 정상 실행 되면 정상적으로 설치가 완료된것입니다.
이제 mysql에서 명령을 입력합니다.
mysql> status;
mysql 설정값을 보면 characterset 값이 latin1 인것을 알수 있습니다.
따라서 mysql의 charaterset 을 utf8로 통일 시키겠습니다.
이 값들을 바꾸려면 my.cnf 파일을 편집해 줍니다.
my.cnf 파일은 /etc/ 안에 있습니다.
# 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을 재시작해 줍니다.
# systemctl restart mysqld # mysql mysql> status
mysql을 실행하고 status 명령을 주면 이제 charcterset이 utf8로 바뀐것을 보실수 있습니다.
이제 mysql의 1차 설정은 끝입니다.
2차 설정은 php와 phpmyadmin을 설치한 후에 시작합니다..