我的前端坑
  • 关于本书
  • CSS JS 常用
    • 常用 CSS 样式
    • 坑爹的 CSS
    • sass 入门
    • canvas 总结
    • 常用 JS 函数
    • 表单和 FormData 对象
    • 水平滑动 tab 居中
    • js 中的 this
    • sse 和 fetch
    • js 原型链与 class 类
  • TypeScript
    • TS 概念
    • interface 与 type
    • interface 接口
    • Ts 配合 ESLint 和 prettier
  • 小程序
    • 常用小程序代码
  • VUE
    • VUE2 小技巧
    • VUE-CLI 中的 NODE_ENV
  • VUE3
    • VUE3 自行构建 sfc 遇到的坑
    • VUE3 v-model 的实现
    • VUE3 使用总结
    • VUE3 ref
  • vite
    • vite
  • http 请求
    • 前端实现下载
    • cors 跨域请求
    • windows hosts 文件
    • err_blocked_by_client 错误
  • 前端工具
    • npm 和 Node
      • 常见问题
      • npmTips
      • package.json 与 package-lock.json
      • npx
      • exports 与 module.exports
      • ESLint
    • VIM
      • vim 常用
    • Git
      • Git 常用命令
      • Git 小 tips
    • express
  • 后端工具
    • mysql 常见问题
    • docker 常见问题
    • docker
  • java
    • java 常用
    • lambda 表达式
    • java 字符串
    • java 泛型
    • java 反射
    • intellij IDEA
    • 多态
    • java 包管理
    • sql 查询语言
    • java 反射
    • java 异常
    • java 集合
    • spring
  • 命令行
    • 命令行 常用
  • 专利撰写 ppt
  • 后台简述
Powered by GitBook
On this page
  • sql 常用语句
  • 小知识
  • sql 语句执行顺序
  • navicat 连接 mysql8 报错:1251

Was this helpful?

  1. 后端工具

mysql 常见问题

mysql常见问题

sql 常用语句

  • SHOW CREATE TABLE employees; 展示表创建时的参数

  • DESCRIBE employees; 展示表结构

  • SELECT xxx <=> null from tableName; 查询表中某列值是否为 null

  • SELECT xxx FROM table1 LIMIT (pageNumber - 1) * pageSize, pageSize; 分页查询

小知识

  • 如果有 n 个表实现多表查询,则需要至少 n-1 个连接条件

  • UNION ALL 操作符返回两个查询结果集的并集,对于结果集中重复的部分不予处理,效率比 UNION 高

sql 语句执行顺序

列的别名只能在 ORDER BY 中使用,不能在 WHERE 中使用。

SELECT name1,name2,name3 AS N3
FROM table1
WHERE name1 IN ('a','b','c')
ORDER BY N3 DESC;

因为查询语句是从FROME xxx WHERE xxx开始的,然后才是SELECT ORDER BY 。 WHERE也需要声明在FROM后,ORDER BY之前。

navicat 连接 mysql8 报错:1251

navicat 连接 mysql8.1.0 报错,错误信息:1251- Client does not support authentication protocol requested by server;consider upgrading Mysql client。

出现这种情况的原因是:MySQL8 之前的版本中加密规则是 mysql_native_password,而在 MySQL8 之后,加密规则是 caching_sha2_password

mysql> select host,user,plugin,authentication_string from mysql.user;

解决方法

mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
Query OK, 0 rows affected (0.01 sec)

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
Query OK, 0 rows affected (0.01 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

mysql> select host,user,plugin,authentication_string from mysql.user;

再用 navicat 连接就成功了

ps:

mysql.user 表中 Host 列的含义: Host 列指定了允许用户登录所使用的 IP, 比如 user=root Host=192.168.1.1。 这里的意思就 是说 root 用户只能通过 192.168.1.1 的客户端去访问。 而%是个通配符,如果 Host=192.168.1.%,那么就表示只要是 IP 地址前缀为“192.168.1.”的客户端都可以连接。如果 Host=%,表示 所有 IP 都有连接权限。

mysql 配置文件 !includedir /etc/mysql/conf.d/ 含义: 在 MySQL 中,!includedir 是一个指令,用于指定一个目录,MySQL 服务器在读取主配置文件时会读取该目录下所有的.conf 文件 。/etc/mysql/conf.d/ 是一个目录路径,MySQL 服务器会尝试读取这个目录下所有的.conf 文件作为配置文件的一部分。

Previous后端工具Nextdocker 常见问题

Last updated 8 months ago

Was this helpful?

user.png
user2.png