mysql数据库密码
方法1: 用SET PASSWORD命令
首先登录MySQL。
格式:mysql> set password for 用户名??@localhost ?? = password('新密码');
例子:mysql> set password for root??@loc
1、修改数据库密码 方法1: 用SET PASSWORD命令 首先登录MySQL。 格式:mysql> set password for 用户名??@localhost ?? = password('新密码'); 例子:mysql> set password for root??@localhost ?? = password('123'); 方法2:用mysqladmin 格式:mysqladmin -u用户名 -p旧密码 password 新密码 例子:mysqladmin -uroot -p123456 password 123 方法3:用UPDATE直接编辑user表 首先登录MySQL。 mysql> use mysql; mysql> update user set password=password('123') where user='root' and host='localhost'; mysql> flush privileges; 方法4:在忘记root密码的时候 以windows为例 关闭正在运行的MySQL服务。打开DOS窗口,转到mysqlbin目录。输入mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了)Mysql修改密码,转到mysqlbin目录。输入mysql回车,如果成功,将出现MySQL提示符 >。连接权限数据库: use mysql; 。改密码:update user set password=password("123") where user="root";(别忘了最后加分号) 。刷新权限(必须步骤):flush privileges;。退出 quit。注销系统,再进入,使用用户名root和刚才设置的新密码123登录。 2、 MySQL8之前的安全策略 在MySQL 8.0之前,MySQL使用的是validate_password插件检测、验证账号密码强度,保障账号的安全 性。 安装/启用插件方式1:在参数文件my.cnf中添加参数 [mysqld] 说明1: plugin library中的validate_password文件名的后缀名根据平台不同有所差异。 对于Unix和 Unix-like系统而言,它的文件后缀名是.so,对于Windows系统而言,它的文件后缀名是.dll。 说明2: 修改参数后必须重启MySQL服务才能生效。 说明3: 参数FORCE_PLUS_PERMANENT是为了防止插件在MySQL运行时的时候被卸载。当你卸载插 件时就会报错。如下所示。 mysql> SELECT PLUGIN_NAME, PLUGIN_LIBRARY, PLUGIN_STATUS, LOAD_OPTION 安装/启用插件方式2:运行时命令安装(推荐) mysql> INSTALL PLUGIN validate_password SONAME 'validate_password.so'; 此方法也会注册到元数据,也就是mysql.plugin表中,所以不用担心MySQL重启后插件会失效。 3 、MySQL8的安全策略 MySQL 8.0,引入了服务器组件(Components)这个特性,validate_password插件已用服务器组件重新实 现。8.0.25版本的数据库中,默认自动安装validate_password组件。 未安装插件前,执行如下两个指令 ,执行效果: mysql> show variables like 'validate_password%'; 安装插件后,执行如下两个指令 ,执行效果: show variables like 'validate_password%'; +--------------------------------------+--------+ 关于 validate_password 组件对应的系统变量说明: 提示: 组件和插件的默认值可能有所不同。例如,MySQL 5.7. validate_password_check_user_name的默认 值为OFF。 修改安全策略 SET GLOBAL validate_password_policy=LOW; 注意,如果是插件的话,SQL为set global validate_password_policy=LOW此外,还可以修改密码中字符的长度set global validate_password_length=1; 4、密码强度测试 如果你创建密码是遇到“Your password does not satisfy the current policy requirements”,可以通过函数组 件去检测密码是否满足条件: 0-100。当评估在100时就是说明使用上了最基本的规则:大写+小写+特殊 字符+数字组成的8位以上密码 mysql> SELECT VALIDATE_PASSWORD_STRENGTH('medium'); 注意:如果没有安装validate_password组件或插件的话,那么这个函数永远都返回0。 关于密码复杂度对 应的密码复杂度策略。如下表格所示: 5、卸载插件、组件(了解) 卸载插件 mysql> UNINSTALL PLUGIN validate_password; 卸载组件 mysql> UNINSTALL COMPONENT 'file://component_validate_password'; (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |