**
一、MySQL的部署
**
1.数据库能做什么?
众所周知,我们在使用腾讯QQ,淘宝以及玩游戏时候的账号,都需要用到类似账号密码的东西,那这些数据存放在哪里呢?比如说账号,密码,用户信息,余额,记录,头像路径等等这些数据都是存放在数据库的。
2.数据库的由来
数据是由三个版本转变过来的
1.人工管理阶段--------账本(过去的时候)
2.文件系统阶段--------Excel(近代)
3.数据库系统管理阶段---各类SQL(MySQL)
3.数据库的结构
数据库系统(DBS)
数据库管理系统分为关系型数据库以及关系型数据库,他们的区别是:
1、数据存储方式不同:
关系型数据天然就是表格式的,因此存储在数据表的行和列中。数据表可以彼此关联协作存储,也很容易提取数据。
与其相反,非关系型数据不适合存储在数据表的行和列中,而是大块组合在一起。非关系型数据通常存储在数据集中,就像文档、键值对或者图结构。你的数据及其特性是选择数据存储和提取方式的首要影响因素。
2、扩展方式不同:
SQL和NoSQL数据库最大的差别可能是在扩展方式上,要支持日益增长的需求当然要扩展。要支持更多并发量,SQL数据库是纵向扩展,也就是说提高处理能力,使用速度更快速的计算机,这样处理相同的数据集就更快了。因为数据存储在关系表中,操作的性能瓶颈可能涉及很多个表,这都需要通过提高计算机性能来客服。虽然SQL数据库有很大扩展空间,但最终肯定会达到纵向扩展的上限。而NoSQL数据库是横向扩展的。
而非关系型数据存储天然就是分布式的,NoSQL数据库的扩展可以通过给资源池添加更多普通的数据库服务器(节点)来分担负载。
3、对事物性的支持不同:
如果数据操作需要高事务性或者复杂数据查询需要控制执行计划,那么传统的SQL数据库从性能和稳定性方面考虑是你的最佳选择。SQL数据库支持对事务原子性细粒度控制,并且易于回滚事务。
关系型数据库:
ORACLE, ORACLE MySQL, DB2(IBM) , SQL-server(MS), MySQL, MariaDB, Percona server(阿里淘宝)
非关系型数据库:
MongoDB, Cassandra,Redis, HBase,Oracle NoSQL, Amazon DynamoDB, CouchDB
SQL语言
SQL(Structured Query Language)结构化查询语言:
DDL语句 数据库定义语言:数据库,表,视图,索引,存储过程,函数(CREATE ALTER DROP)
DML语句 数据库操纵语言:插入数据INSERT,删除数据DELETE,更新数据UPDATE
DQL语句 数据库查询语言: 查询数据SELECT
DCL语句 数据库控制语言: 例如控制用户的访问权限GRANT, REVOKE
4.MqSQL部署
官方地址:www.mysql.com www.oracle.com
RPM安装
设置内存
调整至2G内存
关闭防火墙和Selinux
[root@localhost ~]# systemctl stop firewalld
停止防火墙
[root@localhost ~]# systemctl disable firewalld
开机禁用防火墙
[root@localhost ~]# setenforce 0
停止selinux
[root@localhost ~]# vim /etc/selinux/config
开机禁用selinux
安装MySQL服务器
访问国内MySQL镜像站 http://mirrors.ustc.edu.cn
下载软件包
[root@localhost ~]# wget http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-community-client-5.7.30-1.el7.x86_64.rpm
[root@localhost ~]# wget http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-community-common-5.7.30-1.el7.x86_64.rpm
[root@localhost ~]# wget http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-community-libs-5.7.30-1.el7.x86_64.rpm
[root@localhost ~]# wget http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-community-server-5.7.30-1.el7.x86_64.rpm
安装相关软件
[root@localhost ~]# yum install -y net-tools.x86_64 libaio.x86_64 perl.x86_64
删除依赖文件mariadb
[root@localhost ~]# yum -y remove mariadb-libs-5.5.64-1.el7.x86_64
安装MySQL服务器
[root@localhost ~]# yum install -y mysql-community*
启动MySQL服务器
root@localhost ~]# systemctl start mysqld
[root@localhost ~]# systemctl enable mysqld
Created symlink from /etc/systemd/system/multi-user.target.wants/mysqld.service to /usr/lib/systemd/system/mysqld.service.
[root@localhost ~]# systemctl status mysqld
查询MySQL随机生成的密码
```powershell
[root@localhost ~]# grep 'password' /var/log/mysqld.log
修改MySQL服务器密码
[root@localhost ~]# mysqladmin -uroot -p'q)yq*UWO%8Wv' password 'Ryan@123'
登录MySQL服务器
[root@localhost ~]# mysql -uroot -p'Ryan@123'
查询默认数据库
mysql> show databases;
实验完成