之前一直使用CentOS虚拟机,最近改用Ubuntu,遇到好几次不能上网的问题,解决方法大致可以考虑以下几个方面:
1、配置虚拟网络编辑器
将虚拟机所用网卡设置为可以上网的网卡(我的环境为双网卡,外网使用无线网卡)
2、正确设置虚拟机网络参数:
打开编辑连接
选择“编辑”:
选择IPv4设置,填写外网网段的 IP地址和子网掩码等。
可能需要重启,如果不能上网,那就重启一下。
到这里,第一次不能上网的问题解决了,但是后来又出现了不能上网,而且以上设置检查过无误,这次的解决方式如下:
3、关闭其他虚拟机
主机同时还运行了一个Win7虚拟机,关闭该虚拟机后,Ubuntu虚拟机即可上网。
在安装mysql c语言库时报错,
sudo apt-get install libmysqlclient15-dev
无法定位软件包,按照网上博文修改源文件,参考地址如下,写的非常详细:
(14条消息) Ubuntu更换软件源_寥廓长空的博客-CSDN博客_ubuntu源https://blog.csdn.net/baidu_36602427/article/details/86551862修改源文件并更新后,一般不会有问题了,但我的安装还是不成功,依然无法定位软件包,尝试改成以下命令成功了:
sudo apt-get install libmysqlclient-dev
贴上一段例子程序 mysql.cpp:
#include <stdio.h>
#include <mysql/mysql.h>
#include <string.h>
int main(int argc, const char *argv[])
{
MYSQL mysql;
MYSQL_RES *res = NULL;
MYSQL_ROW row;
char *query_str = NULL;
int rc, i, fields;
int rows;
if (NULL == mysql_init(&mysql)) { //分配和初始化MYSQL对象
printf("mysql_init(): %s\n", mysql_error(&mysql));
return -1;
}
//尝试与运行在主机上的MySQL数据库引擎建立连接
if (NULL == mysql_real_connect(&mysql,
"127.0.0.1",
"root",
"root",
"network",
3306,
0,
0)) {
printf("mysql_real_connect(): %s\n", mysql_error(&mysql));
return -1;
}
printf("Connected MySQL successful! \n");
query_str = "select * from DNtable";
rc = mysql_real_query(&mysql, query_str, strlen(query_str));
if (0 != rc) {
printf("mysql_real_query(): %s\n", mysql_error(&mysql));
return -1;
}
res = mysql_store_result(&mysql);
if (NULL == res) {
printf("mysql_restore_result(): %s\n", mysql_error(&mysql));
return -1;
}
rows = mysql_num_rows(res);
printf("The total rows is: %d\n", rows);
fields = mysql_num_fields(res);
printf("The total fields is: %d\n", fields);
while ((row = mysql_fetch_row(res))) {
for (i = 0; i < fields; i++) {
printf("%s\t", row[i]);
}
printf("\n");
}
mysql_close(&mysql);
return 0;
}
编译:
g++ mysql.cpp -lmysqlclient
运行:
./a.out
结果:
Connected MySQL successful!
The total rows is: 80
The total fields is: 6
1 22 1 (null) SSH (null)
2 3389 2 (null) RDP (null)
3 3306 3 (null) mysql (null)
。
。
。
。
结果只截取了一部分。