重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
mysql的decode函数与oracle的decode函数是不一样的,mysql的decode函数是解密函数,与之对应的是encode函数。
十载的建德网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站的优势是能够根据用户设备显示端的尺寸不同,自动调整建德建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联公司从事“建德网站设计”,“建德网站推广”以来,每个客户项目都认真落实执行。
encode加密函数
decode解密函数
select encode('ddss','123');第一个参数为加密字符串、第二个参数为加密密码
MySQL 5.7中不推荐使用encode、decode函数,会在后续版本中删除,不再使用。
mysql中执行help encode或? functions,查看帮助信息。
mysql -uroot -p 输入密码回车后,出现如下图错误。这时候需要我们破解密码。
service mysqld stop //先停止mysql服务。
然后打开mysql配置文件/etc/my.cnf.在【mysqld】下面添加一行代码:skip-grant-tables。这行代码意思就是跳过跳过授权表,即是可以跳过密码验证直接进入数据库。
service mysqld restart //重启mysql数据库。假如不重启的话,不会生效。
mysql -uroot -p //此时直接回车,既可以进入数据库。
出现mysql就说明你已经进入到mysql数据库里了。
进数据库后,
use mysql //选择mysql这个库,因为mysql的root密码存放在这个数据库里。
show tables //查看下mysql库里有哪些表,我们需要操作的用户名密码都在user表里。
desc user //查看下user表有哪些字段
更改root密码。
update user set password=password('123456') where user="root"; //用户选root,可以随便更改成任意密码,我这里设置的123456,password()是mysql密码加密的一个函数。
flush privileges; //刷新下密码,使更改的生效。
exit //退出数据库。
退出数据库,重新登录
mysql -uroot -p //回车输入刚刚更改的密码,就能进去了。
然后再次进入配置文件vi /etc/my.cnf 把skip-grant-tables去掉。
在ORACLE数据库里decode函数实现的功能,于MySQL数据库里可以使用case when函数来替代;
MySQL数据库的decode函数是解密函数,它是加密函数encode的反函数,与ORACLE数据库里decode函数实现的功能完全不同。
ORACLE数据库里decode函数相当于MySQL数据库里的case when函数,只是前者看起来更加紧凑。