메뉴 건너뛰기

Korea Oracle User Group

DBMS

MySQL CentOS 6.7 에서 MySQL 5.7 설치

명품관 2016.09.09 09:47 조회 수 : 13944

CentOS 6.7 에서 MySQL 5.7 설치

 

1. MySQL Yum Repository 구성

 

1) MySQL 사이트에서 Yum Repository 사용한 설치를 위해 아래 이름의 파일을 다운 받는다. down

  mysql57-community-release-el6-8.noarch.rpm

 

2) 설치

[root@testora ~]# rpm -Uvh mysql57-community-release-el6-8.noarch.rpm 
경고: mysql57-community-release-el6-8.noarch.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
준비 중...               ########################################### [100%]
   1:mysql57-community-relea########################################### [100%]
[root@testora ~]# 

 

3) yum 명령어를 통해 패키지 목록을 확인하여 본다.

[root@testora ~]# yum search mysql-community
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: ftp.daumkakao.com
 * extras: ftp.daumkakao.com
 * updates: ftp.daumkakao.com
============================================================= N/S Matched: mysql-community =============================================================
mysql-community-client.i686 : MySQL database client applications and tools
mysql-community-client.x86_64 : MySQL database client applications and tools
mysql-community-common.i686 : MySQL database common files for server and client libs
mysql-community-common.x86_64 : MySQL database common files for server and client libs
mysql-community-devel.i686 : Development header files and libraries for MySQL database client applications
mysql-community-devel.x86_64 : Development header files and libraries for MySQL database client applications
mysql-community-embedded.i686 : MySQL embedded library
mysql-community-embedded.x86_64 : MySQL embedded library
mysql-community-embedded-devel.i686 : Development header files and libraries for MySQL as an embeddable library
mysql-community-embedded-devel.x86_64 : Development header files and libraries for MySQL as an embeddable library
mysql-community-libs.i686 : Shared libraries for MySQL database client applications
mysql-community-libs.x86_64 : Shared libraries for MySQL database client applications
mysql-community-libs-compat.i686 : Shared compat libraries for MySQL 5.1.72 database client applications
mysql-community-libs-compat.x86_64 : Shared compat libraries for MySQL 5.1.72 database client applications
mysql-community-release.noarch : MySQL repository configuration for yum
mysql-community-server.x86_64 : A very fast and reliable SQL database server
mysql-community-test.x86_64 : Test suite for the MySQL database server

  Name and summary matches only, use "search all" for everything.
[root@testora ~]# 

 

4) yum을 통해 MySQL과 의존성에 걸려 있는 모든 패키지를 설치한다.

[root@testora ~]# yum install mysql-server
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: ftp.daumkakao.com
 * extras: ftp.daumkakao.com
 * updates: ftp.daumkakao.com
Package mysql-server is obsoleted by mysql-community-server, trying to install mysql-community-server-5.7.15-1.el6.x86_64 instead
Resolving Dependencies
--> Running transaction check
---> Package mysql-community-server.x86_64 0:5.7.15-1.el6 will be installed
--> Processing Dependency: mysql-community-common(x86-64) = 5.7.15-1.el6 for package: mysql-community-server-5.7.15-1.el6.x86_64
--> Processing Dependency: mysql-community-client(x86-64) >= 5.7.9 for package: mysql-community-server-5.7.15-1.el6.x86_64
--> Running transaction check
---> Package mysql-community-client.x86_64 0:5.7.15-1.el6 will be installed
--> Processing Dependency: mysql-community-libs(x86-64) >= 5.7.9 for package: mysql-community-client-5.7.15-1.el6.x86_64
---> Package mysql-community-common.x86_64 0:5.7.15-1.el6 will be installed
--> Running transaction check
---> Package mysql-community-libs.x86_64 0:5.7.15-1.el6 will be obsoleting
---> Package mysql-libs.x86_64 0:5.1.73-5.el6_6 will be obsoleted
--> Processing Dependency: libmysqlclient.so.16()(64bit) for package: 2:postfix-2.6.6-6.el6_7.1.x86_64
--> Processing Dependency: libmysqlclient.so.16(libmysqlclient_16)(64bit) for package: 2:postfix-2.6.6-6.el6_7.1.x86_64
--> Running transaction check
---> Package mysql-community-libs-compat.x86_64 0:5.7.15-1.el6 will be obsoleting
--> Finished Dependency Resolution

Dependencies Resolved

========================================================================================================================================================
 Package                                        Arch                      Version                            Repository                            Size
