programing

Windows에 설치하지 않고 MySQL 실행/시작

testmans 2023. 9. 2. 08:05
반응형

Windows에 설치하지 않고 MySQL 실행/시작

일반적으로 Windows용 MySQL msi 설치 관리자를 다운로드하여 설치한 후 설치 단계 내에서 데이터베이스를 구성하고 만들었습니다.그런 다음 원하는 애플리케이션/언어를 사용하여 연결하고 거기서 시작합니다.


저는 msi instra를 사용하지 않고 동일한 결과에 도달하고 싶습니다. 대신 제공된 MySQL 아카이브를 사용하고 싶습니다. 그래서,

  • 다운로드했습니다(MySQL Community Server => Windows(x86, 64비트), ZIP Archive mysql-5.7.17-winx64.zip).
  • 보관 파일의 압축을 풉니다.

Windows 명령줄을 통해 다운로드한 서버 파일을 사용하여 데이터베이스를 만들고 관리하는 방법을 알고 싶습니다.

대부분의 검색 시도는 msi 설치가 이루어졌거나 MySQL 기본 사항을 여전히 배우려는 사람에게 너무 복잡하다고 가정하는 결과를 산출합니다.

TL;DR: 명령줄을 통해 창에서 MySQL 서버 아카이브 파일을 사용하여 데이터베이스를 만들고 관리하려면 어떻게 해야 합니까?

Ryan Vincent의 코멘트 덕분입니다.MySQL 참조 문서의 단계를 따를 수 있었습니다(어떤 이유에서인지 이 질문을 하기 전에 검색한 결과 찾을 수 없었습니다).

참조 문서: 2.3.5 설치 안 함 Zip 아카이브를 사용하여 Microsoft Windows에 MySQL 설치

단순화된 단계

  1. MySQL Community Server 5.7.17 Windows(x86, 64비트), ZIP 아카이브 다운로드

  2. 파일의 을 풉니다( MySQL Server Archive, MySQL 서버 Archive, MySQL 서버 아카이브).D:\mysql\mysql-5.7.17-winx64)

  3. MySQL파일에 MySQL "Data files").D:\mysql\mydb)

  4. 로깅을 예: MySQL 데이터베이스 로깅)D:\mysql\logs)

  5. 파일 MySQL 파일)을 .D:\mysql\config.ini)

    # 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
    
    # These are commonly set, remove the # and set as required.
    # basedir = .....
    # datadir = .....
    # port = .....
    # server_id = .....
    
    
    # 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 
    
    sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
    # set basedir to your installation path
    basedir = "D:\\mysql\\mysql-5.7.17-winx64"
    # set datadir to the location of your data directory
    datadir = "D:\\mysql\\mydb"
    # The port number to use when listening for TCP/IP connections. On Unix and Unix-like systems, the port number must be
    # 1024 or higher unless the server is started by the root system user.
    port = "55555"
    # Log errors and startup messages to this file.
    log-error = "D:\\mysql\\logs\\error_log.err"
    
    [mysqladmin]
    
    user = "root"
    port = "55555"
    
    • 선택한 포트는 55555입니다.
    • [mysqld]mysqld이 파일을 때. mysqld.exe는 파일 이름이 mysqld.exe입니다.
    • [mysqladmin]sqladmin.sqladmin.exe 옵션은 sqladmin.sqladmin exe.가 이 파일을 됩니다.exe는 이 구성 파일을 읽습니다.
  6. Windows Batch File/Command Prompt를 사용하여 MySQL 데이터베이스 파일 초기화(오류가 발생하면 C++ 재배포가 필요할 수 있음)

    "D:\mysql\mysql-5.7.17-winx64\bin\mysqld.exe" --defaults-file="D:\\mysql\\config.ini" --initialize-insecure --console
    
  • 구성 파일에 지정된 위치에 데이터베이스 파일을 만듭니다.
    • 암호가 없는 루트 사용자가 있을 것입니다.
    • 현재 콘솔 창에 오류 메시지가 인쇄됩니다.
  1. MySQL 데이터베이스 서버를 시작할 배치 파일 만들기

    "D:\mysql\mysql-5.7.17-winx64\bin\mysqld.exe" --defaults-file="D:\\mysql\\config.ini"
    
    • 이것은 읽을 것입니다.[mysqld](파일 이름: "/group")D:\mysql\config.ini및된 옵션을 하여 MySQL 서버를 시작합니다. 및 여기서 지정된 옵션을 사용하여 MySQL 데이터베이스 서버를 시작합니다.
  2. MySQL 데이터베이스 서버를 종료할 배치 파일 만들기

    "D:\mysql\mysql-5.7.17-winx64\bin\mysqladmin.exe" --defaults-file="D:\\mysql\\config.ini" shutdown
    
    • 이것은 읽을 것입니다.[mysqladmin](파일 이름: "/group")D:\mysql\config.ini및된 옵션을 서버를 합니다. 및 여기에 지정된 옵션을 사용하여 MySQL 데이터베이스 서버를 지정하고 종료합니다.
  3. 이제 데이터베이스를 시작하여 액세스하고 필요하지 않을 때 데이터베이스를 종료할 수 있습니다.

고지 사항 이러한 단계는 MySQL 데이터베이스를 시작하는 데 도움이 되며 운영을 위해 의도되거나 안전한 것은 아닙니다. (루트 사용자는 아직 암호도 설정하지 않았습니다.)

