数据库存储引擎有哪些
1、InnoDB存储引擎:默认引擎,最常用的。
InnoDB是事务型数据库的首选引擎,支持事务安全表(ACID),支持行锁定和外键;InnoDB是默认的MySQL引擎
InnoDB特点:
支持事务处理,支持外键,支持崩溃修复和并发控制。如果需要对事务的完整性要求比较高(比如银行),要求实现并发控制(比如售票),那选择InnoDB有很大的优势。如果需要频繁的更新、删除操作的数据库,也可以选择InnoDB,因为支持事务的提交(commit)和回滚(rollback)。
2、MyISAM存储引擎:(了解)
MyISAM基于ISAM存储引擎,并对其进行扩展。它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。MyISAM拥有较高的插入、查询速度,但不支持事务。
MyISAM特点:
插入数据快,空间和内存使用比较低。如果表主要是用于插入新记录和读出记录,那么选择MyISAM能实现处理高效率。如果应用的完整性、并发性要求比较低,也可以使用。
3、MEMORY内存型引擎(了解)
MEMORY存储引擎将表中的数据存储到内存中,为查询和引用其他表数据提供快速访问
MEMORY特点:
所有的数据都在内存中,数据的处理速度快,但是安全性不高。如果需要很快的读写速度,对数据的安全性要求较低,可以选择MEMOEY。它对表的大小有要求,不能建立太大的表。所以,这类数据库只使用在相对较小的数据库表。
4、Archive(归档引擎)
安装数据库
[root@mysql-server ~]# yum install -y mysql-community-server
启动服务
[root@mysql-server ~]# systemctl start mysqld
设置开机启动
[root@mysql-server ~]# systemctl enable mysqld
查看状态
systemctl status mysqld
看下日志是否启用
tail -f /var/log/mysqld.log
看下端口是否正常
ss -ntpl | grep 3306
查看密码
cd /var/log ls 有一个mysqld.log文件
cat mysqld.log 查看文件、
cat mysqld.log | grep password
grep 'temporary password' /var/log/mysqld.log
grep password /var/log/mysqld.log
登录以后修改口令
yum安装修改密码方法
mysql>alter user 'root'@'localhost' identified by 'QianFeng@123';
mysqladmin -u root -p'WenKai@123' password 'WenKai@456'
注:修改密码必须大小写数字和特殊符号都有。
二进制安装默认情况下没有开启复杂口令
set password='新口令';
set password='123456';
exit
登录mysql以后修改口令方法(2),并取消口令过期
alter user user() identified by '123456';
update mysql.user set password_expired='N';
flush privileges;
exit
在外部修改口令
/usr/local/mysql/bin/mysqladmin -u root -p password 'QianFeng@123'
清理安装环境:
# yum erase mariadb mariadb-server mariadb-libs mariadb-devel -y
yum remove mysql-community-server -y
可能会有残留 查询一下是否有这些安装包
rpm -qa | egrep "mariadb mariadb-server mariadb-libs mariadb-devel"
rpm -qa | egrep "mariadb"
查询mysql是否存在 有的话就不用删
id mysql
# rm -rf /etc/my* //配置文件
ls /etc/my*
# rm -rf /var/lib/mysql //清库
cd /var/lib/mysql
二进制包装好后不想要怎么办
第一步 需要先停服务
systemctl stop mysqld
cd /usr/local ll
rm -rf mysql
mysql是登录的
mysqld是启服务的
192.168.171.16的原始密码
ru2,qoT%KQR9
192.168.171.15的原始数据库密码
WenKai@123
mysql -uroot -p’3TuWoBtCGr-o’
创建库
库----相当于一个目录,存放数据的
库里面存放的表, 相当于是文件。
每一行叫做记录,除第一行。
每一列叫一个字段。列上面的第一个叫字段名称。
创建一个库:---->查看库--->进入这个库----->创建表----->查看表:查看表名,表的字段(表结构),表里面的内容(表记录),查看表的状态----->修改表:添加字段,删除字段,修改字段----->修改记录(更新记录),添加记录,删除记录。各种查询,删除表,删除库。
1.创建库
mysql> create database 库名;
mysql> create database qf2401;
2.查看数据库
mysql> show databases;
3.进入数据库
mysql> use 库名
4.查看当前所在的库
mysql> select database();
5删除库
drop database qf2401;
设置强口令
openssl rand -base64 12 | tr -d '/+%=' | cut -c 1-12
数据库连接文件:ip 端口 数据库名称 用户名称 口令
授权 设置口令 访问许可 一键完成
root为普通用户授权
create database qf2401; 建库
grant all privileges on qf2401.* to 'qf2401'@'%' identified by '123456';
qf2401.* 数据库名 .*所有的表
'qf2401' '用户名'@'授权主机'
identified by 访问口令
flush privileges; 刷新
mysql -uroot -p -h 10.36.108.254 登录远程主机
授权root
grant all privileges on *.* to 'root'@'%' identified by '123456';
*.*任意数据库
'root'@'%' :root登录任意主机
identified by '123456'
存储引擎查看:
mysql> show engines;
看你的mysql当前默认的存储引擎:
show variables like '%storage_engine%';