MySQL에 비밀번호없이 액세스 할 수 있습니다 위해 비밀번호를 갖고 싶지 않습니다.

MySQL의 비밀번호를 어떻게 삭제합니까? 데이터베이스에 연결하기 위해 비밀번호를 갖고 싶지 않습니다. 내 서버가 Ubuntu를 실행 중입니다.



답변

개인적으로 암호를 설정하고 /root/.my.cnf에 저장하는 것이 좋습니다.

먼저:

mysqladmin -u root password 'asdfghjkl'

그런 다음 루트의 .my.cnf 파일을 편집하십시오.

[client]
password = asdfghjkl

확인하십시오 chmod 0600 .my.cnf.

이제 비밀번호가 있지만 더 이상 프롬프트가 표시되지 않습니다. 내 기본 MySQL 서버 설치는 각 MySQL 서버에 대해 완전히 임의의 고유 암호이며 .my.cnf 파일에 이와 같이 저장됩니다.


답변

MySQL 용 비밀번호를 설정 한 경우, MySQL 루트 비밀번호 복구 의 지시 사항을 따른 후 비밀번호를 널로 설정하십시오.

5.7.6 이상

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass'

5.7.5 이하

update user set password=PASSWORD("") where User='root';

*이를 적용하려면 DB를 다시 시작해야합니다 (링크의 지침 참조).

sudo service mysql restart

답변

그렇습니다. 암호가 적을수록 좋습니다. 그러나 모든 사람을 위해 데이터베이스를 열지 마십시오.

unix_socket을 통해 :

grant usage on *.* to 'root'@'localhost' identified via unix_socket;

이것은 로컬로 로그인 한 루트 사용자에게 암호가없는 mysql 액세스를 제공합니다. Btw. 이것이 최근 우분투 / 데비안 릴리스의 기본값입니다.

some_user@box: mysql -u root  # denied
root@box: mysql               # good
some_user@box: sudo mysql     # good, if "some_user" has sudo rights.

설명 슬라이드 : https://www.slideshare.net/ottokekalainen/less-passwords-more-security-unix-socket-authentication-and-other-mariadb-hardening-tips .


답변

당신은 또한 할 수 있습니다 :

grant all privileges on *.* to 'root'@'localhost' identified by '';

답변

관리자가 로컬로 액세스하면 기본적으로 비밀번호가없는 것이 확실합니다. 당신은 그것과 다른 것을 찾고 있습니까?

이 작동합니까?

#> mysqladmin -u root password ''