ubuntu1404上搭建c++和MySQL开发环境

MySQL数据库编程技术是Linux c++程序员必备技能。本文将在虚拟机的ubuntu1404环境上搭建MySQL的开发环境,内容涉及:

  1. MySQL服务端和客户端安装
  2. MySQL编程的简单测试

参考文章:
https://my.oschina.net/u/3818901/blog/1785667
https://blog.csdn.net/qq_25730711/article/details/53503959
https://www.cnblogs.com/wunaozai/p/3618383.html

1. MySQL服务端和客户端安装
$ sudo apt-get install mysql-server            //下载安装MySQL服务端

弹窗如下,提示为root用户设置登录密码。(默认密码为空)
这里写图片描述
这里设置密码为一个空格:
这里写图片描述

$ sudo apt-get install mysql-client            //下载安装客户端
$ sudo apt-get install libmysqlclient-dev  //下载安装MySQL的c/c++开发接口

运行如下命令:

$ sudo netstat -tap | grep mysql

如下图表示安装成功且MySQL服务端处于启动状态。
这里写图片描述
安装mysql-server过程中会弹出输入密码的界面,是root用户登录MySQL服务端的密码。运行命令:

$ sudo mysql -uroot -p   //以root用户登录MySQL

此时需要键入刚才设置的密码即可登录成功:
这里写图片描述
MySQL客户端/服务端的工作配置文件都在/etc/mysql/my.cnf文件中,客户端:

[client]
port            = 3306  #默认连接的端口号
socket          = /var/run/mysqld/mysqld.sock

服务端:

[mysqld]
#
# * Basic Settings
#
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306  #默认监听的端口号
basedir         = /usr
datadir         = /var/lib/mysql    #数据库文件的存放路径
tmpdir          = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
bind-address            = 127.0.0.1     #绑定的IP地址
...

“mysqld”表示mysql是一个守护进程(Linux中的不成文规定,’d’结尾的都为守护进程)
若要卸载MySQL,执行命令:

$ sudo rm /var/lib/mysql/ -R
$ sudo rm /etc/mysql/ -R   
$ sudo apt-get autoremove mysql* --purge 
$ sudo apt-get remove apparmor
$ dpkg -l | grep mysql # 若没有返回,说明已完成卸载
2. MySQL编程的简单测试

2.1 建立数据库及表格
MySQL默认存在3种用户信息等数据库:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)

执行命令:

mysql> create database db_test;
mysql> use db_test;
mysql> create table tb_test(name varchar(255), num int(10), age int(4));
mysql> show create table tb_test;
mysql> select * from test;

2.2 c语言操作MySQL数据库

#include <stdio.h>
#include <mysql/mysql.h>
#include <stdlib.h>

int main(void)
{
    MYSQL conn;

    mysql_init(&conn);
    if (mysql_real_connect(&conn, "127.0.0.1", "root", " ", "db_test", 3306, NULL, 0))
    {
        if (mysql_query(&conn, "insert into tb_test values('user', 1, 12)") != 0)
        {
            printf("mysql_real_query failed: %s\n", mysql_error(&conn));
            exit(0);
        }   
        mysql_close(&conn); 
        exit(0);    
    }
    printf("mysql_real_connect failed: %s\n", mysql_error(&conn));
    return 0;
}

编译:

$ gcc 1_mysql_test.c -lmysqlclient
或者 
$ gcc 1_mysql_test.c `mysql_config --cflags --libs` //`是反单引号

运行后,再次查看数据库:
这里写图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值