========================================================================================================================================================
Installing:
 mysql-community-libs                           x86_64                    5.7.15-1.el6                       mysql57-community                    2.1 M
     replacing  mysql-libs.x86_64 5.1.73-5.el6_6
 mysql-community-libs-compat                    x86_64                    5.7.15-1.el6                       mysql57-community                    1.6 M
     replacing  mysql-libs.x86_64 5.1.73-5.el6_6
 mysql-community-server                         x86_64                    5.7.15-1.el6                       mysql57-community                    144 M
Installing for dependencies:
 mysql-community-client                         x86_64                    5.7.15-1.el6                       mysql57-community                     23 M
 mysql-community-common                         x86_64                    5.7.15-1.el6                       mysql57-community                    327 k

Transaction Summary
========================================================================================================================================================
Install       5 Package(s)

Total download size: 170 M
Is this ok [y/N]: y
Downloading Packages:
(1/5): mysql-community-client-5.7.15-1.el6.x86_64.rpm                                                                            |  23 MB     00:20     
(2/5): mysql-community-common-5.7.15-1.el6.x86_64.rpm                                                                            | 327 kB     00:00     
(3/5): mysql-community-libs-5.7.15-1.el6.x86_64.rpm                                                                              | 2.1 MB     00:03     
(4/5): mysql-community-libs-compat-5.7.15-1.el6.x86_64.rpm                                                                       | 1.6 MB     00:02     
http://repo.mysql.com/yum/mysql-5.7-community/el/6/x86_64/mysql-community-server-5.7.15-1.el6.x86_64.rpm: [Errno 14] PYCURL ERROR 56 - "Failure when receiving data from the peer"
Trying other mirror.


Error Downloading Packages:
  mysql-community-server-5.7.15-1.el6.x86_64: failure: mysql-community-server-5.7.15-1.el6.x86_64.rpm from mysql57-community: [Errno 256] No more mirrors to try.

[root@testora ~]# 

다운로드에 실패할 경우 다시 시도하게 되면 실패한 파일을 받으면서 이후 과정이 진행된다.

[root@testora ~]# yum install mysql-server
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: ftp.daumkakao.com
 * extras: ftp.daumkakao.com
 * updates: ftp.daumkakao.com
Package mysql-server is obsoleted by mysql-community-server, trying to install mysql-community-server-5.7.15-1.el6.x86_64 instead
Resolving Dependencies
--> Running transaction check
---> Package mysql-community-server.x86_64 0:5.7.15-1.el6 will be installed
--> Processing Dependency: mysql-community-common(x86-64) = 5.7.15-1.el6 for package: mysql-community-server-5.7.15-1.el6.x86_64
--> Processing Dependency: mysql-community-client(x86-64) >= 5.7.9 for package: mysql-community-server-5.7.15-1.el6.x86_64
--> Running transaction check
---> Package mysql-community-client.x86_64 0:5.7.15-1.el6 will be installed
--> Processing Dependency: mysql-community-libs(x86-64) >= 5.7.9 for package: mysql-community-client-5.7.15-1.el6.x86_64
---> Package mysql-community-common.x86_64 0:5.7.15-1.el6 will be installed
--> Running transaction check
---> Package mysql-community-libs.x86_64 0:5.7.15-1.el6 will be obsoleting
---> Package mysql-libs.x86_64 0:5.1.73-5.el6_6 will be obsoleted
--> Processing Dependency: libmysqlclient.so.16()(64bit) for package: 2:postfix-2.6.6-6.el6_7.1.x86_64
--> Processing Dependency: libmysqlclient.so.16(libmysqlclient_16)(64bit) for package: 2:postfix-2.6.6-6.el6_7.1.x86_64
--> Running transaction check
---> Package mysql-community-libs-compat.x86_64 0:5.7.15-1.el6 will be obsoleting
--> Finished Dependency Resolution

Dependencies Resolved

========================================================================================================================================================
 Package                                        Arch                      Version                            Repository                            Size
========================================================================================================================================================
Installing:
 mysql-community-libs                           x86_64                    5.7.15-1.el6                       mysql57-community                    2.1 M
     replacing  mysql-libs.x86_64 5.1.73-5.el6_6
 mysql-community-libs-compat                    x86_64                    5.7.15-1.el6                       mysql57-community                    1.6 M
     replacing  mysql-libs.x86_64 5.1.73-5.el6_6
 mysql-community-server                         x86_64                    5.7.15-1.el6                       mysql57-community                    144 M
Installing for dependencies:
 mysql-community-client                         x86_64                    5.7.15-1.el6                       mysql57-community                     23 M
 mysql-community-common                         x86_64                    5.7.15-1.el6                       mysql57-community                    327 k

Transaction Summary
========================================================================================================================================================
Install       5 Package(s)

