什么是网站维护中,本地合肥网站建设,建筑平台公司,沧浪网站建设一、Ubuntu18.04中安装并且编译移植mysql驱动程序连接qt执行程序
1 、安装Mysql
sudo apt-get install mysql-serverapt-get isntall mysql-clientsudo apt-get install libmysqlclient-d2、查看是否安装成功#xff0c;即查看MySQL版本
mysql --version 3、MySQL启动…一、Ubuntu18.04中安装并且编译移植mysql驱动程序连接qt执行程序
1 、安装Mysql
sudo apt-get install mysql-serverapt-get isntall mysql-clientsudo apt-get install libmysqlclient-d
2、查看是否安装成功即查看MySQL版本
mysql --version
3、MySQL启动与关闭命令
service mysql start # 启动
service mysql stop # 关闭
4、设置用户和密码
1先输入以下命令
cd /etc/mysql
sudo cat debian.cnf2你会得到以下类似结果 3根据user 和 password输出结果 编辑命令 mysql -u( u s e r ) − p (user) -p(user)−p(password),不用写括号括号是方便看
mysql -udebian-sys-maint -p2STJ4ZfRtNhqe4Aw
#最好是复制过来以免出错不要把 -u -p 忽略掉且up后面无空格4至此 已经进入到了MySQL系统中了
5、改密码 依次输入以下数据库语句也可以全部复制直接输入运行
show databases;
use mysql;
update user set authentication_stringPASSWORD(自己的密码) where userroot;
update user set pluginmysql_native_password;
flush privileges;
quit;
6、登录
service mysql stop # 关闭
service mysql start # 启动
mysql -uroot -p密码
或者
mysql -uroot -p #回车
再输入密码
如果现在连接mysql会报错没有mysql驱动如下类似报错
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QPSQL QPSQL7
db open err: “Driver not loaded Driver not loaded”7.编译移植mysql驱动这一过程究极复杂建议参考以下其他博客结合参照请注意如果你是按照我的博客一步一步安装的即QT版本是5.9则有快速简单方法直接看第8步
1保险起见再次执行以下命令安装一遍libmysqlclient-dev
sudo apt-get install libmysqlclient-dev2进入QT安装目录的源码目录如果安装 时没有选择源码重新安装下找到MySql驱动源码目录 如/home/csgec/Qt5.9.1/5.9.1/Src/qtbase/src/plugins/sqldrivers/mysql
(3)在上述mysql目录下执行qmake命令记住qmake命令路径是否和你一样正确生成Makefile
/home/csgec/Qt5.9.1/5.9.1/gcc_64/bin/qmake “INCLUDEPATH/usr/include/mysql” “LIBS-L/usr/lib/x86_64-linux-gnu/ -lmysqlclient” mysql.pro注如果出错 Project ERROR: Library ‘mysql’ is not defined. 则打开mysql.pro文件注释掉QMAKE_USE mysql这行 如果出错 qtsqldrivers-config.pri没找到 则下载QT5.9.1的源码包到相应目录拷贝过来就可以。(安装包中居然没有这个文件但源码包中有)
4分别执行以下命令
cd /home/csgec/Tools/qt-everywhere-opensource-src-5.9.1/qtbase/src/plugins/sqldriverscp qtsqldrivers-config.pri /home/csgec/Qt5.9.1/5.9.1/Src/qtbase/src/plugins/sqldriversmakemake install5生成的库所在的目录 /home/csgec/Tools/qt-everywhere-opensource-src-5.9.1/qtbase/plugins/sqldrivers/
把libqsqlmysql.so放到qt安装目录/plugins/sqldrivers/里面即可
8.编译移植mysql驱动简单方法 我提供了已经移植编译好的驱动文件大家点击下载放在相应的目录即可
自此MySQL安装完成,自己可以在Ubuntu中编写qt程序直接连接mysql了
二、gec6818arm开发板中安装并且编译移植mysql驱动程序连接qt执行程序
快速方法移植先看 当前文件夹都是我移植好的库和源码包后面移植生成的库都放在了当前文件夹下其中mysql-arm.tar.gz 是 我已经移植好的mysql在arm平台下的源码包 qt-everywhere-opensource-src-5.9.1.tar.gz是QT的官方源码包用于后面我们移植QT-mysql
不想移植的看这 -》在开发板的QT库的目录下/opt/EMqt5.9-gec/plugins 创建mkdir sqldrivers -》拷贝libqsqlmysql.so到sqldrivers目录下 -》建立软连接 ln -s /opt/armqt5.5-gec/plugins/sqldrivers/libqsqlmysql.so /lib/libqsqlmysql.so libqsqlmysql.so已经上传了自己可以[点击下载]上面那个下载了就不用重复下载放一起了(https://download.csdn.net/download/xqmids99/88362750) -》配置好mysql服务器支持远程连接详见页底
--------------------------------------------mysql完整版包括客户端和服务器端-----------------------------------------------------
1.将mysql-arm.tar.gz下载到开发板解压mysql-arm.tar.gz到/usr/local目录下 –》tar -zxvf mysql-arm.tar.gz -C /usr/local
2.将mysql.server拷贝到开发板/etc/init.d/目录下
将my.conf文件拷贝到/etc目录下 不过因为我们粤嵌的开发板flash较小我们选择只移植mysql的客户端连接pc端的mysql
—————————————————------- C语言 客户端版———————————————————————————— 具体移植方法见http://blog.csdn.net/liangzhuangdongtou/article/details/51782557–》》》可能会有所出入遇到问题自己解决一下呗
1.拷贝libmysqlclient.so.16.0.0 到开发板/lib目录下并建立软连接,命令如下 ln -s libmysqlclient.so.16.0.0 libmysqlclient.so.16 ln -s libmysqlclient.so.16.0.0 libmysqlclient.so
2.拷贝libmysqlclient_r.so.16.0.0文件到开发板/lib目录下并建立软连接libmysqlclient_r.so.16 ln -s libmysqlclient_r.so.16.0.0 libmysqlclient_r.so.16 ln -s libmysqlclient_r.so.16.0.0 libmysqlclient_r.so
3.拷贝 mysql_client_test到开发板/bin目录下并将权限修改为777 可用 mysql_client_test --help查看使用方法mysql_client_test用于测试mysql连接此步骤可以忽略
使用方法mysql_client_test -h ip–database数据库名 -u 用户 -p密码1 ——》mysql_client_test -h 192.168.1.17 --databasestudent -u root -p123456
–》连接成功会出现以下信息
##################################### client_connect #####################################
Establishing a connection to ‘192.168.1.17’ …OK Connected to MySQL server version: 5.7.17-log (50717)
———————————————————QT客户端版———————————————————————— QT使用mysql需要先编译好arm平台下的mysql(详见 http://blog.csdn.net/liangzhuangdongtou/article/details/51782557) -》过程有些麻烦 赶时间的话可选择以下方案 将我移植好的源码包 mysql-arm.tar.gz 解压放到/usr/local目录下 -》tar -zxvf /mnt/hgfs/share/mysql-arm.tar.gz -C /usr/local
上面的完成后接下来需要编译对应ARM平台的QT的mysql驱动当然需要先移植好QT到开发板还没有移植的同学看下之前的笔记咯
(由于我们已经移植好的粤嵌qt库没有支持mysql 此时我们需要编译 QT-mysql)
a)解压源码包tar -zxvf qt-everywhere-opensource-src-5.5.0.tar.gz -C /opt tipsQT源码包每一级都会有.pro文件所以我们可以单独编译我们所需要的
b进入解压后的源码包目录 1)cd /opt/qt-everywhere-opensource-src-5.5.0/qtbase/src/plugins/sqldrivers/mysql 2)执行/opt/armqt5.5-gec/bin/qmake “INCLUDEPATH/usr/local/mysql/include/mysql” “LIBS-L/usr/local/mysql/lib/mysql -lmysqlclient_r” mysql.pro
3倘若一切步骤顺利的话会出现以下信息rm -f libqsqlmysql.soarm-linux-gnueabi-g -Wl,–no-undefined -Wl,-O1 -Wl,–enable-new-dtags -Wl,-rpath,/opt/armqt5.5-gec/lib -shared -o libqsqlmysql.so .obj/main.o .obj/qsql_mysql.o .obj/moc_qsql_mysql_p.o -L/home/tiydy/armlib/tslib/lib -L/home/tiydy/armlib/freetype/lib -L/home/tiydy/armlib/fontconfig/lib -L/usr/local/mysql/lib/mysql -lmysqlclient_r -L/opt/armqt5.5-gec/lib -lQt5Sql -lQt5Core -lpthread mv -f libqsqlmysql.so …/…/…/…/plugins/sqldrivers/ 即在/opt/qt-everywhere-opensource-src-5.5.0/qtbase/plugins/sqldrivers目录下出现libqsqlmysql.so-》》》libqsqlmysql.so这个是我们想要的4拷贝libsqlmysql.so到开发板上a) 我这里是/opt/armqt5.5-gec/plugins -》先创建mkdir sqldrivers-》拷贝libqsqlmysql.so到sqldrivers目录下-》建立软连接 ln -s /opt/armqt5.5-gec/plugins/sqldrivers/libqsqlmysql.so /lib/libqsqlmysql.so到此就大功告成了5)最后下载mysql_test目录下的测试程序mysql_test到开发板测试一下吧--------------------让mysql支持远程连接-------------------------------------------- 方法1.在windows进入cmd命令行当然也可以在图形界面上修改 -》mysql -u root -p -》use mysql; -》update user set host ‘%’ where user ‘root’; -》select host, user from user;
方法2有兴趣自己找下吧