文章目录:
1. 安装mariadb环境
mariadb是mysql的一个分支版本(free)
1.1查看环境中是否有mariadb:
在root用户下通过 rpm -qa | grep mariadb 命令查看
1.2安装mariadb:
yum install -y mariadb
yum install -y mariadb-server
yum install -y mariadb-devel
1.3启动mariadb:
service mariadb start 启动
service mariadb restart 重启
service mariadb stop 停止
1.4注意:
- mariadb启动之后的服务器进程名叫做mysqld
- 启动mysql的时候,是启动mysqld_safe这个守护进程,由该守护进程将mysqld服务端启动起来的
- mysqld_safe:mysql服务端的守护进程
- mysqld:mysql服务端程序
- 当mysql程序异常崩溃(终止)之后,是由mysqld_safe进程快速重新启mysqld服务端进程
1.5异常场景:
启动报错:一般情况下,都是/var/lib下的mysql文件夹的内容和启动的服务端程序不匹配
解决方案:将mysql文件夹重命名,再重启
2. 连接mysql服务端
(1)navicat(可视化的数据库连接软件)
(2)mysql(客户端)
① 客户端mysql和服务端mysqld的关系如下图所示:
② 服务端mysqld连接层
Ⅰ. 建立连接
- 客户端和服务端在同一台机器,本地域套接字(AF_UNIX),一台机器当中的两个进程间通信
- 客户端和服务端不在一台机器,TCP协议
Ⅱ. 校验用户名和密码(强校验)
Ⅲ. 校验客户端的IP地址
- 一个mysqld服务端可以管理多个数据库
- 数据库在Linux操作系统当中是一个独立的文件夹,文件夹下的内容是和数据表强相关的内容
③ 常见的mysql服务端分层关系
3.数据库的分类
- DDL数据定义语言,用来维护存储数据的结构
代表指令: create, drop, alter - DML数据操纵语言,用来对数据进行操作
代表指令: insert,delete,update
DML中又单独分了一个DQL,数据查询语言,代表指令: select - DCL数据控制语言,主要负责权限管理和事务
代表指令: grant,revoke,commit
4.数据库常用语句
4.1连接数据库服务器的命令
mysql -u [用户名] -p [密码];
4.2查看数据库
show databases;
4.3进入到具体的数据库
use [数据库名];
4.4查看数据库下都有哪些数据表
show tables;
4.5创建数据库
create database [数据库名];
4.6创建数据库表
create table [表名称](表字段1名称 表字段1类型,表字段2名称 表字段2类型,…);
- CHARACTER SET: 指定数据库采用的字符集
- COLLATE: 指定数据库字符集的校验规则(只会影响是否对大小写敏感)
修改字符集
create database [数据库名] charset=utf8;
collate:只会影响是否对大小写敏感
校验规则:
_ci:对大小写不敏感 eg:create database test1 collate utf8_general_ci;
_bin:对大小写敏感eg:create database test2 collate utf8_bin;
4.7查看表结构
desc [表名称] —>查看表结构(表妹一列的具体信息 eg:字段名称,字段类型,属性等)
4.8查看创建表的语句
show create table [表名称];
或
show create table [表名称]\G;
- 字符集:决定数据库保存数据的时候采用什么字符集(决定数据库能够存储什么样的数据 eg:英文、中文…)---->一般选择utf8,latin1 采用一个字节表示字符
- 存储引擎:决定了数据如何进行存储(一般在公司中存储引擎选InnoDB,因为支持事务)
InnoDB存储引擎:
myISAM存储引擎:
①users.frm:表结构
②users.MYD:表数据
③users.MYI:表索引- 数据库中的数据是在ibdata1当中进行存储的
4.9全列插入:
insert into [表名] valuse(col1caluse,col2valuse,…);
4.10多行插入:
insert into [表名称] values(1,‘关羽’),(2,‘张飞’);
4.11修改数据库
alter database [数据库名] 修改的项;
增加一列(默认在最后一列增加)
alter table [表名称] add [列名称] [列类型];
在列名称1后面增加一列
alter table [表名称] add [列名称] [列类型] after [列名称1];
修改类型
alter table [表名称] modify [列名称] [列类型];
删除某一列(如果删除某列,则该列的数据也会被删除)
alter table [表名称] drop [列名称];
修改表名称
alter table [表名称] rename to(可省略) [新表名称];
4.12删除数据库
drop database [数据库名称];
4.13备份和恢复
备份:
mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径
eg:(退出连接)mysqldump -P3306 -u root -p123456 -B mytest > ./mytest.sql
恢复:
source 路径;
eg:source D:/mysql-5.7.22/mytest.sql;