一 MySQL介绍和安装

1.1 什么是数据?

数据:文字、图片、视频。。。人类认知的数据表现方式
计算机:二进制、16进制的机器语言
基于数据的重要性和复杂性的不同,我们可能有不同的管理方式。 哪些数据是适合存储到数据库的呢?
重要性比较高的
关系较复杂的数据

1.2 什么是数据库管理系统(DBMS)?

RDBMS: 关系型数据库管理系统
比较适合于,安全级别要求高的数据以及关系较复杂的数据 NoSQL:非关系型数据库管理系统
适合于高性能存取数据,一般是配合RDBMS进行使用的
针对大数据处理分析,分布式架构更加擅长

1.3 数据库管理系统种类

RDBMS:Relational Database Management System,关系数据库管理系统
MySQL 、Oracle、MSSQL(SQL Server)、PostgreSQL NoSQL:Not Only SQL
键-值(key-value):Redis, memcached
文档(document):Mongodb

二 MySQL简介及产品线

2.1 MySQL行业主流版本

5.5 :企业基本不用了
5.6 :****:四星 5.6.36 5.6.38 5.6.40 ...5.6.46
5.7 :*****:五星 5.7.20 5.7.22 ....5.7.28 5.7.30(5.7版本最新)
8.0(最新) :**:两星 8.0.11 开始,之前都是测试版 ...8.0.20

2.2 企业版本选择(MySQL分支版本)

# 分支
Oracle:
MySQL官方版
红帽 :
MariaDB:红帽维护的分支
Percona:
PerconaDB:Percona公司维护的分支
# 版本
企业版:收费
社区版:开源免费

2.3 版本选择建议

1.一般选择官方主流版本:5.6,5.7
2.GA(稳定发布版)
3.6-12月的产品版本

2.4 课程版本:

5.7.30  二进制安装,其他安装方式自己扩展

2.5 下载(社区版源码安装)

企业版:Enterprise 互联网行业一般选择社区版
源码包:source code .tar.gz
## 下载-官网
1 https://www.mysql.com/
2 选择downloads
-https://www.mysql.com/downloads/
3 底部选择:MySQL Community (GPL) Downloads »
4 只能下到最新版:MySQL Community Server
5 选择Download Archives
6 选择MySQL Community Server
7 选择版本,平台下载即可





2.6 安装方式

1 源码安装:编译安装,非常慢,需要研究源码
2 rmp,yum 安装:配置官方yum源,直接yum install
3 通用二进制版:解压即用,绿色版(企业用)

源码安装

rpm方式

yum方式

# 配置源
# Enable to use MySQL 5.7
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql [mysql80-community]
name=MySQL 8.0 Community Server
baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql # sudo yum install mysql-community-server
# sudo systemctl start mysqld.service
# sudo systemctl status mysqld.service
# sudo grep 'temporary password' /var/log/mysqld.log
# mysql -uroot -p
# ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

通用二进制安装

