Ubuntu 18.10.1

Mysql 5.7.26-0

安装mysql

apt-get install mysql-server

安装完可以直接使用,但是新版本在安装过程中没有提示设置root用户密码,使用如下方法设置:

sudo mysql_secure_installation

过程中提示是否开启 VALIDATE PASSWORD PLUGIN,就是设置密码强度检查,自行选择:

VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin? Press y|Y for Yes, any other key for No:

如果后面要再修改,可以去 /etc/mysql/my.cnf 里面增加:

validate_password=OFF

选择是的话会让你选择等级:

LOW    Length >=
MEDIUM Length >= , numeric, mixed case, and special characters
STRONG Length >= , numeric, mixed case, special characters and dictionary file Please enter = LOW, = MEDIUM and = STRONG:

然会会让你输入root密码,注意一定要符合上面你选择的要求:

Please set the password for root here.

New password: 

Re-enter new password: 

输入完之后会显示你的密码的安全性,并提示你是否确认使用这个:

Estimated strength of the password:
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y

之后就是一些其他方面的设置。。。

最后注意会提示你是否重新加载权限表格:

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.

以上设置完成后发现还是无法使用,采用如下方法:

mysql> select Host,User,plugin,authentication_string from user;
+-----------+------------------+-----------------------+-------------------------------------------+
| Host | User | plugin | authentication_string |
+-----------+------------------+-----------------------+-------------------------------------------+
| localhost | root | auth_socket | |
| localhost | mysql.session | mysql_native_password | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| localhost | mysql.sys | mysql_native_password | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| localhost | debian-sys-maint | mysql_native_password | *9FD2128DA457CDBF327277BA59C9DE1BAFA88816 |
+-----------+------------------+-----------------------+-------------------------------------------+
4 rows in set (0.00 sec)

发现root用户的认证方式是:auth_socket

它只检查用户是否使用套接字进行连接,然后比较用户名,并没有密码验证。

所以我们要修改plugin,并设置密码。

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';

注意这两个操作必须一条命令执行,先更改插件然后设置密码将不起作用,它将再次回退到auth_socket。

如果你设置密码的时候提示了以下错误:

ERROR  (HY000): Your password does not satisfy the current policy requirements

需要注意你的密码策略等级。

mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password_check_user_name | OFF |
| validate_password_dictionary_file | |
| validate_password_length | 8 |
| validate_password_mixed_case_count | 1 |
| validate_password_number_count | 1 |
| validate_password_policy | MEDIUM |
| validate_password_special_char_count | 1 |
+--------------------------------------+--------+
7 rows in set (0.31 sec)
其中各字段意思如下:
  • validate_password_length  固定密码的总长度;
  • validate_password_dictionary_file 指定密码验证的文件路径
  • validate_password_mixed_case_count  整个密码中至少要包含大/小写字母的总个数
  • validate_password_number_count  整个密码中至少要包含阿拉伯数字的个数;
  • validate_password_policy 指定密码的强度验证等级,默认为 MEDIUM;
    • 0/LOW:只验证长度;
    • 1/MEDIUM:验证长度、数字、大小写、特殊字符;
    • 2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;
  • validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;

我们可以修改等级:

mysql> set global validate_password_policy=LOW;

当然其他字段也可以直接修改,总之设置密码时需要与其匹配。

至此root密码设置成功。

