Debian mysql-server가 설치 전에 루트 비밀번호를 묻지 않습니다.

Debian mysql-server가 설치 전에 루트 비밀번호를 묻지 않습니다.

mysql-server를 설치했는데 루트 비밀번호를 묻지 않아서 이제 루트로 MySQL에 로그인할 수 없습니다. 또한 "mysql_secure_installation" 명령은 MySQL 계정이 아닌 MariaDB 데이터베이스 루트 계정을 보호하려고 한다는 것을 알았습니다. 며칠 동안 노력했지만 어느 누구도 나를 도와줄 수 없었습니다. 해결책은 무엇입니까? (데비안 9)

답변1

초기 설치 후에는 mysql_secure_installation루트 계정의 비밀번호를 설정하기 위해 실행해야 합니다.https://mariadb.com/kb/en/mariadb/mysql_secure_installation/

MariaDB 서버는 Debian 9에서 MySQL의 기본 포크입니다.

https://www.debian.org/releases/stretch/amd64/release-notes/ch-whats-new.en.html#mariadb-replaces-mysql

https://mariadb.com/resources/blog/mariadb-server-default-debian-9

Debian 9 "Stretch"에서 mysql-server패키지는 default-mysql-server. 이 패키지는 차례로 mariadb-server-10.1.

[..] Stretch에 패키지를 설치하면 mysql-server이전 버전의 Debian에서와 마찬가지로 MySQL 대신 MariaDB 10.1이 설치됩니다. 이는 mysql-server빈 전환 메타 패키지일 뿐이며 사용자는 실제 패키지를 사용하여 MariaDB를 설치하는 것이 좋습니다 mariadb-server.

원천:https://mariadb.com/kb/en/library/moving-from-mysql-to-mariadb-in-debian-9/

답변2

비밀번호 프롬프트 없이 일부 MySQL/MariaDB 명령이 실행되고 있는 것을 발견하고 뒤에서 어떤 비밀번호를 사용하고 있는지 알고 싶다면 데비안은 생성된 비밀번호를 다음 위치에 저장합니다./etc/mysql/debian.cnf

/etc/mysql# cat debian.cnf 
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host     = localhost
user     = debian-sys-maint
password = <random string>
socket   = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host     = localhost
user     = debian-sys-maint
password = <random string>
socket   = /var/run/mysqld/mysqld.sock
basedir  = /usr

답변3

mysql_secure_installation실행 후 사용할 모든 답변이 sudo apt install mysql-server작동하지 않는 mysql에 액세스할 수 없게 만드는 동일한 문제가 있었습니다. 효과가 있었던 방법은 다음과 같습니다.

  1. 이동공식 mysql 설치 가이드그리고 한 줄씩 따라가세요
  2. 다음에서 .deb 파일을 다운로드해야 합니다.여기설치하려는 mysql 버전과 기타 구성을 구성합니다.
  3. 구성이 모두 완료되면 실행하세요. sudo apt-get update && sudo apt-get install mysql-server이번에는 비밀번호를 묻는 메시지가 표시됩니다.

도움이 되길 바랍니다. 건배!

관련 정보