想知道linux下怎么修改密码吗?下面由我为大家整理了linux mysql修改密码命令,希望大家喜欢!
linux mysql修改密码命令
1.修改root密码
linux mysql修改密码命令方法1:使用mysqladmin命令
--适用于记得root旧密码,修改root密码
语法:
mysqladmin -u用户名 -p旧密码 password 新密码
例如:
# mysqladmin -u root -proot password mysql
--注意:如当旧密码输入错误时会报如下错误
# mysqladmin -u root -proot1 password mysql
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: YES)'
linux mysql修改密码命令方法2:直接更新user表password字段
--适用于忘记root密码,而对root密码进行重置
Step 1: 修改MySQL的登录设置
# vi /etc/my.cnf
--windows系统是my.ini文件
--在[mysqld]的段中加上一句:skip-grant-tables,如没有[mysqld]字段,可手动添加上
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-name-resolve
skip-grant-tables
Step 2: 重新启动mysql
[root@gc ~]# service mysql restart
Shutting down MySQL..[确定]
Starting MySQL...[确定]
Step 3: 登录并修改MySQL的root密码
--此时直接用mysql即可无需密码即可进入数据库了
[root@gc ~]# mysql
Welcome to the MySQL monitor. Commands end with or \g.
Your MySQL connection id is 2
Server version: 5.5.24 MySQL Community Server (GPL)
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help' or '\h' for help. Type '\c' to clear the current input statement.
mysql>use mysql
Database changed
mysql>update user set password=password('new_password') where user='root'
Query OK, 5 rows affected (0.00 sec)
Rows matched: 5 Changed: 5 Warnings: 0
mysql>flush privileges
Query OK, 0 rows affected (0.00 sec)
--注意:如果没做step1,直接用mysql登录时会报如下错误
[root@gc ~]# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Step 4: 将MySQL的登录设置修改回来
再删除/etc/my.cnf文件中的skip-grant-tables
Step 5: 重新启动mysql
[root@gc ~]# service mysql restart
Shutting down MySQL..[确定]
Starting MySQL...[确定]
2.修改mysql其它用户密码
同样,普通用户也可以用上面的方法
--使用mysqladmin命令
[root@njdyw ~]# mysqladmin -u user1 -ppass1 password pass2
--直接修改数据库表
[root@njdyw ~]# mysql -u user1 -ppass1 –Dmysql
mysql>update user set password=password('pass2') where user='user1'
mysql>flush privileges
(1)Linux系统在SSH中执行下面的命令即可将MySQL密码重置为diavps
复制代码
代码如下:
rm
-f
reset-mysql-root-password.phps
wget
http://down.hostwiki.info/mysql/reset-mysql-root-password.phps
php
reset-mysql-root-password.phps
diavps
注意不要在带有管理面板(如Kloxo或DA)的环境中使用这个方法重置。
脚本中第13行中的以安全模式启动MySQL的命令会因MySQL安装路径不同而不同。
脚本中使用的mysql服务名称为mysqld,部分系统中该服务名可能为mysql,请注意修改。
(2)Windows系统
1、首先停止正在运行的MySQL进程
net
stop
mysql
如未加载为服务,可直接在进程管理器中进行关闭。
2、以安全模式启动MySQL
在命令行下运行
X:/MySQL/bin/mysqld-nt.exe
--skip-grant-tables
3、完成以后就可以不用密码进入MySQL了
X:/MySQL/bin/mysql
-u
root
-p
提示输入密码时直接回车即可。
4、更改密码
>use
mysql
>update
user
set
password=password("新密码")
where
user="root"
>flush
privileges
5、启动MySQL
在任务管理器里关闭所有MySQL的进程,使用下面的命令启动。
net
start
mysql
或者
初次修改密码时,需要注意的是密码中需要含有字母、数字、特殊字符 (要含有大小字母且长度不能小于8)
关于 mysql 密码策略相关参数;
1)、validate_password_length 固定密码的总长度;
2)、validate_password_dictionary_file 指定密码验证的文件路径;
3)、validate_password_mixed_case_count 整个密码中至少要包含大/小写字母的总个数;
4)、validate_password_number_count 整个密码中至少要包含阿拉伯数字的个数;
5)、validate_password_policy 指定密码的强度验证等级,默认为 MEDIUM;
关于 validate_password_policy 的取值:
0/LOW:只验证长度;
1/MEDIUM:验证长度、数字、大小写、特殊字符;
2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;
6)、validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)