Linux 上安装 Mysql 设置root密码问题的更多相关文章

  1. linux上安装mysql以后root不能登录的解决办法

    今天心血来潮在linux上装了mysql,装完以后用命令mysql -uroot -p登录时提示 解决办法: 使用ps aux|grep mysql 查出pid 使用kill pid结束mysql进程 ...

  2. 怎样在 Ubuntu Linux 上安装 MySQL

    本教程教你如何在基于 Ubuntu 的 Linux 发行版上安装 MySQL.对于首次使用的用户,你将会学习到如何验证你的安装和第一次怎样去连接 MySQL. -- Sergiu MySQL 是一个典 ...

  3. linux上安装 mysql

    一.linux 上安装 mysql 1.查看mysql是否安装 rpm -qa|grep mysql 2.卸载 mysql yum remove mysql mysql-server mysql-li ...

  4. MySQL 设置root密码报错:mysqladmin: connect to server at 'localhost' failed

    MySQL 设置root密码报错:mysqladmin: connect to server at 'localhost' failed 1.安装完MySQL设置root密码报错如下 [root@vm ...

  5. 在linux上安装MySQL数据库,并简单设置用户密码,登录MySQL

    在新装的Centos系统上安装MySQL数据库. <p><a href="http://www.cnblogs.com/tijun/">提君博客原创< ...

  6. MySQL安装后设置root 密码

    Mysql安装完成后初始化root 密码为空,直接回车 使用命令行: mysqladmin -u root password "123456" 来设置root密码.这里我设置的密码 ...

  7. linux上安装mysql,tomcat,jdk

    Linux 上安装 1 安装jdk 检测是否安装了jdk 运行 java –version 若有 需要将其卸载 a)         查看安装哪些jdk rmp –qa |grep java b)   ...

  8. Linux上安装mysql,实现主从复制

    MYSQL(mariadb) MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可.开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的 ...

  9. 【网站建设】Linux上安装MySQL - 12条命令搞定MySql

    从零开始安装mysql数据库 : 按照该顺序执行 :  a. 查看是否安装有mysql:yum list installed mysql*, 如果有先卸载掉, 然后在进行安装; b. 安装mysql客 ...

随机推荐

  1. php一些实用的自制方法

    时间戳转多久之前 function mdate($time = NULL) { $text = ''; $time = $time === NULL || $time > time() ? ti ...

  2. Python - 将iterable拆分成等长的数据块

    说明 看文档发现一个有趣的应用(利用zip函数) 例如[1, 2, 3, 4] --> [(1, 2), (3, 4)],拆分成长度为2的数据块 Code >>> a = [1 ...

  3. sql注入基础知识

    信息安全概论课堂作业 SQL注入之万能密码漏洞 第一道题是牵扯到了万能密码漏洞 用户名先输入个’ 返回了sql报错语句,猜测存在sql注入漏洞 使用万能密码测试 登陆成功 原理 假设登录框处的判断代码 ...

  4. java读/写文件

    读取文件参考:https://blog.csdn.net/weixin_42129373/article/details/82154471 写入文件参考:https://blog.csdn.net/B ...

  5. 转载:initcall

    转自:http://blog.chinaunix.net/uid-29570002-id-4387097.html Linux系统启动过程很复杂,因为它既需要支持模块静态加载机制也要支持动态加载机制. ...

  6. IDEA 自定义注释模板 支持设置多个param参数

    在使用IDEA过程中,很多人可能感觉自带注释太简约了,想增加一些属性,比如作者.创建时间.版本号等等,这个时候我们可以使用自定义的注释模板来实现我们需求,话不多说直接进入如何自定义模板设置: 打开设置 ...

  7. sublime不支持ascill编码办法

    1.按下组合键ctrl+shift+p,输入:install package,回车 2.在弹出的安装包框中搜索:ConvertToUTF8或者GBK Encoding Support,选择点击安装: ...

  8. Appium-测试失败后获取屏幕截图的方法

    最近一直在研究appium,偶尔的机会发现断言后获取屏幕截图.觉得这个方法不错,分享给大家 这样以后在遇到断言,想截图错误屏幕的时候,能够用的上. 1.首先需要2个类,一个是测试类(TestDropL ...

  9. django ForeignKey ManyToMany 前后端联动

    总结 外键基本和普通的字段是一样的 多对多 获取 getlist() 更新 clear() add() remove() 前端和后端是通过字符串沟通的,所以使用ajax的时候如果是数据类型,记得要JS ...

  10. 关于原生,webapp,hybird(混合)

    链接:https://www.jianshu.com/p/839748d571b2 链接2:https://www.jianshu.com/p/6d5f32aa5dda