2.10.1 Unix 유사 시스템에서 설치 후 단계
Unix 유사 시스템에 MySQL 설치 후 부여 테이블을 초기화하고 서버를 시작하고 서버가 만족스럽게 작동하는지 확인해야합니다. 서버를 시스템 시작 및 중지와 함께 자동으로 기동 및 정지시킬 수 있습니다. 부여 테이블에서 계정 암호의 할당을 수행합니다.
Unix 유사 시스템에서는 부여 테이블은 mysql_install_db 프로그램에 의해 설치됩니다. 일부 설치 방법은 기존의 데이터베이스를 검색하지 못하는 경우이 프로그램이 자동으로 실행됩니다.
RPM 배포를 사용하여 MySQL을 Linux에 설치하는 경우, 서버 RPM이 mysql_install_db를 실행합니다.
Debian Linux, Ubuntu Linux, Gentoo Linux 등 다양한 플랫폼에서 네이티브 패키징 시스템을 사용하면 mysql_install_db 명령이 자동으로 실행됩니다.
DMG 배포를 사용하여 MySQL을 OS X에 설치하는 경우 설치 프로그램이 mysql_install_db를 실행합니다.
일반적인 바이너리와 소스 설치를 포함한 기타 플랫폼 및 설치 유형은 mysql_install_db를 실행해야합니다.
다음 단계는 부여 테이블을 초기화하고 (아직 실행되지 않은 경우) 서버를 시작하는 방법을 설명합니다. 동시에 서버에 대한 액세스 및 서버의 정상 동작 테스트에 사용할 수있는 몇 가지 명령도 나와 있습니다. 서버의 자동 시작 및 중지에 대한 정보는 섹션 2.10.1.2 「MySQL을 자동적으로 기동 및 정지한다」 를 참조하십시오.
단계를 완료하여 서버가 실행되면 mysql_install_db에 의해 생성 된 계정에 암호를 할당 테스트 데이터베이스에 대한 액세스를 제한하는 것이 좋습니다. 그 절차는 섹션 2.10.2 "처음 MySQL 계정 보안 설정" 을 참조하십시오.
다음 예제에서는 서버가 mysql
로그인 계정의 사용자 ID로 작동합니다. 이것은 그런 계정이 존재하는 것을 전제로하고 있습니다. 존재하지 않는 경우 작성하거나 서버의 실행에 사용할 계획의 다른 기존의 로그인 계정의 이름을 대체합니다. 계정 생성 자세한 내용은 2.2 절 "일반적인 바이너리를 사용하여 MySQL의 Unix / Linux에 설치" 의 mysql
시스템 사용자 및 그룹 만들기 를 참조하십시오.
MySQL 설치 최상위 디렉토리 (여기에서는
BASEDIR
로 표시됩니다)에 위치를 변경합니다.shell>
cd BASEDIR
BASEDIR
는 MySQL 인스턴스가 설치된 디렉토리입니다. 그것은/usr/local/mysql
//usr/local
또는/usr/bin
( MySQL Yum 저장소 또는 기타 방법을 통한 설치의 경우 ) 등입니다. 다음 단계에서는이 디렉토리로 이동하고있는 것을 전제로합니다.BASEDIR
디렉토리에 어떤 파일과 하위 디렉토리가 있습니다. 설치에 가장 중요한 것은bin
하위 디렉토리와scripts
서브 디렉토리입니다.bin
디렉토리에는 클라이언트 프로그램과 서버가 포함되어 있습니다. 쉘이 MySQL 프로그램을 제대로 찾을 수 있도록이 디렉토리의 전체 경로 이름을PATH
환경 변수에 추가하십시오. 섹션 2.12 "환경 변수" 를 참조하십시오.scripts
디렉토리 서버 액세스 권한을 저장할 부여 테이블을 포함mysql
데이터베이스의 초기화에 사용되는 mysql_install_db 프로그램이 포함되어 있습니다.
필요에 따라
mysql
배포 콘텐츠에 액세스 할 수 있는지 확인합니다. 배포를mysql
로 설치 한 경우 추가 조치는 필요하지 않습니다. 배포를root
로 설치 한 경우 해당 콘텐츠는root
가 소유합니다. 설치 디렉토리에서 다음 명령을root
로 실행하여 소유권을mysql
로 변경합니다. 첫 번째 명령은 파일의 소유자 속성을mysql
사용자로 변경합니다. 두 번째 명령은 그룹 속성을mysql
그룹으로 변경합니다.shell>
chown -R mysql .
shell>chgrp -R mysql .
필요에 따라 mysql_install_db 프로그램을 실행하여 사용자가 서버에 연결 허용을 결정하는 권한을 포함하는 초기 MySQL 부여 테이블을 설치합니다. 이 설치 단계에서이 프로그램이 자동으로 실행되지 않도록 같은 배포 유형을 사용하는 경우에는 필요합니다.
shell>
scripts/mysql_install_db --user=mysql
일반적으로, mysql_install_db는 MySQL을 처음 설치하는 경우에만 수행해야하기 때문에 기존 설치를 업그레이드 한 경우에는이 단계를 건너 뛸 수 있습니다. 그러나 mysql_install_db는 기존의 권한 테이블을 덮어 쓰지 때문에 어떤 경우에도이를 실행하는 것이 안전하다.
mysql_install_db가 설치 디렉토리 또는 데이터 디렉토리의 올바른 위치를 지정하지 않은 경우,
--basedir
및--datadir
등의 다른 옵션을 지정해야하는 경우가 있습니다. 예 :shell>
scripts/mysql_install_db --user=mysql \
--basedir=/opt/mysql/mysql \
--datadir=/opt/mysql/mysql/data
mysql_install_db 프로그램은
mysql
을 소유자로 서버의 데이터 디렉토리를 만듭니다. 데이터 디렉토리 아래에 부여 테이블을 유지mysql
데이터베이스와 MySQL의 테스트에 사용할 수있는test
데이터베이스가 작성됩니다. 그 스크립트는 또한root
및 익명 사용자 계정의 권한 테이블의 항목을 만듭니다. 이 계정에는 첫 암호가 없습니다. 섹션 2.10.2 "처음 MySQL 계정 보안 설정" 에서 초기 권한에 대해 설명하고 있습니다. 순간적으로 이러한 권한은 MySQLroot
사용자는 모든 것을 실행 가능하며, 누군가test
라는 또는test_
로 시작하는 이름의 데이터베이스를 생성하고 사용 할 수 있습니다. 부여 테이블의 전체 목록과 설명은 섹션 6.2 "MySQL 권한 시스템" 을 참조하십시오.설치를 더 안전하게하려면 mysql_install_db를
--random-passwords
옵션으로 기동합니다. 그러면 임의로 암호가 MySQLroot
계정에 할당 이러한 계정에 "만기 비밀번호"플래그가 설정된 익명 사용자 MySQL 계정이 삭제됩니다. 자세한 내용은 섹션 4.4.3 "mysql_install_db - MySQL 데이터 디렉토리 초기화" 를 참조하십시오. (Unbreakable Linux Network에서의 RPM을 사용하여 설치 작업은 mysql_install_db를 사용하지 않기 때문에 영향을받지 않습니다.)나중에 서버를 시작할 때 서버가 데이터베이스 디렉토리 및 파일에 대한 읽기 및 쓰기 권한을 갖도록 그들이
mysql
로그인 계정의 소유로되어 있는지 확인하는 것이 중요 입니다. 이를 확인하려면 mysql_install_db를root
로 실행하려면 표시된대로--user
옵션을 포함합니다. 그렇지 않은 경우는mysql
로 로그인하는 동안 스크립트를 실행해야합니다. 이 경우--user
옵션을 명령에서 제외 할 수 있습니다.test
데이터베이스를 유지하지 않으면 서버를 시작하고, 섹션 2.10.2 "처음 MySQL 계정 보안 설정" 의 지침에 따라 삭제할 수 있습니다.이 단계에서 mysql_install_db 문제가 발생했을 경우, 섹션 2.10.1.1 「mysql_install_db 실행 문제 " 를 참조하십시오.
대부분의 MySQL 설치는 필요에 따라
root
를 소유자에게 있습니다. 예외는 데이터 디렉토리를mysql
이 소유해야하는 것입니다. 이렇게하려면 다음 명령을 설치 디렉토리에서root
로 실행합니다.shell>
chown -R root .
shell>chown -R mysql data
플러그인 디렉토리 (
plugin_dir
시스템 변수에 의해 지정된 디렉토리)가 서버가 쓸 수있는 경우 사용자가SELECT ... INTO DUMPFILE
를 사용하여 디렉토리의 파일에 실행 가능한 코드를 쓸 수있는 경우가 있습니다. 이를 방지하기 위해plugin_dir
을 서버에 읽기 전용으로하거나SELECT
쓰기가 안전하게 실행할 수있는 디렉토리에--secure-file-priv
를 설정할 수 있습니다.소스 배포판을 사용하여 MySQL을 설치 한 경우 제공되는 구성 파일을 선택적으로
support-files
디렉토리에서 자신의/etc
디렉토리에 복사하면 좋을 것입니다. 다양한 유스 케이스, 서버 유형 및 CPU와 RAM의 구성에 대해 다양한 샘플 구성 파일이 있습니다. 이러한 표준 파일 중 하나를 사용하는 경우, 그것을/etc/my.cnf
또는/etc/mysql/my.cnf
에 복사하여 먼저 MySQL Server를 시작하기 전에 구성을 편집하고 확인하면 좋습니다.표준 구성 파일 중 하나를 복사하지 않으면 MySQL Server는 기본 설정에서 시작됩니다.
컴퓨터를 부팅 할 때 자동으로 MySQL 시작하는 경우
support-files/mysql.server
를 시스템의 시작 파일이있는 위치에 복사합니다. 자세한 내용은mysql.server
스크립트 자체 및 섹션 2.10.1.2 「MySQL을 자동으로 시작 및 중지 " 에 있습니다.MySQL Server를 시작합니다.
shell>
bin/mysqld_safe --user=mysql &
MySQL Server를 권한이없는 (비
root
) 로그인 계정으로 시작하는 것이 중요합니다. 이를 확인하려면 mysqld_safe를root
로 실행하려면 표시된대로--user
옵션을 포함합니다. 또는mysql
로 로그인하는 동안 스크립트를 실행해야합니다. 이 경우--user
옵션을 명령에서 제외 할 수 있습니다.MySQL을 권한없는 사용자로 실행하는 방법에 대한 자세한 내용은 섹션 6.1.5 "MySQL을 일반 사용자로 실행하는 방법" 을 참조하십시오.
명령이 즉시 실패하고
mysqld ended
을 출력하는 경우 오류 로그 (기본적으로 데이터 디렉토리에있는
파일)에서 정보를 찾을 수 있습니다.host_name
.err이 단계를 진행하기 전에 mysql_install_db를 실행 부여 테이블을 생성하지 않은 경우, 서버 시작시 오류 로그 파일에 다음 메시지가 나타납니다.
mysqld : Can not find file : 'host.frm'
이 오류는 mysql_install_db를
root
로 실행하고--user
옵션을 사용하지 않은 경우에도 발생합니다.data
디렉토리를 제거하여 전술 한 바와 같이 mysql_install_db를--user
옵션을 사용하여 실행합니다.서버를 시작할 때 다른 문제가 발생한 경우에는 섹션 2.10.1.3 「MySQL 서버의 시작 및 문제 해결 " 을 참조하십시오. mysqld_safe 대한 자세한 내용은 4.3.2 "mysqld_safe - MySQL 서버 시작 스크립트" 를 참조하십시오.
mysqladmin을 사용하여 서버가 작동하는지 확인합니다. 다음 명령은 서버 시작 및 연결을 확인하는 간단한 테스트를 제공합니다.
shell>
bin/mysqladmin version
shell>bin/mysqladmin variables
mysqladmin version의 출력은 플랫폼 및 MySQL 버전에 따라 다를 수 있지만 다음 것과 유사합니다.
shell>
bin/mysqladmin version
mysqladmin Ver 14.12 Distrib 5.6.23, for pc-linux-gnu on i686 ... Server version 5.6.23 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/lib/mysql/mysql.sock Uptime : 14 days 5 hours 5 min 21 sec Threads : 1 Questions : 366 Slow queries : 0 Opens : 0 Flush tables : 1 Open tables : 19 Queries per second avg : 0.000mysqladmin 외에 기능을 표시하려면 그것을
--help
옵션으로 기동합니다.서버를 종료 할 수 있는지 확인합니다.
shell>
bin/mysqladmin -u root shutdown
서버를 다시 시작할 수 있는지 확인합니다. 이것은 mysqld_safe를 사용하거나 또는 mysqld를 직접 시작합니다. 예 :
shell>
bin/mysqld_safe --user=mysql &
mysqld_safe가 실패 할 경우, 섹션 2.10.1.3 「MySQL 서버의 시작 및 문제 해결 " 을 참조하십시오.
간단한 테스트를 일부 실행하여 서버에서 정보를 검색 할 수 있는지 확인합니다. 출력은 다음 것들과 유사해야합니다.
shell>
bin/mysqlshow
+--------------------+ | Databases | +--------------------+ | information_schema | | mysql | | performance_schema | | test | +--------------------+ shell>bin/mysqlshow mysql
Database: mysql +---------------------------+ | Tables | +---------------------------+ | columns_priv | | db | | event | | func | | general_log | | help_category | | help_keyword | | help_relation | | help_topic | | innodb_index_stats | | innodb_table_stats | | ndb_binlog_index | | plugin | | proc | | procs_priv | | proxies_priv | | servers | | slave_master_info | | slave_relay_log_info | | slave_worker_info | | slow_log | | tables_priv | | time_zone | | time_zone_leap_second | | time_zone_name | | time_zone_transition | | time_zone_transition_type | | user | +---------------------------+ shell>bin/mysql -e "SELECT User, Host, plugin FROM mysql.user" mysql
+------+-----------+-----------------------+ | User | Host | plugin | +------+-----------+-----------------------+ | root | localhost | mysql_native_password | +------+-----------+-----------------------+sql-bench
디렉토리 (MySQL 설치 디렉토리 아래)에 다른 플랫폼에서 MySQL 동작의 차이를 비교 한 벤치 마크 스위트가 있습니다. 벤치 마크 스위트는 Perl로 작성되어 있습니다. 그것에는 다양한 데이터베이스에 데이터베이스 독립적 인 인터페이스를 제공하는 Perl DBI 및 기타 여러 Perl 모듈이 필요합니다.DBI DBD :: mysql Data :: Dumper Data :: ShowTable
이러한 모듈은 CPAN ( www.cpan.org/ )에서 구할 수 있습니다. 섹션 2.13.1 "Unix에 Perl 설치" 를 참조하십시오.
sql-bench/Results
디렉토리에는 다양한 데이터베이스 및 플랫폼에서 많은 실행 결과가 포함되어 있습니다. 모든 테스트를 수행하려면 다음 명령을 실행합니다.shell>
cd sql-bench
shell>perl run-all-tests
sql-bench
디렉토리가없는 경우는 아마 소스 RPM 이외의 RPM 파일을 사용하여 MySQL을 설치했습니다. (소스 RPM은sql-bench
벤치 마크 디렉토리가 포함되어 있습니다.)이 경우 벤치 마크 스위트를 사용하기 전에 먼저 그것을 설치해야합니다.mysql-bench-
이름의 개별 벤치 마크 RPM 파일이 있는데 그중에는 벤치 마크의 코드 및 데이터가 포함되어 있습니다.VERSION
.i386.rpm소스 배포판의 경우에는 테스트도
tests
하위 디렉토리에 실행할 수 있습니다. 예를 들어,auto_increment.tst
을 실행하려면이 명령을 소스 배포판의 최상위 디렉토리에서 실행합니다.shell>
mysql -vvf test < ./tests/auto_increment.tst
예상되는 시험 결과는
./tests/auto_increment.res
파일에 있습니다.이 단계에서는 서버가 실행하고있는 것입니다. 그러나 초기 MySQL 계정은 모두 암호가 설정되어 있지 않고, 서버는 테스트 데이터베이스에 대한 액세스를 너그 럽게 허용합니다. 보안을 엄격하게하려면 섹션 2.10.2 "처음 MySQL 계정 보안 설정" 의 단계를 따릅니다.
MySQL 5.6 설치 절차는 mysql
데이터베이스에 시간대 테이블이 생성되지만 데이터는 채워지지 않습니다. 그러기 위해서는, 섹션 10.6 "MySQL Server에서 시간대 지원" 을 참조하십시오.
설치 디렉토리 아래의 bin
디렉토리에 설치된 프로그램의 시작을보다 편리하게하기 위해 그 디렉토리를 PATH
환경 변수 설정에 추가 할 수 있습니다. 따라서 프로그램의 전체 경로 이름이 아닌 이름 만 입력 할 수 있습니다. 섹션 4.2.10 "환경 변수 설정" 을 참조하십시오.