0
点赞
收藏
分享

微信扫一扫

MySQL源码安装


​​mysql源码下载​​

​​mysql5.7安装​​

​​mysql5.7手册​​

wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.40.tar.gz   # 下载解压后看INSTALL文件,README文件

安装openssl到 /usr/local/openssl

wget https://www.openssl.org/source/openssl-1.1.1t.tar.gz

wget https://boostorg.jfrog.io/artifactory/main/release/1.81.0/source/boost_1_81_0.tar.gz

解压boost代码

cmake . -DWITH_SSL=/usr/local/openssl/1.1.1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=~/src

安装完成后mysqld初始化

./sql/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/5.7 --datadir=/data/mysqlfiles

* progname.c

/**
* Compile:
* gcc -c -I/usr/local/mysql/5.7/include ./progname.c -o ./progname.o
* gcc -o ./a.out ./progname.o -L/usr/local/mysql/5.7/lib -lmysqlclient -lpthread -lm -lrt -latomic -ldl
* echo -n "/usr/local/mysql/5.7/lib" >> /etc/ld.so.conf
* /sbin/ldconfig -v
* ./a.out
*/
#include <mysql.h>
#include <stdio.h>

int main() {
MYSQL mysql;
if(mysql_init(&mysql) == NULL) //初始化句柄mysql
{
printf("%d : error : %s\n", __LINE__, mysql_error(&mysql));
exit(1);
}
printf("mysql_handler=%p\n", (void *)&mysql);

if (mysql_library_init(0, NULL, NULL) != 0) //初始化mysql数据库
{
fprintf(stderr, "could not initialize MySQL client library\n");
exit(1);
}
if (NULL == mysql_real_connect(&mysql,
"127.0.0.1","seabig","123456","seabig_ticket",3306,NULL,0))
{
printf("%d : error : %s\n", __LINE__, mysql_error(&mysql));
exit(1);
}
if(mysql_set_character_set(&mysql, "utf8") != 0) //设置中文字符集
{
printf("%d : error : %s\n", __LINE__, mysql_error(&mysql));
exit(1);
}
printf("connect success!\n");

//
//中间部分为程序的主题部分
//

mysql_close(&mysql);
mysql_library_end();

return 0;
}

编译运行:

#!/bin/bash

gcc -c -I/usr/local/mysql/5.7/include ./progname.c -o ./progname.o
gcc -o ./a.out ./progname.o -L/usr/local/mysql/5.7/lib -lmysqlclient -lpthread -lm -lrt -latomic -ldl
# echo -n "/usr/local/mysql/5.7/lib" >> /etc/ld.so.conf
# /sbin/ldconfig -v
./a.out

mysql_handler=0x7ffc9ff45990
connect success!

举报

相关推荐

0 条评论