数据库分类
- 关系型数据库: Mysql, Oracle(甲骨文公司), SQL Server,…
- 非关系型数据库: redis, mongodb…
基本术语
- 数据库:database
- 数据表:table
- 列
- 行
- 主键
- 表头
create table employee(id varchar(50), name varchar(50), age int) default charset=utf8;
insert into employee values ('1', '粉条', 10);
create table if not exists employee(id varchar(50), name varchar(50), age int) default charset=utf8;
数据库安装
1.安装mysql
yum search mariadb #查找与mariadb有关的软件包
yum install mariadb mariadb-server -y #安装mariadb的服务端和客户端
2.启动mariadb服务
systemctl start mariadb
systemctl enable mariadb
3.mariadb监听的端口
netstat -antlpe | grep mysql
ss -antlpe | grep mysql
vim /etc/services #所有服务与端口默认的对应关系
mariadb的初始化
1.设置mysql的登录密码
mysql_secure_installation
mysql -uroot -p
2.显示数据库
show databases;
3.进入数据库,显示数据库中的表
use mysql;
show tables;
4.显示表的结构
desc user;
5.显示表中的内容,显示表中的某几列
select * from user;
select Host,User,Password from user;
6.创建数据库,创建表
create database test;
create table testuser(username varchar(10),passwd varchar(6));
insert into testuser values('user1','123'); #向表中插入内容
insert into testuser(passwd,username) values('456','user2'); #按指定顺序向表中插入内容
update testuser set passwd='456' where username='user1'; #更新表中内容
alter table testuser add sex varchar(3); #加sex列到testuser表中
delete from testuser where username='user1'; #删除表中用户名为user1的记录
drop table testuser; #删除表testuser
drop database test; #删除数据库test
用户和访问权限操作
creat user test@localhost identified by '123'; #创建用户test,可在本地登录,密码为123
creat user test@% identified by '123'; #创建用户test,可在远程登录,密码为123
creat database mariadb; #创建数据库mariadb,对普通用户进行
grant all on mariadb.* to test@localhost;
#给test@localhost用户授权,如果为all,授权所有权限(insert,update,delete,select,create)
flush privileges; #刷新重载授权表
show grants for test@localhost; #查看用户授权
revoke delete,update on mariadb.* from test@localhost;
#删除指定用户授权
drop user test@localhost;
#删除指定用户
忘记root密码
1. 关闭mariadb服务
systemctl stop mariadb
2. 跳过授权表
mysqld_safe --skip-grant-table &
3. 修改root密码
mysql
> update mysql.user set Password=password('westos') where User='root';
4. 关闭跳过授权表的进程,启动mariadb服务,使用新密码即可
ps aux | grep mysql
kill -9 pid
mysql -uroot -p
备份和恢复
备份:
mysqldump -uroot -p mariadb >mariadb.dump
mysqldump -uroot -pwestos --no-data mariadb > `date +%Y_%m_%
d`_mariadb.dump
mysqldump -uroot -pwestos --all-databases >mariadb4.dump
恢复:
mysqladmin -uroot -pwestos create mariadb2
mysql -uroot -pwestos mariadb2< mariadb.dump
数据类型
- 数值
- 日期
- 字符串
- 属性设置