# 1 环境准备
一台centos 7.6虚拟机,能上网, # 2 清理一下环境
rpm -qa |grep mariadb
yum remove mariadb-libs
# 3 创建用户和组
useradd mysql
useradd mysql -s /sbin/nologin # 不能登录,没有家目录
id mysql # 4 创建相关目录(软件目录,数据目录)
# 软件目录
mkdir -p /app/database/
# 数据目录
mkdir -p /data/3306
# 日志目录
mkdir -p /binlog/3306
# mkdir -p /app/database/ /data/3306/ /binlog/3306
# 生产建议:软件和数据和日志不要放在同一个地方,一般数据放在另一块磁盘上 # 5 设置权限
chown -R mysql.mysql /app/ /data/ /binlog # 6 上传并解压软件到 /app/databases/
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
tar xzf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz # 7 建立软连接
ln -s mysql-5.7.30-linux-glibc2.12-x86_64 mysql # 8 设置环境变量
-bin # mysql执行的命令
-support-files # 存放脚本
# 把bin目录设置到环境变量中
vim /etc/profile
#添加一行
export PATH=/app/database/mysql/bin:$PATH
# 生效配置
source /etc/profile
# 验证
mysql -V # 9 初始化系统库表(系统数据,数据库要启动,必须依赖一些表,系统表)
mysqld --initialize-insecure --user=mysql --basedir=/app/database/mysql --datadir=/data/3306/
#会报错:
mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
报错原因: Linux系统中缺少libaio-devel 软件包
#解决:
yum install -y libaio-devel # 如果再执行一下上面的初始化命令,会报data目录不为空,需要删除数据目录再执行 #########补充:
# 1 初始化数据自带密码
# 5.7开始,MySQL加入了全新的 密码的安全机制:
1.初始化完成后,会生成临时密码(显示到屏幕上,并且会往日志中记一份)
2.密码复杂度:长度:超过12位? 复杂度:字符混乱组合
3.密码过期时间180天 # 初始化数据,初始化管理员的临时密码
mysqld --initialize --user=mysql --basedir=/app/database/mysql --datadir=/data/3306/
# 会打印出密码,记住,然后需要修改root密码后才能正常使用数据库
# S44GNgK!h.qg
#2 5.6初始化的区别
./mysql/scripts/mysql_install_db --user=mysql --basedir=/app/database/mysql --datadir=/data/3306/ # 10 编写默认配置文件
vim /etc/my.cnf
[mysqld]
user=mysql
basedir=/app/database/mysql
datadir=/data/3306/
server_id=6
port=3306
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock # 11 配置启动脚本
cd /app/database/mysql/support-files
./mysql.server start
# copymysql的启动脚本至系统管理目录中
cp mysql.server /etc/init.d/mysqld
# centos6中,使用service 启动
service mysqld start
service mysqld stop
service mysqld restart
# centos7中:使用systemctl启动
chkconfig --add mysqld # 把mysqld的脚本添加到systemctl的管理中
systemctl start mysqld
###至此,启动方式可以是
service mysqld start
systemctl start mysqld
/etc/init.d/mysqld start
/app/database/mysql/support-files/mysql.server start # 12 在登陆前修改密码(使用mysqld --initialize 初始化的数据)
mysqladmin -uroot -p password lqz1234.
输入原始密码

MySQL系列之——MySQL介绍和安装、MySQL简介及产品线、安装方式(源码安装 rpm方式 yum方式 通用二进制安装)的更多相关文章

  1. mysql5.6 通用二进制安装

    mysql5.6 通用二进制安装: #卸载原有的mysqlyum remove mysql*ls /etc/my.cnf*mv /etc/my.cnf* /tmp/ #安装依赖包yum install ...

  2. 一:MySQL系列之基本介绍(一)

    本篇主要介绍关于MySQL数据的基本知识,包括数据存储的变化,什么是MySQL以及其有什么优点.以及什么是RDBMS概念性知识等,以及关于MySQL语句的SOL的基本用法: 一.数据库 数据库,顾名思 ...

  3. mysql 5.5.36 通用二进制安装部署

    1.创建mysql用户 # useradd -r mysql 2.解压二进制包到指定目录下 # tar xf mysql-5.5.36-linux2.6-x86_64.tar.gz -C /usr/l ...

  4. 深入浅出Mybatis系列(三)---配置详解之properties与environments(mybatis源码篇)

    上篇文章<深入浅出Mybatis系列(二)---配置简介(mybatis源码篇)>我们通过对mybatis源码的简单分析,可看出,在mybatis配置文件中,在configuration根 ...

  5. Linux 软件安装卸载 (源码、rpm)

    Linux下软件的安装主要有两种不同的形式.第一种安装为源码安装,文件名为xxx.tar.gz压缩包为主;以第一种方式发行的软件多为以源码形式发送的.第二种方式则是另一种安装文件名为xxx.i386. ...

  6. centos6下通用二进制安装mysql5.5.33

    mysql5.5通用二进制格式安装方法 1.解压到 /usr/local 目录 # tar xf mysql-5.5.33-linux2.6-x86_64.tar.gz -C /usr/local 2 ...

  7. SSM 三大框架系列:Spring 5 + Spring MVC 5 + MyBatis 3.5 整合(附源码)

    之前整理了一下新版本的 SSM 三大框架,这篇文章是关于它的整合过程和项目源码,版本号分别为:Spring 5.2.2.RELEASE.SpringMVC 5.2.2.RELEASE.MyBatis ...

  8. openlayers4 入门开发系列之前端动态渲染克里金插值 kriging 篇(附源码下载)

    前言 openlayers4 官网的 api 文档介绍地址 openlayers4 api,里面详细的介绍 openlayers4 各个类的介绍,还有就是在线例子:openlayers4 官网在线例子 ...

  9. 程序包管理rpm、yum与简单编译安装程序

    Linux程序包管理 Linux中软件的安装主要有两种形式:一种是直接下载源代码包自行编译后安装,另一种直接获取rpm软件包进行安装. 程序的组成部分: 二进制程序:程序的主体文件,比如我们运行一个l ...

  10. 循序渐进做项目系列(4)迷你QQ篇(2)——视频聊天!(附源码)

    一·效果展示 源码派送:MiniQQ1.1 文字聊天的实现参见:循序渐进做项目系列(3):迷你QQ篇(1)——实现客户端互相聊天 二·服务端设计 对于实现视频聊天而言,服务端最核心的工作就是要构造多媒 ...

