数据分析系统DIY2/3:本地64位WIN7+DEV C++编译程序操作VMware CentOS7+MariaDB
来源:互联网 发布:a标签用js去掉下划线 编辑:程序博客网 时间:2024/05/16 12:07
数据分析系统DIY中要完成的三个任务。
一、用VMware装64位CentOS,数据库服务端用CentOS自带的就好。
二、数据采集与预处理用Dev-C++编程解决。
三、用本地Win7 64上的MATLAB R2012b连接数据库进行挖掘分析。
本文是完成第二个任务的过程。
1.Terminal中输入命令行“ifconfig”确认CentOS虚拟机ip:192.168.124.128
2.输入命令行“netstat -anp|grep mysqld”确认mariadb服务监听端口:3306
3.Win7本地安装使用HeidiSQL测试能否连接(HediSQL是windows版mariadb自带的图形界面管理软件,安装mariadb时可以选择安装)
打开HeidiSQL后会话设置如图
点击“打开”后报连接失败
4.推测原因可能是mariadb远程访问权限未开
Terminal登录mariadb”mysql -u root -p“,输入密码登录
mariadb提示符后输入赋权语句”GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '登录密码' WITH GRANT OPTION;“
随后刷新”flush privileges;“
回到win7中的HeidiSQL上继续测试,依然失败。
5.推测原因可能是centos7自带的防火墙
命令行”startx“进入GUI后设置Applications-Sundry-Firewall
在配置页面默认的zone-public选择Ports页,单击Add按钮,输入mariadb端口3306后确认。效果如图。
6.回到win7中的HeidiSQL上测试,连接成功!
7.但是重启centos后却发现HeideSQL又连不上服务器了。
进入Applications-Sundry-Firewall-Ports检查设置,发现之前第5步中3306端口的开放规则居然消失了。
原来刚才设置的那个只是临时规则,重载firewall后该规则就失效了。
要想设置永久规则,Configuration处得先设为Permanent。如下图:
再次打开Ports页,单击Add按钮,输入端口号3306后确认。
这回不管重启几次centos都可以顺利远程登录了。
/*接下来该DEV C++了,没想到这一步居然这么难,用了将近8个小时才搞定。*/
8.首先需要下载mysql的devpak,devpaks.org 不知何故被墙,dev c++无法更新。只好使用goagent通过浏览器访问,最终找到了下载地址。
9.下载后通过dev c++的“工具-Package Manager-Install”安装“MySQL-6.1.5-1aved.DevPak”
10.安装成功后,进入dev c++的“工具-编译选项”
a.编译器页中的连接器加入命令“-lmysql”
b.目录页-c包含文件页/c++包含文件页添加mysql包路径“dev-cpp安装目录\include\MySQL”
11.将“dev-cpp安装目录\lib“中的”libmysql.dll“拷入"C:\Windows\SysWOW64",否则编译时系统会报错。
如果还报错,那就拷到"C:\Windows\system32"
12.编译例程
#include <mysql.h>#include <stdlib.h>#include <stdio.h>int main(int nArguments, char *pszArguments[]){ MYSQL *conn; MYSQL_RES *res; MYSQL_ROW row;char *server = "192.168.124.128";//第一步中确认的centos服务器ipchar *user = "root";char *password = "123456"; /* 此处改成你的密码 */char *database = "mysql";conn = mysql_init(NULL);/* Connect to database */if (!mysql_real_connect(conn, server,user, password, database, 0, NULL, 0)) {fprintf(stderr, "%s\n", mysql_error(conn));}/* send SQL query */if (mysql_query(conn, "show tables")) {fprintf(stderr, "%s\n", mysql_error(conn));}res = mysql_use_result(conn);/* output table name */printf("MySQL Tables in %s database:\n",database);while ((row = mysql_fetch_row(res)) != NULL) printf("%s \n", row[0]);/* close connection */mysql_free_result(res);mysql_close(conn);//system("PAUSE");return 0;}
运行结果如图:
任务二,mission accomplished!
- 数据分析系统DIY2/3:本地64位WIN7+DEV C++编译程序操作VMware CentOS7+MariaDB
- 数据分析系统DIY3/3:本地64位WIN7+matlab 2012b访问VMware CentOS7+MariaDB
- 数据分析系统DIY1/3:CentOS7+MariaDB安装纪实
- vmware 安装CentOS7无法执行64位操作
- 64位Win7下VMWare 安装MacOSXLion系统
- centos7系统安装Mariadb
- 32位win7系统的虚拟机vmware
- CentOS7下mariadb的操作
- 如何在64位win7系统下,通过Xshell4连接VMWare上的ubuntu系统
- (win7 64位系统)VMware Workstation 11安装Mac OS X 10.10虚拟苹果系统
- win7中操作并访问本地虚拟机(Centos7)
- Vmware安装64位系统
- win7 64位操作系统 配置pl\sql dev
- 安装64位win7系统
- win7 64位系统下载
- CentOS7编译安装MariaDB 及系统初始化
- centos7 系统上 mariadb galera 集群搭建
- VMware Workstation 10+Centos7(64位)共享文件夹问题
- TMS320F28335项目开发记录3_28335简单介绍
- 【opencv】特征点检测方法--GFTT,SIFT,FAST,SURF
- Oracle DB内存管理
- iOS图片性能优化-TBImageView
- 自定义背景文件,android:shape的使用!
- 数据分析系统DIY2/3:本地64位WIN7+DEV C++编译程序操作VMware CentOS7+MariaDB
- html控件和服务端控件的区别
- ActiveX上传控件和IE增强保护模式的那些事
- nosql数据库STSDB的一般性使用
- 软件测试工具的比较和选择
- 黑马程序员:Java基础——StringBuffer与StringBuilder
- C语言操作mysql范例(增删查改)
- 微信商城、微信多功能服务系统
- open-flash-chart2的各种效果