怎么用visual studio打开mysql源码

怎么用visual studio打开mysql源码,第1张

1.下载

mysql++-3.1.0.tar.gz,解压,如:c:\mysql++-3.1.0

2、mysql++-3.1.0

目录下进入相应

Visual

Studio

版本(VS2003,VS2005,VS2008。VS2010可以使用VS2008),打开解决方案,这里以VS2008为例。

3、把mysql++设为启动项目,生成时可能会报错:错误为“无法打开libmysql.lib”

4、在mysql安装目录下找到libmysql.lib,复制到

C:\Program

Files\Microsoft

Visual

Studio

9.0\VC\lib

(这里以VS2008为例),再次生成成功。

5、设置

resetdb

为启动项,如果生成成功,则说明OK。

6、把

c:\mysql++-3.1.0\vc2008\Debug

目录下的

mysqlpp_d.dll、mysqlpp_d.lib、libmysql.dll、libmysql.lib

四个文件和

c:\mysql++-3.1.0\lib目录

拷贝到放置到新项目的根目录下。

7、右键新项目的属性——配置属性——链接器——输入——附加依赖项——添加

mysqlpp_d.lib

libmysql.lib

8、测试代码

#include

<iostream>

#include

<string>

#include

<cstdlib>

#include

"mysql++.h"

using

namespace

std

int

main()

{

mysqlpp::Connection

con(false)

con.set_option(new

mysqlpp::SetCharsetNameOption("gbk"))

cout

<<

"请输入数据库(root用户)连接密码:"

string

pwd

getline(cin,

pwd)

if

(!con.connect("tot",

"localhost",

"root",

pwd.c_str()))

{

cout

<<

"无法连接,请检查密码是否正确!"

<<

endl

return

-1

}

方法/步骤

1

[root@localhost soft]# groupadd mysql 添加mysql标准组

[root@localhost soft]# useradd -g mysql mysql 添加mysql用户并加到mysql组中

2

安装mysql

[root@localhost soft]# tar -zxvf mysql-5.5.45.tar.gz

[root@localhost mysql-5.5.46]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

# -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \#安装路径

# -DMYSQL_DATADIR=/usr/local/mysql/data\#数据文件存放位置

# -DSYSCONFDIR=/etc\#my.cnf路径

# -DWITH_MYISAM_STORAGE_ENGINE=1 \#支持MyIASM引擎

# -DWITH_INNOBASE_STORAGE_ENGINE=1 \#支持InnoDB引擎

# -DWITH_MEMORY_STORAGE_ENGINE=1 \#支持Memory引擎

# -DWITH_READLINE=1\#快捷键功能(我没用过)

# -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \#连接数据库socket路径

# -DMYSQL_TCP_PORT=3306\#端口

# -DENABLED_LOCAL_INFILE=1 \#允许从本地导入数据

# -DWITH_PARTITION_STORAGE_ENGINE=1\#安装支持数据库分区

# -DEXTRA_CHARSETS=all \#安装所有的字符集

# -DDEFAULT_CHARSET=utf8 \#默认字符

# -DDEFAULT_COLLATION=utf8_general_ci \#校验字符

3

修改目录所有者和所有组

[root@end mysql]# chown -R mysql:mysql .

4

初始化数据库

[root@end mysql]# scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/

5

复制mysql服务启动配置文件(注意:在CentOS 6.4版 *** 作系统的最小安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。)

[root@end mysql]# cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf

注册为服务

[root@end mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld

让chkconfig管理mysql服务

[root@end mysql]# chkconfig --add mysqld[root@end mysql]# chkconfig mysqld on

设置环境变量

在文件/etc/profile末尾添加

PATH=/usr/local/mysql/bin:$PATH

立即生效

[root@end mysql]# source /etc/profile

启动mysql服务

[root@end mysql]# service mysqld startStarting MySQL...

检查mysql服务是否启动

[root@end mysql]# netstat -tulnp |grep 3306

tcp0 0 0.0.0.0:33060.0.0.0:* LISTEN 24351/mysqld

修改mysql用户root密码

[root@end mysql]# mysql -uroot 登录到mysql,首次登陆无密码

设置mysql密码

mysql>SET PASSWORD = PASSWORD('endmoon')

Query OK, 0 rows affected (0.00 sec)

用设置的密码登录

[root@end mysql]# mysql -u root -pEnter password: endmoon

若要设置root用户可以远程访问,执行

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.20' IDENTIFIED BY 'password' WITH GRANT OPTIONQuery OK, 0 rows affected (0.00 sec)

配置防火墙

防火墙的3306端口默认没有开启,若要远程访问,需要开启这个端口

打开/etc/sysconfig/iptables,在-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT后面添加

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

[root@end mysql]# service iptables restart

使更改的防火墙配置生效 iptables:将链设置为政策 ACCEPT:filter[确定]

iptables:清除防火墙规则: [确定]

iptables:正在卸载模块: [确定]

iptables:应用防火墙规则:

mysql数据库的安装到这里就结束了

给你个过来人的建议。两个方式入手。

1、利用他。尽可能从大模块开始,用你的代码,去调用他。这是从功能特性角度,去理解各个模块的作用。这非常容易加深你对应用它的理解。

2、在代码中插入LOG,检测代码运行流程。

如果你只是静态的看代码,这个不现实的。

如果你想看一部分代码。首先你要想办法让这套代码RUN起来,如果你使用任何方式都无法让这段代码运行,我只能说,这段代码没有存在价值。为什么在里面,当然更大的可能是,你没找到开启它的方法。

动态分析法,是门学问。包括对运行态才出现BUG的系统进行DEBUG,当然不是GDB或者VC的F5模式。不过貌似学校没有这类教学。很工程的东西。我也只是经验所得。没有系统的理论化。

例如一套系统,你在不改代码的情况下,要能找到问题。甚至不能加LOG代码,只能通过反馈判断。不是不可能的。甚至有时必须这么做。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7103705.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-01
下一篇 2023-04-01

发表评论

登录后才能评论

评论列表(0条)

保存