2016-1-8 windows 7下安装mysql及其配置和运用
绪言
最近学习了一下mysql的相关用法,以及vs2010结合mysql的使用。
遇到的问题:1、安装mysql 5.6 绿色免安装版本,出现mysql server not connect localhost 10061错误
2、安装mysql 5.7 ,command line出现闪退和mysql server not connect localhost 10061错误根本解决
3、vs2010配置mysql,无法连接mysql的错误
一、免安装版本启动mysql的方法
主要是配置文件配置错误:
1、进入mysql安装目录找到my-defaults.ini(安装或者免安装版的名称),将该名称修改为my.ini(注意.ini为该文件类型)

2、打开my.ini配置文件,修改port(mysql接入端口),basedir(mysql安装目录),datadirport(mysql数据库的数据的存放目录) 。
附上我的my.ini的配置文件内容:
3、启动mysql
第一步:打开cmd命令行,cd到安装根目录路(bin)下(例如:进入mysql安装的磁盘下,cd mysql\mysql 5.6\bin)
第二步:然后运行命令 mysql -uroot -p(或者mysql -u root -p),若出现下面错误
一般是mysql服务没有启动,解决方法:(查看mysql服务有没有启动,可以打开控制面板-管理-服务,找到mysql的运行方式改改为自启动)
这里我采用一种更笨的方法,无论是否启动,我们先执行下一条命令:
mysqld -nt -remove(卸载mysql服务)
再执行mysqld -nt -install
再输入 mysql -uroot -p
得到如下图:
则说明顺利进入了mysql命令行中。
二、解决command line 闪退现象和mysql server not connect localhost 10061错误根本解决
1、进入mysql安装目录找到my-defaults.ini(安装或者免安装版的名称),将该名称修改为my.ini(注意.ini为该文件类型),打开my.ini配置文件,修改port(mysql接入端口),basedir(mysql安装目录),datadirport(mysql数据库的数据的存放目录) 。
2、(根本解决启动mysql失败方法),附件-运行,输入regedit
3、在如图的目录树中找到mysql项,双击进入找到ImagePath这一项,
4、修改ImagePath中的路径(启动mysqld的路径),mysqld.exe在安装根目录下,只需要把该路径添加进去。(注意后面如有--defaults-files=d:Mysql,则将该句删掉,仅保留你的mysqld路径即可)
5、重新启动计算机,cmd中运行命令mysql -uroot -p或者mysql command line 即可运行mysql数据库。
总结:这种方法从根本上解决了启动mysql服务问题,不用每次开机繁琐的去执行mysqld -nt -remove ,mysqld -nt -install等命令。
三、Vs2010配置mysql
1、将mysql安装目录中include的路径写入vs2010项目属性配置的包含目录
将mysql安装目录中lib的路径写入vs2010项目属性配置的库目录
将libmysql.lib写入连接器-输入-附加依赖项
系统环境变量的配置;
打开系统环境变量,找到path,在path里添加mysql安装目录中lib文件的路径
vs2010配置mysql的完成。
四、一个可以运行的结合mysql的c++文件
#ifndef _VSPD_H
#define _VSPD_H
#include <Windows.h>
#include <string>
#include <mysql.h>
#include <iostream>
using namespace std;
class VspdCToMySQL
{
public:
//变量
MYSQL mysql;
/*
1、构造函数和稀构函数
*/
VspdCToMySQL();
~VspdCToMySQL();
/*
ConnMySQL();
主要的功能:
初始化数据库
连接数据库
设置字符集
入口参数:
host :MYSQL服务器IP
port:数据库端口
Db:数据库名称
user:数据库用户
passwd:数据库用户的密码
charset:希望使用的字符集
Msg:返回的消息,包括错误消息
出口参数:
int :0表示成功;1表示失败
*/
int ConnMySQL(char *host,char * port,char * Db,char * user,char* passwd,char * charset,char * Msg);
/*
主要的功能:
查询数据
入口参数:
SQL:查询的SQL语句
Cnum:查询的列数
Msg:返回的消息,包括错误消息
出口参数:
string 准备放置返回的数据,多条记录则用0x06隔开,多个栏位用0x05隔开
如果 返回的长度= 0,责表示舞结果
*/
string SelectData(char * SQL,int Cnum ,char * Msg);
/*
主要功能:
插入数据
入口参数
SQL:查询的SQL语句
Msg:返回的消息,包括错误消息
出口参数:
int :0表示成功;1表示失败
*/
int InsertData(char * SQL,char * Msg);
/*
主要功能:
修改数据
入口参数
SQL:查询的SQL语句
Msg:返回的消息,包括错误消息
出口参数:
int :0表示成功;1表示失败
*/
int UpdateData(char * SQL,char * Msg);
/*
主要功能:
删除数据
入口参数
SQL:查询的SQL语句
Msg:返回的消息,包括错误消息
出口参数:
int :0表示成功;1表示失败
*/
int DeleteData(char * SQL,char * Msg);
/*
主要功能:
关闭数据库连接
*/
void CloseMySQLConn();
};
#endif
#include "VspdCTOMySQL.h"
VspdCToMySQL::VspdCToMySQL()
{
}
VspdCToMySQL::~VspdCToMySQL()
{
}
//初始化数据
int VspdCToMySQL::ConnMySQL(char *host,char * port ,char * Db,char * user,char* passwd,char * charset,char * Msg)
{
if( mysql_init(&mysql) == NULL )
{
Msg = "inital mysql handle error";
return 1;
}
if (mysql_real_connect(&mysql,host,user,passwd,Db,0,NULL,0) == NULL)
{
Msg = "Failed to connect to database: Error";
return 1;
}
if(mysql_set_character_set(&mysql,charset) != 0)
{
Msg = "mysql_set_character_set Error";
return 1;
}
return 0;
}
//查询数据
string VspdCToMySQL::SelectData(char * SQL,int Cnum,char * Msg)
{
MYSQL_ROW m_row;
MYSQL_RES *m_res;
char sql[2048];
sprintf(sql,SQL);
int rnum = 0;
int cnum = 0;
char rg = 0x06;//行隔开
char cg = {0x05};//字段隔开
if(mysql_query(&mysql,sql) != 0)
{
Msg = "select ps_info Error";
return "";
}
m_res = mysql_store_result(&mysql);
if(m_res==NULL)
{
Msg = "select username Error";
return "";
}
cnum=mysql_num_fields(m_res); //获取数据库的列数
cnum=cnum>Cnum?Cnum:cnum;
cout<<"cnum:"<<cnum<<endl;
string str("");
while(m_row = mysql_fetch_row(m_res))
{
for(int i = 0;i < cnum;i++)
{
if(m_row!=NULL)
{
str += m_row[i];
str+=0x09;
}
else
{
str+="NULL";
}
}
str +="\n";
rnum++;
}
cout<<"rnum:"<<rnum<<endl;
mysql_free_result(m_res);
return str;
}
//插入数据
int VspdCToMySQL::InsertData(char * SQL,char * Msg)
{
char sql[2048];
sprintf(sql,SQL);
if(mysql_query(&mysql,sql) != 0)
{
Msg = "Insert Data Error";
return 1;
}
return 0;
}
//更新数据
int VspdCToMySQL::UpdateData(char * SQL,char * Msg)
{
char sql[2048];
sprintf(sql,SQL);
if(mysql_query(&mysql,sql) != 0)
{
Msg = "Update Data Error";
return 1;
}
return 0;
}
//删除数据
int VspdCToMySQL::DeleteData(char * SQL,char * Msg)
{
char sql[2048];
sprintf(sql,SQL);
if(mysql_query(&mysql,sql) != 0)
{
Msg = "Delete Data error";
return 1;
}
return 0;
}
//关闭数据库连接
void VspdCToMySQL::CloseMySQLConn()
{
mysql_close(&mysql);
}
#include "VspdCTOMySQL.h"
int main(int argc, char* argv[])
{
char* host="localhost";
char* user="root";
char* port ="3306";
char* passwd="";
char* dbname="image";
char* charset = "GBK";//支持中文
char* Msg = "";//消息变量
//初始化
VspdCToMySQL * vspdctomysql = new VspdCToMySQL;
if(vspdctomysql->ConnMySQL(host,port,dbname,user,passwd,charset,Msg) == 0)
printf("连接成功\n");
else
printf(Msg);
//查询
char * SQL = "SELECT id,number FROM abc";//从数据库image表abc查询id,name项的值
string str = vspdctomysql->SelectData(SQL,3,Msg);
if( str.length() > 0 )
{
printf("查询成功\n");
printf(str.data());
printf("\r\n");
}
else
{
printf(Msg);
}
//插入
SQL = "insert into abc values('fh','10')";
if(vspdctomysql->InsertData(SQL,Msg) == 0)
printf("插入成功\n");
//更新
//SQL = "update vcaccesstest set username = '修改了',passwd='2345' where ids = 3 ";
//if(vspdctomysql->UpdateData(SQL,Msg) == 0)
// printf("更新成功/r/n");
//删除
//SQL = "delete from vcaccesstest where ids = 3 ";
//if(vspdctomysql->DeleteData(SQL,Msg) == 0)
// printf("删除成功/r/n");
// vspdctomysql->CloseMySQLConn();
return 0;
}
2016-1-8 windows 7下安装mysql及其配置和运用的更多相关文章
- Windows系统下安装MySQL 8.0.11数据库
MySQL数据库是常用的数据库之一,而且该数据库开源免费,所以很多公司在使用.本文记录如何在Windows系统下安装MySQL数据库,本次安装的版本号为8.0.11,这个版本是当前的最新版本,据宣传, ...
- ubuntu下安装mysql和配置远程访问
ubuntu下安装mysql和配置远程访问 下载安装mysql sudo apt-get install mysql-client mysql-server 安装的时候会提示要设置root密码,如 ...
- CentOS双机中Docker下安装Mysql并配置互为主从模式
CentOS双机中Docker下安装Mysql并配置互为主从模式 目录 1.搜索镜像... 1 2.拉取镜像... 1 3.绑定端口: 1 4.配置文件(修改/etc/mysql/my.cnf文件): ...
- windows系统下安装MySQL
可以运行在本地windows版本的MySQL数据库程 序自从3.21版以后已经可以从MySQL AB公司获得,而且 MYSQL每日的下载百分比非常大.这部分描述在windows上安装MySQL的过程. ...
- windows linux 下安装mysql 报1045 等错误
曾经在windows 下安装mysql 没怎么出现过问题.而在linux下安装的时候出现了一些问题,昨天在windows 安装的时候也出现了1045 错误.就个人经历来看这个问题就是 root用户pa ...
- windows 虚拟环境下 安装 mysql 引擎一系列错误处理
报错现象 运行django 报错. 很明显是缺少引擎 下载引擎 django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb m ...
- CentOS7下安装MySQL并配置远程连接
一.CentOS7下安装MySQL数据库 CentOS7默认的安装包里面已经没有 MySQL-Server安装包了,远程镜像中也没有了. 默认的是MariaDB (MySQL的一个分支,开发这个分支的 ...
- 本地Windows环境下安装MySql
Windows 上安装 MySQL Windows 上安装 MySQL 相对来说会较为简单,你需要在 MySQL 下载中下载 Windows 版本的 MySQL 安装包. Download Link: ...
- Windows 7下安装MySQL Server卡在Apply Security Settings的解决方案(转)
如果操作无效,请卸载MySQL Server后换一个位置安装 例如默认的是C:\Program Files\MySQL 安装时选Custom修改到D:\Program Files\MySQL试试 == ...
随机推荐
- Given a linked list, return the node where the cycle begins. If there is no cycle, returnnull. Follow up: Can
Given a linked list, return the node where the cycle begins. If there is no cycle, returnnull. Follo ...
- BNU OJ 1027 金币系统
金币系统 Time Limit: 1000ms Memory Limit: 65535KB 64-bit integer IO format: %lld Java class name: ...
- IIS中如何应用程序启用https协议
首先已经安装完了SSL证书 1.找到需要添加的站点,右击 ---> 编辑绑定-->添加--->选择 ""https"-->选择"SSL ...
- zoj2112 主席树动态第k大 (主席树&&树状数组)
Dynamic Rankings Time Limit: 10 Seconds Memory Limit: 32768 KB The Company Dynamic Rankings has ...
- JAVA如何解压缩ZIP文档
代码片段: package org.yu.units; import java.io.Closeable; import java.io.File; import java.io.FileInputS ...
- POJ 1330:Nearest Common Ancestors【lca】
题目大意:唔 就是给你一棵树 和两个点,问你这两个点的LCA是什么 思路:LCA的模板题,要注意的是在并查集合并的时候并不是随意的,而是把叶子节点合到父节点上 #include<cstdio&g ...
- 算法复习——带修改莫队(bzoj2453)
题目: Description 你小时候玩过弹珠吗? 小朋友A有一些弹珠,A喜欢把它们排成队列,从左到右编号为1到N.为了整个队列鲜艳美观,小朋友想知道某一段连续弹珠中,不同颜色的弹珠有多少.当然,A ...
- 【树状数组区间修改单点查询】HDU 4031 Attack
http://acm.hdu.edu.cn/showproblem.php?pid=4031 [题意] 有一个长为n的长城,进行q次操作,d为防护罩的冷却时间,Attack表示区间a-b的墙将在1秒后 ...
- 【kmp或扩展kmp】HDU 6153 A Secret
acm.hdu.edu.cn/showproblem.php?pid=6153 [题意] 给定字符串A和B,求B的所有后缀在A中出现次数与其长度的乘积之和 A和B的长度最大为1e6 方法一:扩展kmp ...
- 使用nginx时,让web取得原始请求地址
问题描述 当使用nginx配置proxy_pass参数以后,后端web取得的Request.Uri是proxy_pass中配置的地址,而不是client访问的原始地址 举例说明: 假设nginx配置文 ...








