ubuntu下安装软件相当简单,一条简单的 apt-get install 就可以解决,相比源码安装方式唯一的缺点就是,你无法自定义软件的安装目录。不过这也不是什么太大的缺点。下面我们就用 apt-get 工具来安装MySQL数据库。

安装之前先查看一下系统是否已经安装过MySQL了。如下如:

上图显示的结果表明,你的系统没有安装MySQL。下面执行 apt-get install mysql-server mysql-client进行安装。如下图:

输入 y 进行安装,之后会弹出一个界面要求输入MySQL管理员root的密码,之后再次确认。如下图:

然后系统会自动安装MySQL直到完成。

安装完成后,我们可以再次通过 netstat -tap | grep mysql 来查看系统是否已经有了 mysql 服务,如下图:

出现上面的信息,说明我们安装MySQL成功。系统每次启动时,都会自动开启mysql服务。我们也可以用service命令来手动开启或关闭mysql服务(前提是我们具有管理员权限),如下所示:

service mysql start

service mysql stop

service mysql restart

mysql 的配置文件在 /etc/mysql/my.cnf  这里就不介绍配置了。这里唯一需要说的是,mysql5.5版本的字符集设置问题,从下面的图也可以看到,character_set_database和character_set_server这两个的字符集默认是latin1,这是西方国家使用的字符集,不能显示汉字。因此,我们需要在配置文件中设置一下字符集。vim /etc/mysql/my.cnf打开配置文件,找到 [mysqld]节,添加 character-set-server=utf8保存即可。因为客户端的字符集默认是utf8,所以只用修改一下服务端就可以了。

登录数据库命令:mysql -u root -p 回车后,输入我们前面所设的MySQL管理员密码,就可以成功登录了。如图:

如果要查看数据库使用的字符集,可以输入 show variables like 'character%';  如图:

如果要更改这些,在配置文件 my.cnf 里更改即可。

至此,安装mysql成功。

下面介绍 mysql 的几个常用命令:

显示数据库列表:   show databases;
    切换一个数据库:   use  "db_name";
    查询数据库中的表: show tables;  (先选择一个数据库之后再查询表)
    显示某个表创建时的信息:show create table "table_name";
    查看表的字段信息及属性:describe "table_name";    desc "table_name";
 查看数据库运行环境信息:status;

创建一个数据库: create database [if not exists] "db_name";
    删除一个数据库: drop database [if exists] "db_name";

创建一个数据表: create table "table_name" (字段代号 字段类型,...);
    删除一个数据表: drop table "table_name";

向表中插入记录: insert into "table_name" [(字段1,字段2,...)] values (值1,值2,...);
    删除表中的记录: delete from "table_name" where nid=100;
    更新表中的记录: update "table_name" set level=2,salary=2000.0 where 条件
    查询表中的数据: select * from "table_name";
                  select 字段1,字段2 from "table_name";

接下来,说说怎么用C语言编程来操作数据库:

开发C程序的时候,我们需要 mysql.h 这个头文件。前面我们安装的数据库并不包含这个头文件,我们如果需要开发应用程序的话,必须再安装一个开发包,名字为 libmysqlclient-dev。如下操作:

至此,我们就可以用C语言开发应用程序了。需要操作数据库的话,只需包含 mysql.h 这个头文件。

下面给出一个简单的操作数据库的C语言代码示例:

 /* Simple C program that connects to MySQL Database server */
#include <stdio.h>
#include <mysql.h>
#include <stdlib.h> int main(void)
{
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row; char *server = "localhost";
char *user = "root";
char *password = "";
char *database = "mysql"; conn = mysql_init(NULL); /* Connect to database */
if (!mysql_real_connect(conn, server, user, password, database, , NULL, )) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit();
} /* send SQL query */
if (mysql_query(conn, "show tables")) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit();
} res = mysql_use_result(conn); /* output table name */
printf("MySQL Tables in mysql database:\n");
while ( (row = mysql_fetch_row(res)) != NULL)
printf("%s \n", row[]); /* close connect */
mysql_free_result(res);
mysql_close(conn);
}

编译的时候,使用如下代码:

gcc $(mysql_config --cflags)  xxx.c -o xxx $(mysql_config --libs)

本程序会连接本地数据库mysql,然后输出数据库 mysql 中包含的所有表信息。注意gcc的参数顺序。