Total size: 170 M
Total download size: 144 M
Is this ok [y/N]: y
Downloading Packages:
mysql-community-server-5.7.15-1.el6.x86_64.rpm                                                                                   | 144 MB     00:40     
경고: rpmts_HdrFromFdno: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
Importing GPG key 0x5072E1F5:
 Userid : MySQL Release Engineering <mysql-build@oss.oracle.com>
 Package: mysql57-community-release-el6-8.noarch (installed)
 From   : /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
Is this ok [y/N]: y
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.
  Installing : mysql-community-common-5.7.15-1.el6.x86_64                                                                                           1/6 
  Installing : mysql-community-libs-5.7.15-1.el6.x86_64                                                                                             2/6 
  Installing : mysql-community-client-5.7.15-1.el6.x86_64                                                                                           3/6 
  Installing : mysql-community-server-5.7.15-1.el6.x86_64                                                                                           4/6 
  Installing : mysql-community-libs-compat-5.7.15-1.el6.x86_64                                                                                      5/6 
  Erasing    : mysql-libs-5.1.73-5.el6_6.x86_64                                                                                                     6/6 
  Verifying  : mysql-community-common-5.7.15-1.el6.x86_64                                                                                           1/6 
  Verifying  : mysql-community-libs-5.7.15-1.el6.x86_64                                                                                             2/6 
  Verifying  : mysql-community-client-5.7.15-1.el6.x86_64                                                                                           3/6 
  Verifying  : mysql-community-server-5.7.15-1.el6.x86_64                                                                                           4/6 
  Verifying  : mysql-community-libs-compat-5.7.15-1.el6.x86_64                                                                                      5/6 
  Verifying  : mysql-libs-5.1.73-5.el6_6.x86_64                                                                                                     6/6 

Installed:
  mysql-community-libs.x86_64 0:5.7.15-1.el6     mysql-community-libs-compat.x86_64 0:5.7.15-1.el6     mysql-community-server.x86_64 0:5.7.15-1.el6    

Dependency Installed:
  mysql-community-client.x86_64 0:5.7.15-1.el6                               mysql-community-common.x86_64 0:5.7.15-1.el6                              

Replaced:
  mysql-libs.x86_64 0:5.1.73-5.el6_6                                                                                                                    

Complete!
[root@testora ~]# 

 

5) 서버 시작시 자동으로 사용하기 위해 아래 작업을 수행한다.

[root@testora etc]# chkconfig mysqld on
[root@testora etc]# service mysqld start
MySQL 데이타베이스 초기화 중:  [  OK  ]
Installing validate password plugin:  [  OK  ]
mysqld (을)를 시작 중:  [  OK  ]
[root@testora etc]# 

 

6) 설치 후 root 패스워드에 대해 접근 에러가 발생 해결

   해당 이슈에 대해서 인터넷 상에 많은 이야기가 존재한다.

   설치 후 해당 내용에 대해 세팅하는 과정을 거쳐야하는데 그 사항을 진행하지도 못하는 상황이 연출됨

   아래는 이에 대한 해결 내용임

[root@testora etc]# service mysqld stop
mysqld 를 정지 중:  [  OK  ]
[root@testora etc]# service mysqld start --skip-grant-tables
mysqld (을)를 시작 중:  [  OK  ]
[root@testora etc]# mysql -u root mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

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

Copyright (c) 2000, 2016, 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> update user set authentication_string=password('mysql') where user='root';
Query OK, 1 row affected, 1 warning (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 1

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

mysql> exit
Bye
[root@testora etc]# service mysqld restart
mysqld 를 정지 중:  [  OK  ]
mysqld (을)를 시작 중:  [  OK  ]
[root@testora etc]# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.15

Copyright (c) 2000, 2016, 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> select 1;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> SET PASSWORD = PASSWORD('Mysql1234!@#$');
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> select 1;
+---+
| 1 |
+---+
| 1 |
+---+
1 row in set (0.00 sec)

mysql> show variables like 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password_check_user_name    | OFF    |
| validate_password_dictionary_file    |        |
| validate_password_length             | 8      |
| validate_password_mixed_case_count   | 1      |
| validate_password_number_count       | 1      |
| validate_password_policy             | MEDIUM |
| validate_password_special_char_count | 1      |
+--------------------------------------+--------+
7 rows in set (0.00 sec)

mysql> 

 

7) selinux를 Permissive 모드로 변경 데이터, 로그 및 temp 사용 공간에 대한 설정 수정