随机推荐

  1. 【Unity3D】魔方

    1 需求实现 ​ 绘制魔方 中基于OpenGL ES 实现了魔方的绘制,实现较复杂,本文基于 Unity3D 实现了 2 ~ 10 阶魔方的整体旋转和局部旋转. ​ 本文完整代码资源见→基于 Unit ...

  2. 3. HelloWorld的实现

    恐惧是本能,行动是信仰(在此感谢尚硅谷宋红康老师的教程) 1. 新建 Project - Class 选择"New Project": 指名工程名.使用的 JDK 版本等信息.如下 ...

  3. React基本引入和JSX语法

    1.1 React介绍 1.1.1. 官网 英文官网:https://reactjs.org/ 中文官网: https://react.docschina.org/ 1.1.2. 介绍描述 用于动态构 ...

  4. Java判断101-200之间有多少个素数,并输出所有素数。

    代码如下: public static void main(String[] args) { //记录个数 int count = 0; //循环遍历 for(int i = 101;i <= ...

  5. PB从入坑到放弃(一)第一个HelloWorld程序

    前言 网上关于PowerBuilder的资料确实是少之又少. 为了方便,后面我们都用pb 来代替PowerBuilder 说到这不得不来说说自己的pb入坑经历, 自己也不是计算机科班出生. 刚到公司面 ...

  6. LEA: Improving Sentence Similarity Robustness to Typos Using Lexical Attention Bias 论文阅读

    LEA: Improving Sentence Similarity Robustness to Typos Using Lexical Attention Bias 论文阅读 KDD 2023 原文 ...

  7. 《最新出炉》系列入门篇-Python+Playwright自动化测试-7-浏览器的相关操作

    1.简介 上一篇已经将playwright的元素定位大法基本介绍的差不多了,但是在Web的UI自动化的测试中,我们通常需要使用一些方法来操作浏览器,今天就跟随学习了解一下.这一篇宏哥主要是介绍一下,在 ...

  8. happens-before 原则

    happens-before 简述 从 JDK 5 开始,Java 使用新的 JSR-133 内存模型.JSR-133 使用 happens-before 的概念来阐述操作之间的内存可见性.在 JMM ...

  9. Java 调用gdal API(二)——栅格裁剪

    gdal可以说是GIS数据处理比较好的工具之一,虽然也提供了Java API,但是官方文档确实太过简单,用起来确实太难受,每次都需要去参考对应的C++api,然后在对应使用. 因此小编决定从这篇文章开 ...

  10. docker :repository docker.io/zookeeper not found: does not exist or no pull access

    分析 略 解决 vi /etc/docker/daemon.json { "registry-mirrors" : [ "http://registry.docker-c ...