我们在使用Qt调用数据库前,首先电脑上必须要有Mysql服务端,毕竟巧妇难为无米之炊。
Mysql有安装版和免安装版两种方式。下面我们分别介绍一下如何安装。
1.下载Mysql数据库安装版
打开Mysql官网https://www.mysql.com/。
点击DOWNLOADS,转到下载界面。
将页面往下拉,点击MySQL Community (GPL) Downloads 。
选择MySQL Installer for Windows。
到这个页面,我们可以看到有两个下载链接。一个是2.3M,另外一个是435.7M。其中2.3M是在线安装版,435.7M是离线安装版。这个时候大家可以根据自己的习惯选择不同的版本进行安装。
2.Mysql安装版
点击exe图标,选择Server only。
点击execute,等待下载完成。
当状态变为Downloaded,点击next。
点击execute,进行安装。
当状态变为Complete,点击next。
点击Next。
这个界面不需要更改,点击Next。
选择第二个Use Legacy Authentication Method。第一个是强密码校验,如果选择这个可能会导致navicat连接不上mysql。点击next。
输入密码,点击next。
点击next。
点击execute。
点击finish。
点击next。
点击finish。Mysql这个时候已经安装完成,接下来我们需要验证一下mysql是否安装成功。
点击Mysql 8.0 Command Line Clinet。
在界面上输入密码(安装的时候我们需要的)。
看到如下信息后就说明Mysql已经安装成功了。
3.Mysql免安装版下载
打开Mysql官网https://www.mysql.com/
点击DOWNLOADS,转到下载界面。
将页面往下拉,点击MySQL Community (GPL) Downloads 。
选择Download Archives。
选择Windows (x86, 64-bit), ZIP Archive,下载就可以了。
4.Mysql免安装版
解压压缩包。
将bin路径添加到环境变量中,方便调用mysql。
进入解压目录根目录,创建my.ini配置文件。
将以下配置信息复制到my.ini文件中。记得将basedir和datadir中的路径改成自己的路径。
[mysqld]
# 设置3306端口
port=3306
# 自定义设置mysql的安装目录,即解压mysql压缩包的目录
basedir=D:\mysql-8.0.27-winx64
# 自定义设置mysql数据库的数据存放目录
datadir=D:\mysql-8.0.27-winx64\mysqlData
# 允许最大连接数
max_connections=200
# 允许连接失败的次数,这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口和默认字符集
port=3306
default-character-set=utf8
shared-memory
打开cmd命令行,输入mysqld --initialize --console,回车。
这个时候会生成一个随机密码,我们需要记住这个密码。
安装mysql服务。命令行输入mysqld --install,回车。
启动mysql服务。命令行输入net start mysql,回车。
登录mysql。命令行输入mysql -u root -p,回车。
输入上面生成的密码,回车。
在MySQL中执行命令:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
刷新权限。
flush privileges;
到这个时候我们免安装Mysql已经可以正常使用了。
5.客户端连接
现在我们使用Navicat软件连接mysql服务器。
点击连接,输入连接名(随便写,便于自己区分不同的服务端),密码(前面我们修改的)。
点击确定,看到如下界面就说明我们Mysql已经可以正常使用了。
6.错误
输入mysqld --initialize --console,提示错误。
my.ini 文件的编码格式设置为ANSI,注意参数请不要留空格,会识别错误。可以使用notepad改变一下编码格式。
连接mysql,提示1251-Client does not support authentication protocol requested by server。
输入以下指令。
alter user 'root'@'localhost' identified with mysql_native_password by 'Mysql_123';
flush privileges;