❶ ubuntu安装了mysql 但是编译报错 mysql.h: No such file or directory
在Ubuntu系统下,安装了mysql服务器和客户端,却在尝试使用C语言编译mysql数据库时,出现了“fatal error: mysql.h: No such file or directory”的错误提示。这是因为系统中缺少mysql开发库。
解决方法是执行命令行操作:sudo apt-get install libmysql++-dev,以安装mysql开发库。在进行编译时,需添加连接选项-lmysqlclient,具体的编译命令如下:gcc -I/usr/include/mysql *.c -L/usr/lib/mysql -lmysqlclient -o *。
以上步骤能有效解决Ubuntu系统中编译mysql时出现“mysql.h: No such file or directory”的问题,确保了编译的顺利进行。
❷ linux 怎么用cmake安装mysql
方法/步骤
1
在安装mysql数据库服务器前,确保你的linux系统是可以连接网络的,下面我们将通过源码方式来安装mysql首先通过putty登入进你的Linux系统,确保系统中已经安装的gcc c++ 等编译环境,因为mysql从5.5版本开始是使用cmake编译的,如果三个环境都没安装,可以使用下面的命令进行安装:yum -y install make gcc-c++ cmake bison-devel ncurses-devel
2
查找系统里是否已经安装了mysql数据库的相关组件,使用命令:rpm -qa | grep mysql 进行查找,如果查找到,可以使用下面命令进行强制卸载:rpm -e --nodeps 包名
如果你当时在安装Linux系统时,使用的默认的安装选项,这一步可以跳过;
3
然后我们来下载mysql的源码安装包,使用下面的命令来下载wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.24.tar.gz下载的时间可能有点漫长,请耐心等待;
4
下载完成后,使用命令: ll 可以查看当前目前下存在 mysql-5.6.24.tar.gz文件然后使用下面的命令解压压缩包:tar -zxvf mysql-5.6.14.tar.gz
然后使用命令: ll 可以查看当前目前下存在 mysql-5.6.24 目录使用命令:cd mysql-5.6.24 切换到 mysql-5.6.24 这个目录下;
上面的步骤完成后,下面我们来开始编译mysql文件了,首先配置编译的相关参数,执行如下命令: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
接着使用 make && make install 来编译并安装mysql也可以分两步来执行:先运行 make ,完成后再运行 make install整个过程大概需要30分钟左右,请耐心等待,这段时间你可以做点别的事
安装完成后,我们还要建立mysql的配置,首先设置mysql的访问权限,使用命令查看是否已经存在mysql用户及用户组,查看用户列表命令:cat /etc/passwd 查看用户组列表命令:cat /etc/group
如果不存在,我们就要创建:添加用户组命令:groupadd mysql添加用户:useradd -g mysql mysql然后来修改之前安装的mysql所在目录的访问的用户及用户组输入命令:chown -R mysql:mysql /usr/local/mysql
然后是初始化mysql配置,切换到mysql安装目录:cd /usr/local/mysql执行初始化配置脚本,创建mysql自带的系统数据库:./scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
修改mysql配置文件,输入命令:vi my.cnf然后按键盘的"insert"键,然后通过键盘的方向键来移动光标到要修改的行,添加如下内容:server-id=1 report-port=3306 port=3306 datadir=/usr/local/mysql/datasocket=/var/lib/mysql/mysql.sock
这一步很重要,需要更改该配置文件的所有者:chown -R mysql:mysql /usr/local/mysql/my.cnf否则下面启动mysql服务会报错;
添加mysql到开机启动项,并启动mysql服务( 注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会到你安装的mysql目录找,在本例中就是 /usr/local/mysql/my.cnf。注意:在CentOS 6.4版操作系统的最小安装完成后,在/etc目录下会可能会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。 重命名的命令是:mv my.cnf my.cnf.bak)cp support-files/mysql.server /etc/init.d/mysqld #复制脚本 chmod +x /etc/init.d/mysqld #增加可执行权限 chkconfig --add mysqld #增加至sysV服务 chkconfig mysqld on #开机自启动service mysqld start #启动mysql服务netstat -aux|grep mysq #查看启动的mysql进程
添加mysql的环境变量,以方便以后的操作输入密码:vi /etc/profile在文件的底部添加如下内容:PATH=/usr/local/mysql/bin:$PATHexport PATH保存并退出,输入输入命令,使配置立即生效:source /etc/profile
安装好的mysql,默认root帐户帐户为空,下面我们来修改密码输入命令:mysql -uroot 回车后,然后输入命令:SET PASSWORD = PASSWORD('123456');
设置完成后,输入命令:quit; 退出mysql环境;
设置好 mysql密码,需要输入如下命令才能够正确登录进mysql:输入命令:mysql -uroot -p 回车后,会提示你输入密码,输入正确并执行后,会看到以mysql>开始的提示行,在这里你可以输入任何有效的sql查询语句:比如输入:show databases; 来显示所有的数据库,注意后面的分号不能丢失,它标识一行命令的结束。至此,恭喜你,mysql安装成功了。
❸ (转)C语言使用sqlite3.dll连接操作sqlite数据库
c或c++都可以使用sqlite3.dll进行sqlite数据库连接操作,因为该动态库提供的是C接口。
下载地址为SQLite下载页面。下载例如名为sqlite-dll-win64-x64-3370000.zip的文件,大小约为889.60 KiB,用于64位系统的SQLite版本3.37.0。
下载后会得到两个文件,其中我们仅需使用sqlite3.dll即可。如果在使用visual studio环境时需要sqlite3.lib,则可以通过visual studio提供的命令行工具,运行lib /def:sqlite3.def /MACHINE:X64生成该文件。不过,这里不需要lib文件,所以无需进行此步操作。
将dll文件复制到程序所在目录。然后下载源代码包如sqlite-amalgamation-3370000.zip,大小约2.39 MiB,包含作为合并版本的C源代码,版本为3.37.0。解压后仅需使用其中的sqlite3.h文件。
以下是使用方法的示例代码,包括一次性获取数据到内存的get_table、获取大量数据时使用游标的update、insert、update操作示例,以及delete操作类似insert。
代码包括了头文件的包含、函数定义和函数调用等细节。
例如,`sqlite3_test_get_table`函数用于获取数据库中特定表的数据,`sqlite3_test_update`函数用于更新数据,`sqlite3_test_insert`函数用于插入新数据。
示例代码中,使用`sqlite3_open`打开数据库,然后调用不同函数进行相应的数据库操作。最后使用`sqlite3_close`关闭数据库连接。
编译命令为`gcc .\main.c -L. -lsqlite3`。
更多详细信息和示例代码参考C语言使用sqlite3.dll连接操作sqlite数据库_-快乐的程序员-的博客-CSDN博客_c语言sqlite3数据库的使用
❹ 2G内存环境下MySQL编译安装全攻略2g内存编译mysql
2G内存环境下MySQL编译安装全攻略
MySQL是全球最流行的开源数据库,因其高性能、稳定性和可扩展性被广泛应用于各种应用场景。虽然官方提供了针对各种操作系统和架构的官方二进制包,但许多人更愿意通过编译源代码来获得更多的自定义和优化。本文将介绍在2G内存环境下编译安装MySQL的全过程。
第一步:准备工作
在开始编译MySQL之前,需要确保系统已经安装了必要的依赖库和工具。以下是几个常用的依赖库和工具:
1. gcc
gcc是GNU的C语言编译器,是Linux系统下的标准编译工具,任何高级编程语言都需要通过gcc编译器进行编译。安装gcc的命令如下:
yum install gcc
2. CMake
CMake是一个跨平台的自动化构建工具,可以生成各种工程文件,如Makefile、Visual Studio等。安装CMake的命令如下:
yum install cmake
3. ncurses
ncurses是一个开源的、可移植和API一致的终端屏幕控制库。许多Linux上的终端工具都需要ncurses库的支持。安装ncurses的命令如下:
yum install ncurses-devel
4. bison
bison是一款生成编译器的自由软件,常被用来生成语法解析器。MySQL使用bison生成语法解析器,安装bison的命令如下:
yum install bison
5. openssl
OpenSSL是一个开源的安全套接字层(Secure Sockets Layer)和传输层安全(Transport Layer Security)协议的开发库。MySQL在安装时需要使用openssl,可以通过以下命令安装:
yum install openssl-devel
第二步:下载MySQL源码
访问MySQL官网,下载源码包。本文以5.7.35版本为例:
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.35.tar.gz
下载完成后,将源码包解压到目录中:
tar zxvf mysql-5.7.35.tar.gz
第三步:配置编译选项
进入MySQL源码目录,执行以下命令进行编译选项配置:
cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DWITH_BOOST=boost \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_DEBUG=0 \
-DWITH_SSL=system \
-DENABLED_LOCAL_INFILE=1
其中,各选项含义如下:
1. CMAKE_INSTALL_PREFIX
MySQL的安装目录,默认安装到/usr/local/mysql目录下。
2. MYSQL_DATADIR
MySQL的数据目录,默认安装到/usr/local/mysql/data目录下。
3. MYSQL_UNIX_ADDR
MySQL的UNIX Domn Socket地址,默认安装到/usr/local/mysql/mysql.sock。
4. WITH_BOOST
启用BOOST库加速编译速度。
5. WITH_*_STORAGE_ENGINE
启用各种存储引擎。
6. WITH_DEBUG
开启调试模式。
7. WITH_SSL
启用SSL加密。
8. ENABLED_LOCAL_INFILE
启用从本地加载数据。
第四步:编译安装MySQL
执行以下命令进行编译和安装:
make && make install
编译完成后,会将MySQL二进制文件和支持文件安装到/usr/local/mysql目录下。
第五步:启动MySQL
执行以下命令启动MySQL:
/usr/local/mysql/bin/mysqld_safe –user=mysql &
等待片刻后,可以尝试连接到MySQL服务器:
/usr/local/mysql/bin/mysql -u root -p
输入密码,如果能够成功登录,则表示MySQL编译安装已经完成。
总结
本文介绍了在2G内存环境下编译安装MySQL的全过程,需要注意的是,在低内存环境下编译MySQL需要确保操作系统配置合理,否则可能会因为系统资源不足而导致编译失败。在实际生产环境中,建议使用高配置的服务器或者使用现成的MySQL二进制包。