网站建设课程心得,什么是网络推广?,做微信小程序用什么软件,河南做网站找谁文章目录1. centos7 安装Mysql2. 数据库的概念3. 数据库下创建库#xff0c;表4. 库#xff0c;表 的本质5. 数据库服务器 和 库 #xff0c;表的关系6. MySQL架构7. 存储引擎前言#xff1a; 数据库是对数据进行管理的软件。1. centos7 安装Mysql
需要把系统自带的MySQL给…
文章目录1. centos7 安装Mysql2. 数据库的概念3. 数据库下创建库表4. 库表 的本质5. 数据库服务器 和 库 表的关系6. MySQL架构7. 存储引擎前言 数据库是对数据进行管理的软件。1. centos7 安装Mysql
需要把系统自带的MySQL给删除掉 (1) ps ajx |grep mariadb 这可以查询你系统原有的mysql的运行情况 (2) systemctl stop mariadb.service停止mysql服务的运行 (3) rpm -qa | grep mysql 卸载mysql (4) sudo yum remove mariadb 移除原有安装包 获取并安装yum源 (1) wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm获取官方的yum源 (2) rpm -Uvh mysql-community-release-el7-5.noarch.rpm安装yum源 (3)ls /etc/yum.repos.d/ -al,监测yum源安装情况 安装MySQL服务 (1) yum install -y mysql-community-server都是在root下进行安装的普通用户就得加个sudo。 (2) systemctl start mysqld.service启动MySQL服务。 (3) ps axj |grep mysqld查看MySQL服务的情况。 配置MySQL (1) 配置密码这里不讲因为有点小复杂但是可以让MySQL服务开机自启动这样其实是可以满足我们日常学习的 启动MySQL服务成功后输入systemctl enable mysqld systemctl daemon-reload 注意如果不配置密码的话想要正常使用mysql必须是root用户。 (2) 配置一下my.cnf,主要是数据库客户端和服务器的编码格式 vim /etc/my.cnf然后把之前的都清空拷贝以下内容 # For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
[mysql]
#default-character-setutf8 暂不设置mysql有bug汉字不回显
比特就业课
[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size 128M
# sort_buffer_size 2M
# read_rnd_buffer_size 2M
port3306
datadir/var/lib/mysql
socket/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links0
log-error/var/log/mysqld.log
pid-file/var/run/mysqld/mysqld.pid
character-set-serverutf8
default-storage-engineinnodb使用MySQL
在命令行输入mysql就能使用MySQL了 2. 数据库的概念
数据库是用于管理数据的软件想吧其实存数据肯定是用文件保存但是不通过数据库直接把数据保存到文件中会存在以下弊端
文件的安全性问题文件不利于数据查询和管理文件不利于存储海量数据文件在程序中控制不方便
数据库它也是把数据保存到文件中但是 数据库的保存更为严格(有约束)查找数据也很方便并且适合在程序中控制。 3. 数据库下创建库表
首先肯定得启动MySQL服务然后输入create database 库名;sql语句必须以;结尾。
比如 (1)我创建一个库库名是goodcreate database good 。 (2)然后使用此库use good: (3)再创建一个表create table students: (4)向表中插入数据
insert into students (id,name,sex) values(1,Bob,M);insert into students (id,name,sex) values(2,JR,M)insert into students (id,name,sex) values(3,WU,F) (5)查看表中数据
select * from students: 4. 库表 的本质
(1) 打开 /etc/my.cnf: 看到这一行了吧数据库中的库表都存在这个路径下。
(2) 进入 /var/lib/mysql: (3) 看到了吧上面创建的库是good本质就是创建了一个目录我们进入到这个目录 (4) 创建表的本质就是 在目录里创建 特定的文件。 5. 数据库服务器 和 库 表的关系
所谓安装数据库服务器只是在机器上安装了一个数据库管理系统程序这个管理程序可以管理多个数据库一般开发人员会针对每一个应用创建一个数据库。为保存应用中实体的数据一般会在数据库中创建多个表以保存程序中实体的数据。
数据库服务器、数据库和表的关系如下 数据库是一个网络服务我们是客户端先是我们启动客户端与服务端进行连接后服务端提供网络服务这个服务就是 对数据的管理可以创建一个库其实就是创建一个目录然后在库中创建表其实就是在目录下创建特定文件。
所以说 数据库也是将数据存在文件中直接和文件打交道的是数据库的存储引擎。
6. MySQL架构
MySQL 是一个可移植的数据库几乎能在当前所有的操作系统上运行如 Unix/Linux、Windows、Mac 和Solaris。各种系统在底层实现方面各有不同但是 MySQL 基本上能保证在各个平台上的物理体系结构的一致性。 connectors指的是不同语言和SQL的交互Management Serveices Utilities 系统管理和控制工具connection pool管理缓冲用户连接线程处理等需要缓存的需求。每个用户连接后都会分配一个线程去处理用户的请求这是一个线程池SQL Interface: SQL接口接受用户的SQL命令并且返回用户需要查询的结果。比如select from就是调用SQL InterfaceParser: 解析器SQL命令传递到解析器的时候会被解析器验证和解析。解析器是由Lex和YACC实现的是一个很长的脚本。Optimizer: 查询优化器SQL语句在查询之前会使用查询优化器对查询进行优化。Cache和Buffer 查询缓存。buffer是写缓存cache是读缓存。存储引擎接口数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。
这就是MySQL的大体框架然后我们来看 MySQL的执行过程 1、连接客户端向 MySQL 服务器发送一条查询请求与connectors交互连接池认证相关处理。 2、缓存服务器首先检查查询缓存如果命中缓存则立刻返回存储在缓存中的结果否则进入下一阶段 3、解析服务器进行SQL解析(词法语法)、预处理。 4、优化再由优化器生成对应的执行计划。 5、执行MySQL 根据执行计划调用存储引擎的 API来执行查询。 6、结果将结果返回给客户端同时缓存查询结果。 7. 存储引擎 查看存储引擎show engines; 存储引擎的对比