[root@testora /]# vi /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#       enforcing - SELinux security policy is enforced.
#       permissive - SELinux prints warnings instead of enforcing.
#       disabled - SELinux is fully disabled.
SELINUX=permissive
# SELINUXTYPE= type of policy in use. Possible values are:
#       targeted - Only targeted network daemons are protected.
#       strict - Full SELinux protection.
SELINUXTYPE=targeted
~
~

[root@testora /]# mkdir -p /u01/mysql/data
[root@testora /]# mkdir -p /u01/mysql/log_bin
[root@testora /]# mkdir -p /u01/mysql/tmpdir
[root@testora /]# chmod -R 755 /u01

[root@testora /]# vi /etc/my.cnf

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
#datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

# Add Kwan
log_bin=/u01/mysql/log_bin/myDB
datadir=/u01/mysql/data
tmpdir=/u01/mysql/tmpdir
~
~
~
~
"/etc/my.cnf" 32L, 1054C written
[root@testora /]# service mysqld start
mysqld (을)를 시작 중:  [  OK  ]

 

8) 보안을 위한 설정체크를 위한 스크립트 수행

[root@testora /]# mysql_secure_installation 

Securing the MySQL server deployment.

Enter password for user root: 
The 'validate_password' plugin is installed on the server.
The subsequent steps will run with the existing configuration
of the plugin.
Using existing password for root.

Estimated strength of the password: 100 
Change the password for root ? ((Press y|Y for Yes, any other key for No) : 

 ... skipping.
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.


Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.


Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.

All done! 
[root@testora /]# 

 

9) database 생성

[root@testora /]# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.7.15 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, 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> 
mysql> 
mysql> 
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

mysql> create database kwandatabase;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| kwandatabase       |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

mysql> 

 

 

Addition

mysql에 접속하기 위해서는 random password를 확인해야 한다.

random password 확인하는 방법은 MySQL 버전에 따라 조금씩 틀리다.


[root@MySQL ~]# grep 'temporary password' /var/log/mysqld.log
2015-12-26T09:32:43.121947Z 1 [Note] A temporary password is generated for root@localhost: YV)zw<xy:3be

 

[root@MySQL ~]#  mysql - u root -p
random으로 설정되어 있는 패스워드 입력

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '1q2W3e$r%T';
mysql> flush privileges;

 

* 5.7.10버전에서는 validate_password 플러그인이 디폴트로 설치된다.
이것은 패스워드 설정에 대한 정책을 적용하는 것이다.

적어도 하나의 대문자, 소문자. 숫자, 특수문자를 요구하며 8자 이상이 되어야 한다.

 

번호 제목 글쓴이 날짜 조회 수
19 PostgreSQL 16 설치하기(Installation) [1] 명품관 2024.01.24 1659
18 Top-Rated PostgreSQL GUI Clients for Windows 명품관 2023.05.10 251
17 기동시 "Job for mysqld.service failed because the control process exited with error code." 에러로 기동 실패 명품관 2020.09.03 8795
16 MySQL 8.0 Reference Manual - MySQL Server Administration2 - Server Configuration Validation 명품관 2020.04.17 478
15 MySQL 8.0 Reference Manual - MySQL Server Administration1 - Configuring the Server 명품관 2020.03.05 9803
14 MySQL 8.0 Reference Manual - Tutorial - Creating and Using a Database4 명품관 2020.03.03 430
13 MySQL 8.0 Reference Manual - Tutorial - Creating and Using a Database3 명품관 2020.03.02 631
12 Windows 버전 MySQL의 my.ini 파일 찾기 file 명품관 2020.03.01 14323
11 MySQL 8.0 Reference Manual - Tutorial - Creating and Using a Database2 명품관 2020.02.29 379
10 MySQL 8.0 Reference Manual - Tutorial - Creating and Using a Database1 명품관 2020.02.28 339
9 MySQL 8.0 Reference Manual - Tutorial - Entering Queries 명품관 2020.02.28 334
8 MySQL 8.0 Reference Manual - Tutorial - Connecting to and Disconnecting from the Server 명품관 2020.02.27 382
7 MySQL Admin - 01 명품관 2019.10.08 833
6 How to Install MariaDB 10 on RHEL 8 [2] 명품관 2019.01.31 320
5 MySQL 설치 후 외부 접속 허용하기 명품관 2016.09.09 2970
» CentOS 6.7 에서 MySQL 5.7 설치 명품관 2016.09.09 13944
3 티베로 trace log 중 ERROR_PSM_COMPILE_FAILED 에러란 명품관 2016.09.06 12001
2 DP, DPL, DPI에 관한trace log 내용 분석 명품관 2016.09.06 1257
1 티베로 에러 내용 확인 방법 명품관 2016.08.26 11016
위로