博客
关于我
Linux下使用C语言访问MySQL数据库(一):MySQL安装以及常用管理命令
阅读量:393 次
发布时间:2019-03-05

本文共 1933 字,大约阅读时间需要 6 分钟。

1. 前言

数据库系统是当代计算机系统的重要组成部分,因为几乎所有现行的应用程序都需要存储数据。数据库系统的首要功能是能借助计算机科学保管大量、各种类型的数据。数据库系统也包括数据处理部分,该部分能够对数据进行收集、存储、检索和维护,目的就是可以从大量原始数据中截取、推导出对使用者有价值的信息作为下一步处理的源信息。

2. 数据库基本概念

数据库系统能够通过计算机科学的方式存储和管理大量数据。数据库系统的核心功能是存储和处理数据,它还可以对数据进行检索和维护。数据库管理系统(DBMS)是数据库的核心组件,它提供了对数据库的操作接口和数据管理功能。常见的数据库管理系统包括MySQL、Oracle、Informix等。本文将以MySQL为例说明数据库开发的基础知识。

2.1 数据与数据库

数据是数据库存储的基本对象,可以是文字、图片、声音等形式。数据库可以理解为计算机上的大容量存储空间,是一个可以表现为多种形式的可共享的数据集合。

2.2 数据库管理系统

数据库管理系统(DBMS)是位于用户和操作系统之间的软件,它提供了对数据库的创建、使用和维护功能。DBMS能够统一管理数据库,确保数据的一致性和安全性。通过DBMS,用户可以使用命令或API对数据库中的数据进行操作。例如,MySQL提供了丰富的命令和函数,使开发人员能够方便地与数据库交互。

2.3 数据库语言

数据库语言通常分为两种:交互式命令语言和嵌入到设计语言中的数据库语言。交互式命令语言允许用户直接通过命令对数据库进行操作,而嵌入式语言则通过API函数实现数据库操作。

3. MySQL数据库

MySQL是一种功能强大、灵活性好且提供丰富API的数据库系统,广泛应用于基于数据库的动态网站开发。MySQL采用SQL语言标准,SQL语句的详细说明可以参考以下链接。

3.1 MySQL 安装

在终端上输入以下指令安装MySQL:

apt-get install mysql-server mysql-client

安装过程中会弹出窗口,设置根用户密码。安装完成后,MySQL服务器通常会自启动。可以通过以下命令检查MySQL服务器状态:

sudo netstat -tap | grep mysql

如果MySQL服务器未启动,可以手动启动:

sudo /etc/init.d/mysql restart

安装完成后,进入MySQL命令行界面:

mysql -u root -p

此时系统会提示输入密码。注意:-p后面的密码不需要空格隔开,直接输入 -ppassword 即可。例如,直接连接命令为:

mysql -u root -ppassword

输入密码后进入MySQL界面,退出时输入 quitexit

3.2 MySQL 管理

MySQL 提供了多种管理命令,帮助用户对数据库进行操作。所有管理命令都具有三个标准参数:

  • -u:用户名
  • -p:密码(可选)
  • -h:主机地址(可选)
3.2.1 mysqladmin

mysqladmin 是一个主要的管理命令,支持以下操作:

  • 创建数据库:create dbname
  • 删除数据库:drop dbname
  • 清洗表:flush-tables
  • 更新密码:password newpassword
  • 关机:shutdown
  • 查看状态:status
  • 查看变量:variables
  • 查看版本:version

例如,查看服务器状态:

sudo mysqladmin -u root -p status

3.2.2 mysqldump

mysqldump 用于将数据库备份到文件。支持多种选项,例如:

  • -add-locks:在导出表之前锁表
  • -add-drop-table:在 CREATE TABLE 语句之前自动生成 DROP TABLE
  • -compress:压缩客户端和服务器之间的数据

例如,将数据库 mysql 复制到文件 test.bak

mysqldump -u root -p mysql > /home/wangqingchuan92/Desktop/test.bak

3.2.3 mysqlshow

mysqlshow 用于显示服务器、数据库或表的信息。支持以下参数:

  • 没有参数时,显示所有数据库。
  • 一个数据库名,显示该数据库的所有表。
  • 一个数据库名和一个表名,显示指定列的信息。
  • 一个数据库名、一个表名和一个列名,显示指定列的信息。

例如,显示数据库 testdb 中的所有表:

mysqlshow -u root -p testdb

参考资料

刘学勇. 《Linux C编程从入门到精通》. 北京:电子工业出版社,2014.

转载地址:http://hldzz.baihongyu.com/

你可能感兴趣的文章
pyscopg2:是否可以在循环中动态添加 %s
查看>>
Pyserial 缓冲区的填充速度比我读的快
查看>>
PySpark - 在数据框中求和一列并将结果返回为 int
查看>>
pyspark On Yarn 的模块依赖问题
查看>>
PySpeech(Python)-转录MP3文件?
查看>>
Pyspider WebUI 未授权访问致远程代码执行漏洞复现
查看>>
pyspider爬虫学习-文档翻译-Architecture.md
查看>>
pytesseract.pytesseract.TesseractNotFoundError: tesseract is not installed or it‘s not in your path
查看>>
Pytesseract集字符白名单
查看>>
PyTorch DataLoader 报错 Segmentation fault (core dumped) 的原因及解决方案
查看>>
Pytest ------ 标记函数
查看>>
Pytest Fixture的妙用:深度解析范围和实际运用!
查看>>
Pytest monkeypatch不适用于导入的函数
查看>>
Pytest 命令行报错: Hint: make sure your test modules/packages have valid Python names.
查看>>
pytest 的 request fixture:实现个性化测试需求
查看>>
Pytest+Allure 接口自动化测试平台开发实战
查看>>
pytest+allure使用动态级别,参数化severity
查看>>
Pytest+Unittest+Git+Jenkins企业级CICD自动化测试平台建设方案
查看>>
Pytest+Yaml 数据驱动测试用例
查看>>
pytest-base-url插件之配置可选的项目系统URL
查看>>