MySQL 基础安装篇:从环境准备到架构、事务、索引等多方面分享
原创
一、环境准备
在安装MySQL之前,需要准备好以下环境:
- 操作系统:以Linux为例,如CentOS、Ubuntu等
- 硬件要求:至少2GB内存,2GHz以上的CPU,至少10GB的磁盘空间
- 关闭防火墙或设置对应端口(默认3306)
- 关闭SELinux(可选)
二、安装MySQL
以下以CentOS 7为例,使用Yum仓库安装MySQL:
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
sudo yum install mysql-community-server
启动MySQL服务并设置开机自启:
sudo systemctl start mysqld
sudo systemctl enable mysqld
获取临时密码并登录MySQL:
grep 'temporary password' /var/log/mysqld.log
mysql -u root -p
登录后,需要修改root密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
三、架构介绍
MySQL采用客户端/服务器架构,关键包含以下组件:
- 客户端:与用户交互,发送请求给服务器
- 服务器:处理请求,返回于是给客户端
- 存储引擎:如InnoDB、MyISAM等,负责数据的存储和查询
四、事务
MySQL赞成事务,事务具有ACID属性:
- A(原子性):事务中的所有操作要么全部成就,要么全部挫败
- C(一致性):事务执行的于是必须是数据库状态的改变
- I(隔离性):一个事务的执行不能被其他事务干扰
- D(持久性):事务一旦提交,对数据库的修改是永久的
开启事务的命令:
START TRANSACTION;
提交事务的命令:
COMMIT;
回滚事务的命令:
ROLLBACK;
五、索引
索引是节约MySQL查询性能的重要手段,关键包括以下类型:
- B-Tree索引:适用于全键值、键值范围和键值排序的查询
- 哈希索引:只适用于全键值查询
- 全文索引:适用于全文搜索
创建索引的命令:
CREATE INDEX index_name ON table_name (column1, column2, ...);
删除索引的命令:
DROP INDEX index_name ON table_name;