Mysql数据库基础

一:概念

Mysql在linux中分为mysql和mysqld。

mysql:数据库客户端

mysqld:数据库服务端(守护进程)
数据库的概念:存储在磁盘或者内存中的特定结构组织的数据文件,是数据的解决方案。

数据库服务:为用户提供数据库管理的一种网络服务。

实际上我们对数据库的操作,是使用在linux下安装的数据库应用程序通过mysqld的网络服务实现数据相关的操作。

二:Linux环境安装Mysql

bash 复制代码
#打印当前机器的Linux版本
[root@VM-4-11-centos ~]# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core) 
#在官网下载和Linux版本对应的rpm包
http://repo.mysql.com/
#安装rpm包
rpm -ivh mysql57-community-release-el7.rpm
#查看Linux的yum源是否被安装好
[root@VM-4-11-centos MySQL]# ls /etc/yum.repos.d/ -l
total 24
-rw-r--r-- 1 root root 1838 Apr 27  2017 mysql-community.repo
-rw-r--r-- 1 root root 1885 Apr 27  2017 mysql-community-source.repo
#使用yum安装mysql
yum install -y mysql-community-server
#查看MySQL是否安装成功
[root@VM-4-11-centos MySQL]# ls /etc/my.cnf #查看MySQL配置文件是否存在
/etc/my.cnf
[root@VM-4-11-centos MySQL]# which mysqld #查看MySQL服务端是否存在
/sbin/mysqld
[root@VM-4-11-centos MySQL]# which mysql #查看MySQL客户端是否存在
/bin/mysql
#启动MySQL服务器
systemctl start mysqld

所谓安装数据库服务器,只是在机器上安装了一个数据库管理系统程序,这个管理程序可以管理多个数据库,一般开发人员针对一个应用开发一个数据库。

为了保存实体中数据,一般会在一个数据库中建立多个表。

数据库服务器、数据库、表的关系如下:

三:修改数据库配置

bash 复制代码
vim /etc/my.cnf

为数据库设置以下内容,character-set是数据库默认字符集,default-storage-engine是默认存储引擎。并且在最后一行添加跳过密码检查的字段。

四:连接数据库

-h:连接至带数据库的主机的ip地址

-P:该主机的端口号

-u:数据库用户名

-p:输入密码

因为我们采用的是云服务器,数据库就在本地,所以使用本地主机ip地址。

设置开机自启动

bash 复制代码
#开启开机自启动
systemctl enable mysqld
systemctl daemon-reload

五:数据库语言(SQL)分类

DDL 【 data definition language 】 数据定义语言,用来维护存储数据的 结构
代表指令 : create, drop, alter
DML 【 data manipulation language 】 数据操纵语言,用来对 数据 进行操作
代表指令: insert , delete , update
DML 中又单独分了一个 DQL ,(data query language)数据查询语言,代表指令: select
DCL 【 Data Control Language 】 数据控制语言,主要负责权限管理和事务
代表指令: grant , revoke , commit

这个我们后面再具体讲。

六:存储引擎

存储引擎:数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。

MySQL的核心就是插件式存储引擎,支持多种存储引擎。

查看数据库引擎:

相关推荐
阿里嘎多哈基米17 分钟前
SQL 层面行转列
数据库·sql·状态模式·mapper·行转列
抠脚学代码26 分钟前
Ubuntu Qt x64平台搭建 arm64 编译套件
数据库·qt·ubuntu
jakeswang1 小时前
全解MySQL之死锁问题分析、事务隔离与锁机制的底层原理剖析
数据库·mysql
Heliotrope_Sun1 小时前
Redis
数据库·redis·缓存
一成码农1 小时前
MySQL问题7
数据库·mysql
吃饭最爱1 小时前
JUnit技术的核心和用法
数据库·oracle·sqlserver
专注API从业者1 小时前
Python/Java 代码示例:手把手教程调用 1688 API 获取商品详情实时数据
java·linux·数据库·python
雨落Liy2 小时前
SQL 函数从入门到精通:原理、类型、窗口函数与实战指南
数据库·sql
Kt&Rs3 小时前
MySQL复制技术的发展历程
数据库·mysql
小小菜鸡ing3 小时前
pymysql
java·服务器·数据库