MYSQL数据库密码字段临时加密问题?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MYSQL数据库密码字段临时加密问题?相关的知识,希望对你有一定的参考价值。
我的网站数据库要交给另一个人操作一下,别的不怕,我比较担心用户名密码泄露,用户密码是MD5加密的32位的字符串。
有什么简单的方法,可以临时加密一下密码字段,之后可以再还原回来。越简便越好。
我是一个论坛,十几万注册用户,我知道MD5是加密的,但还是有被破解出来的可能性。
已经加密过的用户密码,看MD5加密的复杂度,要还原的可能性还是极低的。
确保操作期间所有的用户不再登录的情况下,可以先备份该表,然后临时加密该表的密码字段。
可以用update 表名 set pwd = password(pwd) 来加密该字段。注:password()函数用的是不可逆的加密算法。等人家用完,你再还原该表就行了。 参考技术A 你是指mysql用户密码还是数据库表里用户资料的密码?
mysql用户密码本身就加密过的,数据库表里的用户密码加密还得通过应用程序来加密和解决,算法完全可以由你自己来写。 参考技术B 你给他操作的时候先修改密码,他操作结束后再改回自己的不就得了
yum安装mysql后root用户的临时密码
1.查看root用户临时随机密码
yum 安装mysql后,无法通过空密码登录数据库,如下:
1 [[email protected]123 mysql]# mysql -u root -p 2 Enter password: 3 ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: NO)
查找后,原来为了增加数据库的安全性,在安装时会为root用户生成一个临时的随机密码,存放在/var/log/mysqld.log 中。root用户的临时密码查看方法如下(红色标注部分就是其临时密码):
1 [[email protected]123 mysql]# grep ‘password‘ /var/log/mysqld.log |head -n 1 2 2017-06-17T02:01:01.026946Z 1 [Note] A temporary password is generated for [email protected]: XqWlxlV3p.a8 3 [[email protected] mysql]# mysql -u root -p 4 Enter password: 5 Welcome to the MySQL monitor. Commands end with ; or \g. 6 Your MySQL connection id is 31169 7 Server version: 5.7.18
2.修改root用户密码
使用临时密码登录数据库后,mysql会提示你修改临时密码,否则无法使用,如下:
1 mysql> show databases; 2 ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
使用ALTER USER命令修改用户:(本人未使用,在此附上链接,以便以后方便查看)
http://blog.csdn.net/ziwen00/article/details/8460754
ALTER USER格式如下:
alter user [用户名] indentified by [新密码];
修改root的密码,使用了如下方法,三步完成密码密码的更改:
mysql> set password(‘123455‘); #红色部分是新密码
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
#提示信息:密码不适应当前的密码策略的要求,具体的原理不在这里阐述,可以参见安装MySQL5.6新建用户并创建密码时总是提示密码不符合要求:ERROR 1819 (HY000): Your password does NOT..解决
#解决方法:这里我们可以参考为root用户生成的密码的格式【大小写字母+数字——特殊符号】
mysql> ALTER USER ‘root‘@‘localhost‘ PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
使用新密码可以登录到数据库。
3.配置数据库的远程连接
1 mysql>CREATE USER ‘root‘@‘%‘ IDENTIFIED BY ‘您的密码‘; 2 # 增加root用户指定可以任意IP登录,如果想限制只能让指定IP登录请把%替换成IP地址 3 4 mysql>GRANT ALL PRIVILEGES ON * . * TO ‘root‘@‘%‘ IDENTIFIED BY ‘你的密码‘ WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; 5 #给新添加的root增加权限
以上是关于MYSQL数据库密码字段临时加密问题?的主要内容,如果未能解决你的问题,请参考以下文章