mysql5.7 安装后无法设置密码
PHP中文网
PHP中文网 2017-04-17 16:43:20
0
3
836

版本以及操作系统:Server version: 5.7.17-0ubuntu0.16.04.1 (Ubuntu-server)

尝试直接apt-get install mysql-server,安装过程中弹出让输入密码的框都直接回车。

安装好之后,输入mysql可以直接登陆数据库,尝试用mysqladmin -u root password "password"``来设置密码,弹出两条警告:

$ mysqladmin -u root password "123"
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.

再次尝试登陆,还是可以直接输入mysql登陆(尝试过重启数据库)。

第二次尝试登陆进数据库,使用update mysql.user set authentication_string=PASSWORD('123123') where user='root';设置,然后刷新权限flush privileges;

再次尝试登陆,还是不用输任何密码就可以登陆成功(有重启数据库)

那么,现在问题来了:

我要怎样才能成功的给数据库设个密码呢?(除了在安装时弹出框里输入)

PHP中文网
PHP中文网

认证高级PHP讲师

모든 응답(3)
Ty80

공식 문서에는 여기에 팁이 있습니다. 팁에 따라 읽을 수 있습니다.
https://dev.mysql.com/doc/mys...
MySQL 5.7에만 해당: 초기 시작 중 서버의 데이터 디렉토리가 비어 있다고 가정하면 다음과 같은 상황이 나타납니다.
서버가 초기화되었습니다.
SSL 인증서와 키 파일은 데이터 디렉터리에 생성됩니다.
validate_password 플러그인이 설치되어 활성화되었습니다.
'root'@'localhost'는 슈퍼유저 계정을 만듭니다. 수퍼유저 비밀번호가 설정되어 오류 로그 파일에 저장됩니다. 이를 표시하려면 다음 명령을 사용하십시오.
shell> sudo grep '임시 비밀번호' /var/log/mysqld.log
생성된 임시 비밀번호를 사용하여 슈퍼유저로 로그인하세요. account 사용자 정의 비밀번호를 설정하고 가능한 한 빨리 루트 비밀번호를 변경하세요: mysql -uroot -p
mysql> 'root'@'localhost' ID는 'MyNewPass4!';
참고
MySQL의 verify_password 플러그인이 기본적으로 설치됩니다. 이를 위해서는 비밀번호에 대문자 1개, 소문자 1개, 숫자 1개, 특수 문자 1개 이상이 포함되어야 하며, 총 비밀번호 길이는 8자 이상이어야 합니다.

PHPzhong

mysql_secure_installion을 사용해 보세요

左手右手慢动作

귀하의 계정에는 빈 계정이 있어야 하며 이 빈 계정에 대한 비밀번호를 삭제하거나 설정하지 않았습니다.
mysql.user에서 user='';플러시 권한;
또는
업데이트에서 삭제하세요. mysql.user set 인증_string=PASSWORD('123123');권한 플러시;

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