标题Qt5.12.3远程连接MySQL数据库
1.下载MySQL
官网下载地址:MySQL :: Begin Your Download ,注意选择操作系统,此文档以windows操作系统为例。 如果是其他系统,请在MySQL :: Download MySQL Installer 里面选择自己的操作系统下载。
2.安装MySQL
下载完成后,双击进行安装。
安装过程:
- 选择自定义安装,点击下一步

- 避免下次安装其他组件麻烦,我们把所有的组件全部安装。先在左边选择组件,然后在点击中间的绿色箭头,表示我们要安装这个组件。

- 选择安装的组件,修改安装的位置,默认安装路径是C盘,点击下一步

- 选择执行,等待安装完成,点击下一步

- 设置一些选项,如果下一步next不可以点击的话,是因为端口有冲突,重新改一个可用的端口即可,我这里设置为3307,设置完成后继续下一步next

- 默认使用密码方式,点击下一步next

- 填入密码,点击下一步

- 保持默认,继续点击下一步

- 点击执行,结束后点击完成、下一步
- 保持默认,点击完成、下一步

- 输入之前我们设置的密码,并check一下,若密码验证通过,则出现一个绿色箭头,继续下一步

- 点击执行,完成后点击finish,后续默认下一步
- 最后安装完成后会出现MySQL客户端和MySQL workbench


- 至此,MySQL安装完成。
- 准备MySQL的Qt连接驱动程序
1.下载驱动程序
在网站在以下网址中下载和当前Qt版本对应的驱动,根据自己的Qt版本下载对应的驱动
Releases · thecodemonkey86/qt_mysql_driver · GitHub
此处下载Qt5.12.3版本驱动
MinGW编译器64bit
https://github.com/thecodemonkey86/qt_mysql_driver/files/5896714/qsqlmysql.dll_Qt_SQL_driver_5.12.3_MinGW_7.3_64-Bit.zip
MSVC编译器64bit
https://github.com/thecodemonkey86/qt_mysql_driver/files/5896715/qsqlmysql.dll_Qt_SQL_driver_5.12.3_MSVC2017_64-Bit.zip
2.解压安装
- 把下载的文件解压,得到一个文件夹

- 将文件夹中的libmysql.dll拷贝到qt 对应编译器的bin目录下D:\IDE\Qt\Qt5.12.3\5.12.3\mingw73_64\bin
- 将sqldrivers文件夹中文件qsqlmysqld.dll、qsqlmysql.dll拷贝到对应编译器plugins/sqldrivers目录下D:\IDE\Qt\Qt5.12.3\5.12.3\mingw73_64\plugins\sqldrivers
- 测试MySQL与Qt的连接
- 在Qt中新建工程,在MainWindow.cpp中进行连接测试。(此处的数据库是安装MySQL自带的数据库。
QSqlDatabase database = QSqlDatabase::addDatabase("QMYSQL");
database.setHostName("127.0.0.1");
database.setPort(3307);
database.setUserName("root");
database.setPassword("root");
database.setDatabaseName("mysql");
if(! database.open()) {
qDebug() << (u8"连接MySQL失败: "+database.lastError().text());
} else {
qDebug() << (u8"连接MySQL成功: "+database.databaseName());
}
- 连接远程数据库
- 在远程服务器中登录数据库
mysql -u root -p
- 然后新建一个用于远程登录的 MySQL 账号,这里的[username]换成你的用户名,「password」换成你的密码,如果MySQL 设置为严格密码的话,需要「数字+英文大小写+符号」
CREATE USER 'username'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
- 然后运行 FLUSH PRIVILEGES 刷新数据库
FLUSH PRIVILEGES
- 然后修改 MySQL 配置文件
首先打开 mysqld.cnf 配置文件。
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
找到 bind - address 这一行,修改为0.0.0.0,如下图所示
- 默认情况下, bind - address 的值为 127.0.0.1 ,所以只能监听本地连接。我们需要将这个值改为远程连接 ip 可访问,可使用通配符 ip 地址 *, ::, 0.0.0.0 ,当然也可以是单独的固定 ip,这样就仅允许指定 ip 连接,更加安全
- 提示: 在某些 MySQL 版本的配置文件中,没有 bind - address 这一行,这种情况下,在合适的位置加上就可以了。更改后,保存并退出编辑器。
- 然后重启 MySQL 服务,使刚刚编辑的 mysqld.cnf 文件生效:
sudo systemctl restart mysql
- 至此完成了远程服务器中MySQL数据库的配置,此时可以修改Qt项目中的IP地址和用户名、密码、数据库名称,进行远程数据库的连接了。
3704

被折叠的 条评论
为什么被折叠?



