http://www.jb51.net/article/46139.htm

1. MySQL的安装与配置:

在Ubuntu下安装MySQL方法很简单,使用如下命令:

复制代码 代码如下:

sudo apt-get install mysql-server

安装的过程中系统会提示设置root密码,此过程可以跳过,但是建议在安装时提示设置root密码的时候自行设置,免得后面设置麻烦。安装结束之后,系统会启动mysql服务,可以使用命令去查看来验证mysql服务是否已经安装成功:

复制代码 代码如下:

ps -el | grep mysql

如果mysql服务没有正常的运行,可以使用下面指令对mysql服务进行重启:

复制代码 代码如下:

sudo service mysql restart

喜欢使用Workbench界面的,还需要安装Workbench:

复制代码 代码如下:

sudo apt-get install mysql-workbench

Workbench的启动使用如下命令:

复制代码 代码如下:

mysql-workbench --log-level=debug3 --verbose

2. MySQL命令行:

我们使用root去登录MySQL,然后做相关的操作:

复制代码 代码如下:

mysql -u root -p

在此,系统会提示输入密码,只需要输入之前设置的MySQL密码即可,然后程序会进入mysql命令行模式下,假设我们需要查看user信息,我们使用如下命令:

复制代码 代码如下:

use mysql
SELECT host, user, password FROM user;

MySQL会返回所有host,user和password等信息。其他比较复杂的操作,诸如添加数据库,添加表等和普通的数据操作命令一致,后面会以一个实例来说明。让我们赶快进入Linux下C操作MySQL的实践吧!

3. 使用C语言管理MySQL数据库:

首先,我们需要安装在Linux下操作MySQL多依赖的库,安装命令如下:

复制代码 代码如下:

sudo apt-get install libmysqlclient-dev

安装了这个之后,我们编程所需要的头文件,库文件等就齐全了,让我们开始C编程之旅吧!

首先,让我们准备一个我们用来折腾的空间,也就是准备一个折腾专属账户,一个折腾专属数据库和数据表等:

复制代码 代码如下:

#添加账户
GRANT ALL ON *.* TO rick@localhost IDENTIFIED BY 'secret'
\q
#使用新创建的rick账户登录
mysql -u rick -p
#创建数据库
CREATE DATABASE foo;

然后,我们使用一个sql文件插入数据表和测试数据:

复制代码 代码如下:

--
-- Create the table children
--
CREATE TABLE children (
    childno int(11) NOT NULL auto_increment,
    fname varchar(30),
    age int(11),
    PRIMARY KEY (childno)
);
--
-- Populate the table 'children'
--
INSERT INTO children(childno, fname, age) VALUES (1, 'Jenny', 21);
INSERT INTO children(childno, fname, age) VALUES (2, 'Andrew', 17);
INSERT INTO children(childno, fname, age) VALUES (3, 'Gavin', 8);
INSERT INTO children(childno, fname, age) VALUES (4, 'Duncan', 6);
INSERT INTO children(childno, fname, age) VALUES (5, 'Emma', 4);
INSERT INTO children(childno, fname, age) VALUES (6, 'Alex', 15);
INSERT INTO children(childno, fname, age) VALUES (7, 'Adrian', 9);

将上述sql语句存为create_children.sql,然后使用下列命令导入MySQL数据库foo:

复制代码 代码如下:

mysql -u rick --password=secret foo
\. create_children.sql

好了,写个demo进行测试吧:

复制代码 代码如下:

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

#include "mysql.h"

int main(int argc, char *argv[]) {
    MYSQL my_connection;
    int res;

mysql_init(&my_connection);
    if (mysql_real_connect(&my_connection, "localhost",
                "rick", "secret", "foo", 0, NULL, 0)) {
        printf("Connection success\n");
        res = mysql_query(&my_connection, "INSERT INTO children(fname, age) VALUES('Ann', 3)");
        if (!res) {
            printf("Inserted %lu rows\n",
                    (unsigned long)mysql_affected_rows(&my_connection));
        } else {
            fprintf(stderr, "Insert error %d: %s\n", mysql_errno(&my_connection), mysql_error(&my_connection));
        }

mysql_close(&my_connection);
    } else {
        fprintf(stderr, "Connection failed\n");
        if (mysql_error(&my_connection)) {
            fprintf(stderr, "Connection error %d: %s\n", mysql_errno(&my_connection), mysql_error(&my_connection));
        }
    }
    return EXIT_SUCCESS;
}

将上述代码保存为demo.c。上述代码中,我们需要包含mysql.h头文件来使用mysql提供的API对MySQL进行操作。程序写好了,编译过程需要加入需要的链接信息:

复制代码 代码如下:

gcc -I/usr/include/mysql demo.c -L/usr/lib/mysql -lmysqlclient -o demo

好了,程序成功编译,运行一下试试吧:

复制代码 代码如下:

./demo

#结果如下
Connection success
Inserted 1 rows