Linux下安装MySQL数据库以及用C语言编程存取数据库的更多相关文章

  1. 【云服务器部署】---Linux下安装MySQL

    [云服务器部署]---Linux下安装MySQL 有关如何阿里云ECS建网站,推荐一片文章,我是是通过这篇文章安装tomcat和jdk的 网址:阿里云ECS建网站(建站)超详细全套完整图文教程! 注意 ...

  2. Linux 下安装mysql 5.7

    Linux 下安装mysql 5.7 本人首次安装时按照菜鸟教程的步骤一步一步来的,结果意外的是 装成5.6了,而且各种无厘头的问题,例如无法启动... 本文参照 大佬:‘这个名字想了很久~’ 的&l ...

  3. linux下安装mysql问题总结(一)mysqld_safe mysqld from pid file /usr/local/mysql/data/mysql.pid ended

    linux下安装mysql数据库 linux版本:CentOS release 6.8 (Final) mysql版本:mysql-5.7.16-linux-glibc2.5-x86_64.tar.g ...

  4. Linux下安装mysql(2) 及常见问题解决(CentOS)

    上一篇讲了基本的安装,这篇姑且算作进阶吧 链接Linux下安装mysql(1) 1.准备好mysql的rpm安装包 2.解压并进入usr/local/mysql 3.先执行useradd mysql( ...

  5. Linux下安装mysql(1)(CentOS)

    标题是(1)也就是说这次是基础安装,这种方式安装,没有组的创建,权限管理,配置文件更改等,仅仅是最基本的安装,适合第一次在linux上安装mysql的新手 1.准备好安装包(Linux-Generic ...

  6. Linux下安装mysql教程

    Linux下安装mysql  MySQL官网:https://dev.mysql.com/downloads/mysql/ 到mysql官网下载mysql编译好的二进制安装包,在下载页面Select ...

  7. Linux下安装 MySQL

    Ubuntu环境 使用二进制安装包安装,相对简单绿色 1.到官网下载二进制压缩包http://dev.mysql.com/downloads/mysql/ 2.选择需要的版本 目前最新为5.7.之后选 ...

  8. linux下安装mysql(rpm文件安装)

    数据库包下载: https://www.mysql.com/downloads/ 在GPL开原协议的社区开源版里边下载 我们用mysql community server里边的 其中workbench ...

  9. Linux 下安装mysql 8.0.11(CentOS 7.4 系统)

    CentOS 7 自带MariaDB (前mysql开发工程师开发的,因此与吗,mysql 有很多相似之处) 1.检查卸载自带的MariaDB rpm -qa|grep mariadb //查询出来已 ...

随机推荐

  1. Vs2015 win10虚拟机启动问题:无法设置UDP端口 解决方法 合集(转载)

    刚装的vs2015 社区版 出现这个问题,wp8.1和win10m模拟器都无法启动,找了好久找到的解决方案,放这儿供大家参考,免得大家像我一样走弯路: Windows Phone emulator n ...

  2. 【LeetCode】88 - Merge Sorted Array

    Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note:Yo ...

  3. C语言实现strcpy

    strcpy.h: #ifndef STRCPY_H #define STRCPY_H #include <stdio.h> char *cat_strcpy(char *dst, con ...

  4. cJSON学习笔记

    1.JSON格式简述 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写,同时也易于机器解析和生成.它基于JavaScript(Standa ...

  5. 谈FTP服务器攻击技术及其展望 (修改中)

      欢迎大家给我投票: http://2010blog.51cto.com/350944 请看下篇:谈FTP服务器攻击技术及其展望 (下)              全文完http://chengua ...

  6. 第三百四十五天 how can I 坚持

    最烦这个阶段了,飘忽不定,或许这种感觉未来会很值得回味. 我为什么会那么烦,是因为错过而悔恨,还是..其实我还是很在乎的,好想一切都随缘. 让我讲struts.springmvc,可是什么都不会. 我 ...

  7. mysql编码详解

    在开发程序的时候,我们使用mysql数据库开发的时候,有时会碰到自己明明输入的是中文,为什么数据库中存储的就是???? 1.在配置Connection URL时,加上?useUnicode=true& ...

  8. datagridview自动填充列头

    //填充datagridview dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;

  9. CodeForces 711D Directed Roads (DFS判环+计数)

    题意:给定一个有向图,然后你可能改变某一些边的方向,然后就形成一种新图,让你求最多有多少种无环图. 析:假设这个图中没有环,那么有多少种呢?也就是说每一边都有两种放法,一共有2^x种,x是边数,那么如 ...

  10. hdoj 5327 Olmpiad

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5327 #include<stdio.h> #include<cstring> ...