首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

小白学习MySQL - 不同版本创建用户的些许区别

MySQL创建用户有很多种方法,例如常规create user,再通过grant,授予权限,还可直接grant连带创建用户和授权一起做了。最近创建过程中,发现不同版本操作有些区别。...(0.01 sec) mysql> grant all privileges on `mysql`.* to 'test'@'%' identified by 'test'; ERROR 1064...中,这个操作,就会提示错误mysql> grant all privileges on `mysql`.* to 'testdb'@'%' identified by 'testdb'; ERROR...1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL...《小白学习MySQL - 变通创建索引的案例一则》 《小白学习MySQL - “投机取巧”统计的记录数》 《小白学习MySQL - 一次慢SQL的定位》 《小白学习MySQL - TIMESTAMP类型字段非空和默认值属性的影响

84440
您找到你想要的搜索结果了吗?
是的
没有找到

sql_mode兼容性,MySQL 8.0 升级踩过的坑

MySQL升级8.0之后,业务访问数据库报错 一套业务库从MySQL 5.7升级到8.0之后,业务请求报错,SQLSTATE[42000]: Syntax error or access violation...2.2 NO_AUTO_CREATE_USER的前世今生 在MySQL 5.7 之前,DBA经常习惯使用 grant 语法来创建用户和授权。...而在MySQL 8.0.11版本之后,官方认为DBA们已经接受了默认使用create user语法来创建账户的行为,就直接把grant创建账户的语法给废弃了。...我们在制定MySQL升级方案就已经考虑到了sql_mode的变化,在升级前检查中加入了MySQL 8.0不支持的sql_mode的检查。...如下图所示: 并且在升级过程过程中,配置MySQL 8.0的初始参数,将5.7的运行参数与8.0的参数模板进行了比对,将5.7的部分参数设置合并到了MySQL 8.0的参数文件。

4.4K10

mysql8.0新增用户及加密规则修改的那些事

用户创建 创建用户的操作已经不支持grant的同时创建用户的方式,需先创建用户再进行授权 mysql> grant all on *.* to 'admin'@'%' identified by 'admin123...';ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your...用户登录 当用户密码含有字母或数字外的特殊符号登录,原先使用双引号或单引号都可以登录,但在mysql8.0登录遇到问题,如下 [root@gjc18 lib]# /usr/local/mysql8.0...兼容旧版本加密方式的修改方法 出现这个原因是mysql8.0 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password...低版本客户端登录也会出现此情况,因此需使用高版本的客户端 [root@gjc18 lib]# mysql -uroot -p'123456' --socket=/data/mysql/mysql3310

1.8K20

MySQL 5.7和MySQL 8.0的4个细节差异

xxx like xxxxx; insert into xxx select * from xxxxx; 这种使用模式,而MySQL8.0带来的很多特性是在体验和性能改造方面,原来不建议使用的模式竟然可以支持了...其实就会发现不光是rank,字段名是first_value也不可以了,随之带来的就是SQL语法错误,可能会让人开始有点抓不着头脑。...create table test3(id int primary key,first_value varchar(30)); ERROR 1064 (42000): You have an error...to use near 'first_value varchar(30))' at line 1 细节3: 这里顺便吐槽下airflow的结构配置 airflow的一个结构在MySQL 5.7中如下...带来的问题是在MySQL 5.7中可以成功创建,但是在8.0会报错: CREATE TABLE kube_resource_version (one_row_id BOOL NOT NULL DEFAULT

6.8K20

技术分享 | OceanBase 安全审计之用户管理与访问控制

系统租户的内置系统管理员为用户 root MySQL 租户的内置租户管理员为用户 root Oracle 租户的内置租户管理员为用户 sys 创建用户,如果当前会话的租户为系统租户,则新建的用户为系统租户用户...或 %),则必须使用引号 obclient [oceanbase]> create user test02@%; ERROR 1064 (42000): You have an error in your...或 %),则必须使用引号 mysql [localhost:8031] {root} ((none)) > create user test02@%; ERROR 1064 (42000): You have...数据库权限:可以影响某个特定数据库下所有对象的权限,例如:在对应数据库下创建删除,访问等权限。 对象权限:可以影响某个特定对象的权限,例如:访问一个特定的、视图或索引的权限。...[2] Privileges Provided by MySQL: https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html [

33720

MySQL 5.7 和 8.0 几处细节上的差异

MySQL 8.0 相对于 MySQL 5.7,有很多新特性,比如:快速加列、原子 DDL、不可见索引、额外端口、角色管理等。...NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; 2 创建用户和赋权差异 MySQL 5.7,可以直接使用 grant...的情况下执行 grant 会报如下错误: ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that...'' at line 1 因此 MySQL 8.0 如果需要创建用户并赋权,必须要先 create user,再执行 grant 命令,操作如下: create user 'test_user'@'127.0.0.1...'; 3 Block Nested-Loop Join 算法 为了方便下面的实验,我们首先创建测试表并写入数据: CREATE DATABASE test; /* 创建测试使用的database,名为test

2.1K20

Mysql实战之一条SQL查询语句是如何执行的

连接数据的命令如下mysql -h host -P port -u username -p password输入完命令后,会出现交互式对话,让你输入密码,然后mysql客户端就会和mysql服务端建立连接...mysql默认的连接超时时间为8小,修改默认值可以通过wait_timeout参数。...因为每次数据库创建连接都比较好资源,所以建议使用长连接来保持数据库连接名词解释:长连接:创建一次连接,后面的请求都使用同一个连接,不会创建新连接短连接:每次请求都会创建一个新的连接使用长连接存在的问题:...sql语句会先走缓存,如果命中缓存,就直接返回结果,如果没有命中缓存,则继续往下执行由于在mysql8.0之后查询缓存模块已经被删除,咱们也就不详细讲解这一块了5....少打了一个fselect * orm t where id = 10ERROR 1064 (42000): You have an error in your SQL syntax; check the

1K10

一条查询语句到底是如何执行的?

客户端如果太长时间没有执行动作,连接器将会自动断开,这个时间由参数wait_timeout控制,默认值是8小。...做完这些会做 ‘语法分析’ ,根据MYSQL定义的规则来判断你的SQL语句有没有语法错误,如果你的语法不对,就会收到类似如下的提醒: ERROR 1064 (42000): You have an error...to use near 'elect * from t where ID=1' at line 1 一般语法错误会提示第一个出现错误的位置,所以你要关注的是紧接“use near”的内容。...但是在开始执行之前,MYSQL底层还要使用优化器对这条SQL语句进行优化处理。...MYSQL内部会对这条SQL进行评估,比如涉及到多个索引会比较使用哪个索引代价更小、多表join的时候会考虑决定各个的连接顺序。

94810
领券