caching_sha2_password认证插件提供更多的密码加密方式,并且在加密方面具有更好的表现,目前MySQL 8.0选用caching_sha2_password作为默认的认证插件,MySQL 5.7的认证插件是MySQL_native_password。如果客户端版本过低,会造成无法识别MySQL 8.0的加密认证方式,最终导致连接问题。
MySQL存储引擎现在负责提供自己的分区处理程序,而MySQL服务器不再提供通用分区支持,InnoDB和NDB是唯一提供MySQL 8.0支持的本地分区处理程序的存储引擎。 如果分区表用的是别的存储引擎,存储引擎必须进行修改。要么将其转换为InnoDB或NDB,要么删除其分区。通过MySQLdump从5.7获取的备份文件,在导入到8.0环境前,需要确保创建分区表语句中指定的存储引擎必须支持分区,否则会报错。
MySQL 8.0的默认字符集utf8mb4,可能会导致之前数据的字符集跟新建对象的字符集不一致,为了避免新旧对象字符集不一致的情况,可以在配置文件将字符集和校验规则设置为旧版本的字符集和校验规则。
MySQL 8.0启动使用的lower_case_table_names值必须跟初始化时使用的一致。使用不同的设置重新启动服务器会引入与标识符的排序和比较方式不一致的问题。
< lower_case_table_names >
https://dev.mysql.com/doc/refman/8.0/en/server-systemvariables.html#sysvar_lower_case_table_names
要避免MySQL 8.0上的启动失败,MySQL配置文件中的sql_mode系统变量不能包含NO_AUTO_CREATE_USER。
从MySQL 5.7.24和MySQL 8.0.13开始,MySQLdump从存储程序定义中删除了NO_AUTO_CREATE_USER。必须手动修改使用早期版本的MySQLdump创建的转储文件,以删除NO_AUTO_CREATE_USER。
在MySQL 8.0.11中,删除了这些不推荐使用的兼容性SQL Mode:DB2,MAXDB,MSSQL,MySQL323,MySQL40,ORACLE,POSTGRESQL,NO_FIELD_OPTIONS,NO_KEY_OPTIONS,NO_TABLE_OPTIONS。从5.7到8.0的复制场景中,如果语句使用到废弃的SQL Mode会导致复制异常。
在执行到MySQL 8.0.3或更高版本的in-place升级时,BACKUP_ADMIN权限自动授予具有RELOAD权限的用户。
本文对MySQL 5.7到MySQL 8.0的升级过程中出现部分易出现问题进行整理:升级对MySQL版本的要求、升级都做了哪些内容、数据库升级做了哪些步骤以及注意事项,希望对大家版本升级有帮助。
方法/步骤首先当我们通过命令行登陆到MySQL的时候,它会打印出来一下欢迎信息,其实这个欢迎信息告诉了我们很多有用的信息.
例如:当前MySQL服务器的版本号
使用那个命令来参看MySQL的帮助信息
接下来我们查看一下MySQL文档包含哪些部分,按照MySQL的大分类查询一下,有哪些帮助主题供我们查看.
命令为: ? contents
如果想查看上面大分类具体某一个分类应该怎么办那?同样的道理用 ? 大分类的名称.
例如: ? Data Types [大小写无所谓]
同理我们想具体的查看Data Types下面的INT类型的取值范围怎么办那?也可以用? INT得到相应的帮助信息
对应的命令:? Data Types
? INT
还有在开发过程中经常遇到MySQL的一些函数不知道怎么用,应该怎么查看那?接下来我们就用常用的字符串函数举一个例子.
对应的命令: ? Functions
? String Functions
? CONCAT
最后就我们常用的一些SQL的语法,例如建表语句或者是创建用户的语法怎么写,再做一个示范.
对应命令为:? GRANT
7
记住上面的帮助命令的使用,我们即使在不联网的情况下也能快速找到我们想要的帮助信息,提高工作效率.
数据库最基础的 增 删 改 查。创建表 create table tablename(column1 int,column2 varchar(10)...)
增 insert into table values(xx,xx)
删 delete from table where xxx=xx
改 update table set XX=XX where xx
查 select * from tablename where xx group by xx having xx order by xx
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)