赞
踩
#检测是否已安装MySQL
rpm -qa | grep mysql
#普通删除
rpm -e mysql
#强力删除
rpm -e --nodeps mysql
#安装
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum update
yum install mysql-community-server
#启动
systemctl start mysqld
systemctl stop mysqld #停止
systemctl restart mysqld #重启
systemctl enable mysqld #设置开机启动
systemctl status mysqld #查看数据库状态
MySQL更改数据目录
#更改数据目录属主
chown -R mysql:mysql /home/mysql/
#修改/etc/my.cnf,datadir="/home/mysql"
vi /etc/my.cnf
数据库常用操作
--创建用户
CREATE USER 'userName' IDENTIFIED BY 'psssword';
--赋权 privileges:all,select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file
GRANT privileges ON dbName.* TO 'userName'@'%' IDENTIFIED BY 'psssword' ;
--刷新权限
flush privileges;
--查看权限
show grants for 'userName'@'%'
MySQL常用存储引擎
MySQL索引的数据结构
B+Tree在Btree上做了哪些修改
聚集索引和非聚集索引
覆盖索引和非覆盖索引
索引对数据库性能的影响
提高查询速度
降低插入、删除、更新的速度,因为在执行写操作时,还要维护索引
索引占用物理空间
什么时候会索引失效
Innerdb主键为什么推荐整型自增
MVCC多版本并发控制
事务的四大特性
一致性,原子性,隔离性,持久化
事务的原子性是如何保证的
事务的隔离级别
锁
基于锁的属性:共享锁,排他锁
基于锁的粒度:行锁,表锁,页锁,记录锁,间隙锁,临键锁
根据锁的状态:意向共享锁,意向排他锁
共享锁:共享锁又称读锁(S锁),数据加了读锁后可以继续加读锁,但不能加写锁
排他锁:排他锁又称写作(X锁),数据加了排他锁后,不能再加任何锁
记录锁:是行锁的一种,但只锁住一行。命中的条件字段必须是唯一索引
行锁:锁住的是表的一行或多行,其他事务不能访问锁住的行,但可以访问其他行
间隙锁:是行锁的一种,锁住的是一个区间,当表的相邻ID间存在空隙就会形成一个区间,遵循左开右闭原则。只会出现在可重复读的事务级别中,防止幻读
临键锁:是行锁的一种,是InnoDB的行锁默认算法,是记录锁和间隙锁的结合,会把查询出来的记录和该范围内的间隙,以及相邻的下一个区间都锁住。可以避免脏读,重复读,幻读。必须命中索引,并且是范围查询才会触发
页锁:锁住的是页
表锁:锁住的是整个表,其他事务不能访问该表
意向共享锁:
意向排他锁:
乐观锁和悲观锁
mysql的执行计划怎么看
使用explain
数据库优化
主从同步过程
mysql的主从复制有3个线程:master(binlog dump thread)、slave(IO thread、SQL thread)
分库分表
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。