리소스 및 자세한 정보

  1. 참조 문서: 2.3.5 설치 안 함 Zip 아카이브를 사용하여 Microsoft Windows에 MySQL 설치
  2. 참조 문서: 5.2.6 옵션 파일 사용
  3. 참조 문서: 5.2.3 프로그램 옵션 지정
  4. 참조 문서: 6.1.4 서버 명령 옵션
  5. [추가] 참조 문서: 5.6 단일 시스템에서 여러 MySQL 인스턴스 실행
  6. 루트 암호 변경 단계

위의 답변은 상당히 구식이며 혼동할 수 있는 정보를 너무 많이 제공합니다.

Windows에서 DB를 최대한 빨리 실행하려는 8.0.26 이상 버전 사용자를 위해 더욱 단순화된 단계는 다음과 같습니다.

  1. 원하는 설치 디렉토리에 기본 보관 파일을 추출합니다(C:\mysql이 안전한 기본 선택임).

  2. 데이터 디렉토리를 초기화합니다.최근 mysql 배포에 포함되어 있지 않습니다.C:\mysql\bin으로 이동하여 다음을 입력합니다.

    mysqld --initialize --message

줄에서 암호를 저장합니다.

2021-11-03T21:33:13.455063Z6 [참고] [MY-010454] [서버] root@localhost에 대한 임시 비밀번호 생성: yIQ_4Ra2Q9g)

  1. bin 디렉토리에서 db 실행

    mysqld --skld --skld.

  2. 할당된 임의 암호를 변경합니다.별도의 cmd 창을 열고 연결합니다.

    mysql -u root -p

3번 지점부터 임시 암호를 입력합니다.'root'은 기본 mysql 사용자 이름입니다.그런 다음 다음을 입력합니다.

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root-password';

"root-password"는 사용자 자신의 암호로 대체해야 합니다.

이제 mysql -u root -p를 다시 시도하여 새 암호가 작동하는지 또는 다른 클라이언트와 연결하는지 확인할 수 있습니다.

저는 일반적으로 여기에 설명된 단계를 따랐지만 모든 것이 일치하지는 않습니다.

또한 "mysqld: MySQL 응용 프로그램이 Windows 이벤트 로그에 기록하는 데 필요한 레지스트리 키를 만들거나 액세스할 수 없습니다."라는 메시지가 표시될 경우키를 만들거나, 수동으로 키를 추가하거나, 해당 응용 프로그램에 대한 로깅을 해제할 수 있는 충분한 권한으로 응용 프로그램을 한 번 실행하십시오." 오류 - 6, 7단계에 다음 행을 추가합니다. --log_message=0

Sero의 답변 외에도, 이 링크에 따라 루트 암호를 변경할 경우, 아래 명령을 사용하여 암호를 지정하여 서버에 연결, 시작,

1. change password
    .\bin\mysql -P 55555 -u root --skip-password
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'root123';

2. stop mysql server
    .\bin\mysqladmin --defaults-file=.\config.ini -u root --password=root123 shutdown 

3. start mysql server
    .\bin\mysqld.exe --defaults-file=.\config.ini

4. connecting to mysql
    .\bin\mysql -P 55555 -u root --password=root123

참고: 암호를 지정하지 않고 명령에 --password 인수만 지정하면 터미널에 암호를 입력하라는 메시지가 표시됩니다.

간단한 방법으로 설명된 모든 단계를 여전히 찾고 있는 모든 사람들을 위한 답은 다음과 같습니다.

여기 제가 다운로드한 ZIP 파일이 있습니다: mysql-8.0.30-winx64.지퍼를 잠그다

다음은 Windows에서 처음으로 MySQL Server(mysql-8.0.30-winx64)를 설치하지 않고 시작하는 단계입니다.

  1. MySQL 설치 디렉토리(즉, "bin" 디렉토리가 있는 위치와 동일한 위치)에 "data"라는 이름의 새 폴더를 만듭니다.저는 C:\programs\mysql-8.0.30-winx64입니다.이 위치는 MySQL zip 파일을 추출한 위치에 따라 달라집니다.)
  2. 여기서 MySQL 폴더 위치를 참조로 사용합니다.C:\programs\mysql-8.0.30-winx64\bin으로 이동하여 다음 명령을 실행합니다.mysqld --initialize-insecure또는mysqld --initialize서버가 'root'@'localhost' 계정에 대해 임의의 초기 암호를 생성하지 않도록 할지(또는) 결정합니다.
  3. DB를 시작하려면 C:\programs\mysql-8.0.30-winx64\bin으로 이동하여 실행합니다.mysqld --console인쇄 중인 시작 로그를 볼 수 있습니다.
  4. DB에 연결하려면 C:\programs\mysql-8.0.30-winx64\bin으로 이동하여 실행합니다.mysql -u root -p메시지가 나타나면 암호가 설정된 경우 암호를 입력하거나 "입력" 버튼을 눌러 연결합니다.

이 단계는 Windows 10 및 Windows 7(윈도우 7)에서 작동합니다.

또한 블로그 게시물의 GitHub에서 작동 코드가 있는 MySQL 데이터베이스를 사용하여 이러한 단계와 앱을 작성했습니다.다음을 확인하십시오. https://softwaredevelopercentral.blogspot.com/p/mysql-issues-and-resolution-1.html

언급URL : https://stackoverflow.com/questions/42045494/running-starting-mysql-without-installation-on-windows

반응형