mysql5.7 安装后无法设置密码
问题描述
版本以及操作系统: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;
再次尝试登陆,还是不用输任何密码就可以登陆成功(有重启数据库)
那么,现在问题来了:
我要怎样才能成功的给数据库设个密码呢?(除了在安装时弹出框里输入)
问题解答
回答1:官方文档这里有提示,你根据提示看看https://dev.mysql.com/doc/mys...仅对于MySQL 5.7:在服务器的初始启动时,出现以下情况,假定服务器的数据目录为空:服务器已初始化。SSL证书和密钥文件在数据目录中生成。该 validate_password插件安装并启用。’root’@’localhost’ 创建 超级用户帐户。超级用户的密码被设置并存储在错误日志文件中。要显示它,请使用以下命令:shell> sudo grep ’temporary password’ /var/log/mysqld.log通过使用生成的临时密码登录并为超级用户帐户设置自定义密码,尽快更改root密码:shell> mysql -uroot -p mysql> ALTER USER ’root’@’localhost’ IDENTIFIED BY ’MyNewPass4!’;注意默认情况下 安装MySQL的 validate_password插件。这将要求密码至少包含一个大写字母,一个小写字母,一个数字和一个特殊字符,并且总密码长度至少为8个字符。
回答2:试试使用 mysql_secure_installion
回答3:你的账号里面应该是有空账号 你并没有删除或者为这个空账号设置密码delete from mysql.user where user=’’;flush privileges;或者update mysql.user set authentication_string=PASSWORD(’123123’);flush privileges;
相关文章:
1. android - Manifest.xml自己生成的GMS服务怎么删掉呢?2. java - git项目迁移到SVN怎么实现的?哪位大神指点指点3. css - 手机app中rem的基准值计算错误4. php如何单独提取出不满足条件的字符串5. 绘制图表的问题6. ThinkPHP5实战之教学系统7. 为什么要通过常量的方式拐弯抹角的写呢,直接写DSN之类的不好吗8. 关于thinkphp 5.1中,ajax提交数据url的格式写法,加花括号就出错,请老师指点9. 大佬们,这个连接数据库的哪里错了,登录后台进不去10. 站点内容复制额外增加的版权申明,真的很反人类。试问产品自己在用这个站点吗?

网公网安备