지원 네트워크
우분투 운영 체제에 서버 설치
최근 업데이트: 2019-12-20
에 의해 작성:제레드 헤첸
이 게임은 인터넷을 통해서 게임을 할 수 있습니다.. 데이터베이스가 필요하다는 것을 알고 있지만 사용 가능한 모든 옵션에 대해 많이 알지 못하는 경우 좋은 선택입니다.
이 문서에서는 우분투 운영 체제에서 데이터베이스 서버의 기본 설치에 대해 설명합니다. 다른 패키지를 설치해야 할 수도 있습니다. 자세한 내용은 응용 프로그램 문서를 확인하십시오.
설치
설치 우분투 운영 체제 패키지 관리자를 사용 하 여:
sudo apt-get updatesudo apt-get install mysql-server
설치 프로그램은 모든 종속성을 설치합니다.
설치가 완료된 후 보안 설치 유틸리티가 자동으로 실행되지 않으면 다음 명령을 입력합니다:
sudo mysql_secure_installation utility
이 유틸리티는 루트 암호 및 기타 보안 관련 옵션을 정의하라는 메시지를 표시합니다.1943>
원격 액세스 허용
서버 방화벽에서 포트를 열어야 합니다. 이 작업을 수행하는 방법은 다음과 같습니다.
다음 명령을 실행하여 원격 액세스를 허용합니다.:
sudo ufw enablesudo ufw allow mysql
설치가 완료되면 다음 명령을 실행하여 데이터베이스 서비스를 시작할 수 있습니다. 서비스가 이미 시작된 경우 서비스가 이미 실행 중임을 알리는 메시지가 표시됩니다:
sudo systemctl start mysql
다시 부팅할 때 시작
다시 부팅한 후 데이터베이스 서버가 시작되도록 하려면 다음 명령을 실행합니다:
sudo systemctl enable mysql
기본적으로 원격으로 액세스할 수 있는 인터페이스에 더 이상 바인딩되지 않습니다.바인드 주소”지시문을 편집하십시오.콘프2018 년 11 월씨엔에프:
bind-address= 127.0.0.1 ( The default. )bind-address= XXX.XXX.XXX.XXX ( The ip address of your Public Net interface. )bind-address= ZZZ.ZZZ.ZZZ.ZZZ ( The ip address of your Service Net interface. )bind-address= 0.0.0.0 ( All ip addresses. )
bind-address= 127.0.0.1 ( The default. )bind-address= XXX.XXX.XXX.XXX ( The ip address of your Public Net interface. )bind-address= ZZZ.ZZZ.ZZZ.ZZZ ( The ip address of your Service Net interface. )bind-address= 0.0.0.0 ( All ip addresses. )
서비스를 다시 시작합니다.그러나 이 문서에서는 가장 기본적이고 호환 가능한 접근 방식인mysql
셸에 초점을 맞추고 있습니다.
-
명령 프롬프트에서 다음 명령을 실행하여
mysql
셸을 시작하고 루트 사용자로 입력합니다:/usr/bin/mysql -u root -p
-
암호를 입력하라는 메시지가 표시되면 설치 시간에 설정한 암호를 입력하거나 설정하지 않은 경우 입력을 눌러 암호를 제출합니다.
다음
mysql
셸 프롬프트가 나타납니다:mysql>
루트 암호 설정
빈 암호를 입력하여 로그인하거나 설정한 루트 암호를 변경하려면 암호를 만들거나 변경할 수 있습니다.
-
mysql
셸에 다음 명령을 입력 합니다.:UPDATE mysql.user SET Password = PASSWORD('password') WHERE User = 'root';
mysql
셸에 다음 명령을 입력하고password
를 새 암호로 바꿉니다:UPDATE mysql.user SET authentication_string = PASSWORD('password') WHERE User = 'root';
-
변경 내용을 적용하려면 다음 명령을 사용하여 저장된 사용자 정보를 다시 로드합니다:
FLUSH PRIVILEGES;
참고:우리는 모든 대문자를 사용하고 있습니다. 소문자로 명령을 입력하면 작동합니다. 규칙에 따라 명령 필드 이름 및 조작 되는 다른 데이터에서 눈에 띄는 수 있도록 모든 대문자로 작성 됩니다.
나중에 루트 암호를 재설정해야 하는 경우 루트 암호 재설정을 참조하십시오.
사용자 보기
사용자 정보를 자체 데이터베이스에 저장합니다. 데이터베이스 이름을 지정합니다. 이 데이터베이스 내에서 사용자 정보는 사용자라는 이름의 테이블 인 아다타셋에 있습니다. 다음 명령을 실행합니다:
SELECT User, Host, authentication_string FROM mysql.user;
다음 목록에서는 해당 명령의 부분에 대해 설명합니다:
- 데이터를 요청하고 있음을 나타냅니다.를 선택합니다.사용자,호스트,인증 문자열은 어떤 필드를 보길 원하는지 알려줍니다. 필드는 테이블의 데이터에 대한 범주입니다. 이 경우 사용자 이름,사용자 이름과 관련된 호스트 및암호화 된 암호 항목.
- “사용자”는”사용자 테이블”과”사용자 테이블”에서 데이터를 가져 오도록 지시합니다.
- 세미콜론(;)명령을 종료합니다.
참고:모든 쿼리는 세미콜론으로 끝납니다. 세미콜론을 입력할 때까지 쿼리를 처리하지 않습니다.
사용자 호스트
다음 예는 앞의 쿼리에 대한 출력입니다:
SELECT User, Host, authentication_string FROM mysql.user;+------------------+-----------+-------------------------------------------+| User | Host | authentication_string |+------------------+-----------+-------------------------------------------+| root | localhost | *756FEC25AC0E1823C9838EE1A9A6730A20ACDA21 || mysql.session | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE || mysql.sys | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE || debian-sys-maint | localhost | *27E7CA2445405AB10C656AFD0F86AF76CCC57692 |+------------------+-----------+-------------------------------------------+
사용자는 호스트,특히 사용자가 연결하는 호스트와 연결됩니다.이 예제의 루트 사용자는 로컬 호스트,로컬 호스트 주소 및 서버의 호스트 이름에 대해 정의됩니다.일반적으로 하나의 호스트에 대해서만 사용자를 설정해야합니다.이 호스트는 일반적으로 연결됩니다.
응용 프로그램을 동일한 컴퓨터에서 실행하는 경우 기본적으로 연결하는 호스트는 로컬 호스트입니다. 새로 만드는 모든 사용자는 해당 호스트 필드에 로컬 호스트가 있어야 합니다.
응용 프로그램이 원격으로 연결되면 원격 컴퓨터의 호스트 이름을 찾습니다.
익명 사용자
예제 출력에서 한 항목에 호스트 값이 있지만 사용자 이름이나 암호는 없습니다.익명 사용자입니다. 클라이언트가 사용자 이름을 지정하지 않고 연결하면 익명 사용자로 연결하려고 합니다.
일반적으로 익명 사용자는 원하지 않지만 일부 사용자는 기본적으로 하나를 포함합니다. 당신이 하나를 볼 경우,당신은 사용자를 삭제해야 하나(빈 따옴표 사용자 이름 참조,같은”)또는 그것에 대한 암호를 설정.
데이터베이스 만들기
데이터베이스 서버와 데이터베이스 간에 차이가 있습니다. 즉,데이터베이스를 추적하고 데이터베이스 액세스를 제어합니다. 데이터베이스는 데이터를 저장합니다.
일부 응용 프로그램은 설치 프로세스의 일부로 데이터베이스를 만들지 만 다른 응용 프로그램은 데이터베이스를 직접 만들고 응용 프로그램에 대해 알려야합니다.
데이터베이스를 만들려면mysql
셸에 로그인하고 다음 명령을 실행하여demodb
를 만들 데이터베이스의 이름으로 바꿉니다:
CREATE DATABASE demodb;
데이터베이스를 만든 후 모든 데이터베이스를 나열하는 쿼리를 실행하여 데이터베이스를 만들 수 있는지 확인할 수 있습니다. 다음 예제에서는 쿼리 및 예제 출력을 보여 줍니다:
SHOW DATABASES;+--------------------+| Database |+--------------------+| information_schema || demodb || mysql |+--------------------+3 rows in set (0.00 sec)
데이터베이스 사용자 추가
루트 사용자를 사용하여 응용 프로그램이 데이터베이스에 연결되면 일반적으로 필요한 것보다 더 많은 권한을 갖습니다. 응용 프로그램이 새 데이터베이스에 연결하는 데 사용할 수 있는 사용자를 추가할 수 있습니다. 다음 예제에서는 사용자라는 사용자가 만들어집니다.
-
새 사용자를 만들려면
mysql
셸에서 다음 명령을 실행합니다:INSERT INTO mysql.user (User,Host,authentication_string,ssl_cipher,x509_issuer,x509_subject)VALUES('demouser','localhost',PASSWORD('demopassword'),'','','');
-
사용자 테이블을 변경할 때 다음과 같이 권한을 플러시하여 변경 내용을 읽도록 설정합니다:
FLUSH PRIVILEGES;
-
선택 쿼리를 다시 실행하여 사용자가 만들어졌는지 확인합니다:
SELECT User, Host, authentication_string FROM mysql.user;+------------------+-----------+-------------------------------------------+| User | Host | Password |+------------------+-----------+-------------------------------------------+| root | localhost | *756FEC25AC0E1823C9838EE1A9A6730A20ACDA21 || mysql.session | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE || mysql.sys | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE || debian-sys-maint | localhost | *27E7CA2445405AB10C656AFD0F86AF76CCC57692 || demouser | localhost | *0756A562377EDF6ED3AC45A00B356AAE6D3C6BB6 |+------------------+-----------+-------------------------------------------+
데이터베이스 사용자 권한 부여
새 사용자를 만든 직후에는 권한이 없습니다. 사용자는 로그인 할 수 있지만 데이터베이스를 변경하는 데 사용할 수 없습니다.
요약
데이터베이스와 사용자만 만드는 경우 완료됩니다. 여기에 포함 된 개념은 당신에게 더 많은 것을 배울 수있는 고체 시작을 제공해야합니다.1943>
- 우분투 운영 체제에서 서버 구성
- 루트 암호 재설정