您现在的位置是:亿华云 > 数据库
MySQL 5.7版本新特性(三)
亿华云2025-10-09 01:26:44【数据库】1人已围观
简介本文将和大家一起分享下5.7的新特性,不过我们要先从即将被删除的特性以及建议不再使用的特性说起。根据这些情况,我们在新版本及以后的版本中,应该不再使用,避免未来产生兼容性问题。本文是基于MySQL-5
本文将和大家一起分享下5.7的版本新新特性,不过我们要先从即将被删除的特性特性以及建议不再使用的特性说起。根据这些情况,版本新我们在新版本及以后的特性版本中,应该不再使用,版本新避免未来产生兼容性问题。特性
本文是版本新基于MySQL-5.7.7-rc版本,未来可能 还会发生更多变化。特性本节开始讲5.7版本中的版本新新特性。
1、特性安全性
a. 用户表 mysql.user 的版本新 plugin字段不允许为空, 默认值是特性 mysql_native_password,而不是版本新 mysql_old_password,不再支持旧密码格式;
b. 增加密码过期机制,特性过期后需要修改密码,云服务器版本新否则可能会被禁用,或者进入沙箱模式;
c. 使用 mysql_install_db 初始化时,默认会自动生成随机密码,并且不创建除 root@localhost 外的其他账号,也不创建 test 库;
【新特性实践】
执行 mysql_install_db 进行新实例初始化:
[yejr@imysql.com]# ./bin/mysql_install_db --user=mysql --datadir=/data/mysql/ 2015-06-24 13:55:29 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize 2015-06-24 13:55:38 [ERROR] Child process: /opt/17173_install/mysql-5.7.7-rc-linux-glibc2.5-x86_64/bin/mysqld terminated prematurely with errno= 32 2015-06-24 13:55:38 [ERROR] Failed to execute /opt/17173_install/mysql-5.7.7-rc-linux-glibc2.5-x86_64/bin/mysqld --bootstrap --datadir=/data/mysql --lc-messages-dir=/usr/share/mysql --lc-messages=en_US -- server log begin -- mysqld: [Warning] --bootstrap is deprecated. Please consider using --initialize instead -- server log end --可以看到提示 mysql_install_db 已经不再推荐使用了,建议改成 mysqld --initialize 完成实例初始化。
改成 mysqld --initialize 后,如果 datadir 指向的目标目录下已经有数据文件,则会有类似提示:
[yejr@imysql.com]#./bin/mysqld --user=mysql --basedir=/opt/17173_install/mysql-5.7.7-rc-linux-glibc2.5-x86_64/ --datadir=/data/mysql --initial --initialize-insecure 2015-06-24T06:05:05.533588Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting. 2015-06-24T06:05:05.533627Z 0 [ERROR] Aborting因此,需要先确保 datadir 目标目录下是空的,避免误操作破坏已有数据。
另外,在初始化时如果加上 --initial-insecure,则会创建空密码的 root@localhost 账号,否则会创建带密码的 root@localhost 账号,密码直接写在 log-error 日志文件中(在5.6版本中是放在 ~/.mysql_secret 文件里,源码下载更加隐蔽,不熟悉的话可能会无所适从)
[yejr@imysql.com]#./bin/mysqld --user=mysql --basedir=/opt/17173_install/mysql-5.7.7-rc-linux-glibc2.5-x86_64/ --datadir=/data/mysql --initial 2015-06-24T06:14:31.458905Z 0 [Warning] Insecure configuration for --secure-file-priv: Current value does not restrict location of generated files. Consider setting it to a valid, non-empty path.初始化完毕后,如果没使用新版本的客户端登入,还会报告类似下面的错误:
mysql -uroot -p Enter password: ERROR 1862 (HY000): Your password has expired. To log in you must change it using a client that supports expired passwords.上面的错误提示意思是需要用当前版本的客户端登入,因为新用户登入后需要立刻修改密码,否则无法继续后续的工作:
[(root@imysql.com)]>use mysql ERROR 1820 (HY000): You must SET PASSWORD before executing this statement [(root@imysql.com)]>set password = password(abcd); Query OK, 0 rows affected, 1 warning (0.00 sec)修改完密码后,就可以继续使用旧版本的客户端工具了。
下一期,我们讲讲5.7的其他新特性。
参考资料:
官方文档:1.4 What Is New in MySQL 5.7
整理的比较仓促,若有遗漏或失误,请留言回复,谢谢!
b2b信息网很赞哦!(1)
相关文章
- 众所周知,com域名拥有最大的流通市场和流通历史。最好选择com域名,特别是在购买域名时处理域名。其次可以是cn域名、net域名、org域名等主流域名,现在比较流行的王域名和顶级域名,都是值得注册和投资的。
- 一篇文章带你了解JavaScript cookies
- 使用attrs来告别Python中的样板
- 2021年拥抱五个软件开发趋势
- 为了避免将来给我们的个人站长带来的麻烦,在选择域名后缀时,我们的站长最好省略不稳定的后缀域名,比如n,因为我们不知道策略什么时候会改变,更不用说我们将来是否还能控制这个域名了。因此,如果站长不是企业,或者有选择的话,如果不能选择域名的cn类,最好不要选择它。
- 架构整洁之道,看这一篇就够了!
- Linux下的进程间通信:共享存储
- 一次Zookeeper bug排查之旅 论程序员曾遇到关于性能的那些事
- 在更换域名后,并不是就万事大吉了,我们需要将旧域名做301重定向到新域名上,转移旧域名的权重到新域名上。
- 神州信息自主研发全新一代平台级产品“企业级微服务平台Sm@rtEMSP”正式发布