linux安装mysql和使用c语言操作数据库的方法 c语言连接mysql相关推荐

  1. yii mysql_Yii2框架操作数据库的方法分析【以mysql为例】

    本文实例讲述了Yii2框架操作数据库的方法.分享给大家供大家参考,具体如下: 准备数据库 DROP TABLE IF EXISTS `pre_user`; CREATE TABLE `pre_user ...

  2. C语言操作数据库(一)

    Ubuntu18.04 C语言操作Mysql 准备环境 - Ubuntu18.04 - Mysql5.7.32 - gcc 安装 Ubuntu与gcc的安装不赘述,Mysql安装教程如下: sudo ...

  3. shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查)

    shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查)Shell脚本与MySQL数据库交互(增删改查)# 环境准备:安装mariadb 数据库 [root ...

  4. 易语言操作数据库之EDB数据库

    是基于游戏账号信息管理数据库管理模板,包括游戏账号的添加,读取到超级列表框和高级表格,账号数据的读取,修改,删除,增加,搜索等等实用功能. 适合于游戏账号比较复杂的情况,比如账号,密码,等级,角色,区 ...

  5. pdo mysql 建库_一帖让PHP小白彻底了解PDO操作数据库的方法

    php与mysql的连接有三种API接口,分别是:PHP的MySQL扩展 .PHP的mysqli扩展 .PHP数据对象(PDO) .在这三种方法中,"民间"很多是倾向于使用PDO, ...

  6. linux 安装程序丢失链接动态库,Linux安装软件过程中提示缺少动态链接库.so的解决方法...

    Linux在安装软件的时候有时会出现错误,提示缺少动态链接库.so,该问题是由什么原因导致的呢? 情况分析: 1.缺少动态连接库.so-cannot open shared object file:N ...

  7. cwntos新建目录挂载磁盘_详解Linux磁盘挂载、分区、扩容操作的实现方法

    概述 今天主要分享下关于Linux磁盘挂载.分区.扩容操作的实现方法,先介绍下基本概念 1.磁盘 在Linux系统中所有的设备都会以文件的形式存储.设备一般保存在/dev目录下面,以sda.sda1. ...

  8. mysql 怎么设置ip地址_Mysql设置用户指定ip地址操作数据库的方法

    Mysql设置用户指定ip地址操作数据库的方法 发布时间:2020-09-29 15:00:47 来源:亿速云 阅读:65 作者:小新 这篇文章主要介绍Mysql设置用户指定ip地址操作数据库的方法, ...

  9. java连接mysql数据库时出现乱码_java连接mysql数据库乱码怎么办

    解决方法一: mysql安装时候的编码, 看下my.ini,有无 [mysql]default-character-set=utf8[client] default-character-set=utf ...

最新文章

  1. orion的简单测试
  2. C++ decltype类型指示符
  3. Spark on Yarn 模式编写workcount实例
  4. 用Express、MySQL搭建项目(接口以及静态文件获取、文件上传等)
  5. k64 datasheet学习笔记3---Chip Configuration之System modules
  6. Linux下让Eclipse支持Python
  7. LINUX内核的进程调度策略
  8. kali linux查看局域网的电脑,kali linux 如何查找局域网ip
  9. 安卓bin固件文件编辑器_通刷版魔百盒九联UNT401H海思Hi3798MV310芯片红外蓝牙语音遥控免拆及强刷固件及刷机教程202009版...
  10. 接口测试工具-apifox
  11. FlashFXP 自动上传备份到指定FTP服务器的方法
  12. typedef定义结构体数组类型
  13. ps新手零基础知识入门教程学习_图文
  14. java技术经理面试题
  15. 【C语言】函数详解(入门到进阶)
  16. 【IT之路】微信小程序之美化
  17. Modified Polygon (Allow modified: No), (Allow shelved: No)/修改的多边形(允许修改:否)(允许搁置:否)
  18. 需求:定义老师和学生类,然后写代码测试;最后找到老师类和学生类当中的共性内容,抽出一个父类,用继承的方式改写代码,并进行测试
  19. 公司人才中介平台的设计与实现
  20. 现在捡芝麻都需要有见识吗?

热门文章

  1. ubuntu 开发板ping通虚拟机挂载nfs服务器
  2. flash builder4.7 for Mac升级AIRSDK详解
  3. 继承之接口知识点和思考练习
  4. 用javascript读取xml,并进行修改xml数据,解决保存没有权限问题
  5. 基于android平台的24点游戏设计与实现需求分析,基于Android平台的24点游戏设计与实现需求分析_毕业设计论文.doc...
  6. scipy是python下的什么_SciPy是什么
  7. php 获取每年的节假日,shell获取每年农历节日的日期
  8. oracle的等保,Oracle等保测评相关指令
  9. cbrt c语音_isgraph - [ C语言中文开发手册 ] - 在线原生手册 - php中文网
  10. Linux入门笔记——cat、sort、uniq、wc、head、tail、tee