原因

mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password

解决

更改加密规则:

mysql -uroot -ppassword #登录

use mysql; #选择数据库
# 远程连接请将'localhost'换成'%'

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' …

我们假设有一张这样的表user,里面有3条数据,以下通过2种方法实现了查询数据行号的显示:

代码解析

# 方法一:
SELECT @rowNum:=@rowNum + 1 AS rownum,a.* FROM user a,(SELECT @rowNum:=0) b;

# 方法二:
SET @rownum=0;SELECT @rowNum:=@rowNum …

原文:http://www.manongjc.com/article/1441.html

mysql变量的种类

  1. 用户变量:以”@”开始,形式为”@变量名”。用户变量跟mysql客户端是绑定的,设置的变量,只对当前用户使用的客户端生效
  2. 全局变量:定义时,以如下两种形式出现,set GLOBAL 变量名 或者 set @@global.变量名,对所有客户端生效。只有具有super权限才可以设置全局变量
  3. 会话变量:只对连接的客户端有效。
  4. 局部变量:作用范围在begin到end语句块之间。在该语句块里设置的变量。declare语句专门用于定义局部变量。set语句是设置不同类型的变量,包括会话变量和全局变量 通俗理解术语之间的区别:

用户定义的变量就叫用户变量。这样理解的话,会话变量和全局变量都可以是用户定义的变量。只是他们是对当前客户端生效还是对所有客户端生效的区别了。所以,用户变量包括了会话变量和全局变量

局部变量与用户变量的区分在于两点: 1.用户变量是以”@”开头的。局部变量没有这个符号。 2.定义变量不同。用户变量使用set语句,局部变量使用declare语句定义 …

安装MySQL

测试环境: Ubuntu16.04 安装MySQL非常简单只需要几条命令就可以完成

sudo apt-get install mysql-server
apt-get install mysql-client
sudo apt-get install libmysqlclient-dev

安装过程中会提示设置密码什么的,注意设置了不要忘了,安装完成之后可以使用如下命令来检查是否安装成功:

sudo netstat -tap | …

一、下载安装ODBC

根据自己系统版本下载安装对应的版本;

下载地址:http://dev.mysql.com/downloads/connector/odbc

/media/upload/2019/03/30/20151105105141513.png

二、配置ODBC

windows:控制面板⇒⇒管理工具⇒⇒ODBC 数据源(64 位)⇒⇒添加⇒⇒选中mysql ODBC driver一项

  • data source name 一项填入你要使用的名字,自己随便命名,例如:MySQL;
  • description一项随意填写,例如MyWorld;
  • TCP/IP Server 填写服务器IP,本地为:127.0.0.1;
  • user 填写你的mysql用户名; …

1 / 1