MySQL-介绍、安装

第一章节 数据库介绍

什么是数据?

在一个网站中,哪些可以被称之为数据?

咱们认为的数据:
文字、数字、符号、表格、图片、视频。。。。。
计算机认为的数据:
二进制(机器语言)

用来登录的数据有哪些?

用户 、密码 和 评论类 的数据有什么不一样吗?

用户 、密码该怎么存?
txt
excel
word

如果用以上方式会遇到什么问题?

不安全、查找不方便、管理、限制。

数据库管理系统(软件:DBMS)

数据库的发展历程

第一时代架构 : RDBMS时代
什么是RDBMS?
关系型数据库关系系统:Oracle 、 MSSQL 、 IBM DB2

第二时代架构: RDBMS(MySQL、PG、云数据库) + NoSQL(Not ONLY SQL)时代
数据量、业务量随着互联网的发展,变的越来越大。所以传统的RDBMS已经不能承载所有业务需求了。
NoSQL :MongoDB 、ES 、Redis

第三时代架构:
NewSQL 分布式数据库时代
Aliyun: PolarDB
Pincap: TiDB

第二章节 MySQL介绍和安装

MySQL 产品线

分支

Oracle
MariaDB
Percona

MySQL 企业版本选择

分支

E : 企业版 (收费),可以下载30天试用
C : 社区版 (开源)

社区版选择

免费服务期限: 1-5年
扩展服务期限: 6-10年

5.7 :一般建议升级到最新版本,5.7.18-5.7.30 最好是双数版。
5.6 :一般建议选用GA6-12月区间,5.6.34-max,最好是双数版本。
8.0 :一般建议使用8.0.18+

手撕 安装 MySQL 5.7.28 二进制版本

  1. 克隆虚拟机
    IP: 10.0.0.51/24
    hostname: db01
    防火墙关闭
    selinux关闭

  2. 清理历史环境
    yum remove -y mariadb-libs
    \rm -rf /etc/my.cnf*

  3. 创建用户
    useradd mysql

  4. 创建相关目录并授权
    mkdir -p /data/app /data/3306/data /data/3306/logs
    chown -R mysql.mysql /data

  5. 上传 5.7.28 软件至/data/app,并解压、软连接
    [root@db01 ~]# cd /data/app
    [root@db01 app]# tar xf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
    [root@db01 app]# ln -s mysql-5.7.28-linux-glibc2.12-x86_64 mysql

  6. 设置环境变量
    vim /etc/profile
    #添加最后一行
    export PATH=/data/app/mysql/bin:$PATH

#生效配置:
source /etc/profile

  1. 安装关键依赖软件包
    yum install -y libaio-devel

  2. 初始化数据(建库)
    /data/app/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/data/app/mysql --datadir=/data/3306/data

命令作用:
将数据启动所需要的系统数据(/data/3306/data)

参数介绍:
–initialize-insecure 初始化核心参数(必加)
–user=mysql 初始化用户和组
–basedir=/data/app/mysql 软件安装目录
–datadir=/data/3306/data 数据存放位置

彩蛋1:
5.7 版本初始化参数介绍:
初始化 不安全
–initialize-insecure
说明:
初始化完成后是无密码的。

--initialize : 安全的初始化方式	
说明:
	1. 自动生成临时密码,第一次使用时需要修改此密码
	2. 4种密码复杂度,12位。

彩蛋2:
5.7 初始化命令:
/data/app/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/data/app/mysql --datadir=/data/3306/data
5.6初始化区别()
/data/app/mysql56/scripts/mysql_install_db --user=mysql --basedir=/data/app/mysql --datadir=/data/3306/data

  1. 准备启动脚本
    [root@db01 data]# cp /data/app/mysql/support-files/mysql.server /etc/init.d/mysqld

  2. 准备配置文件
    [root@db01 data]# vim /etc/my.cnf
    [mysqld]
    user=mysql
    basedir=/data/app/mysql
    datadir=/data/3306/data
    socket=/tmp/mysql.sock
    [mysql]
    socket=/tmp/mysql.sock

  3. 启动数据库
    [root@db01 data]# /etc/init.d/mysqld start
    Starting MySQL. SUCCESS!

[root@db01 data]# service mysqld restart
Shutting down MySQL… SUCCESS!
Starting MySQL. SUCCESS!

  1. 使用systemd管理mysql
    [root@db01 data]# chkconfig --add mysqld
    [root@db01 data]# /etc/init.d/mysqld stop
    Shutting down MySQL… SUCCESS!
    [root@db01 data]# systemctl start mysqld
    [root@db01 data]# mysql
    [root@db01 data]# ps -ef |grep mysqld
    root 17275 1 0 16:00 ? 00:00:00 /bin/sh /data/app/mysql/bin/mysqld_safe --datadir=/data/3306/data --pid-file=/data/3306/data/db01.pid
    mysql 17416 17275 4 16:00 ? 00:00:00 /data/app/mysql/bin/mysqld --basedir=/data/app/mysql --datadir=/data/3306/data --plugin-dir=/data/app/mysql/lib/plugin --user=mysql --log-error=db01.err --pid-file=/data/3306/data/db01.pid --socket=/tmp/mysql.sock
    root 17448 16288 0 16:00 pts/1 00:00:00 grep --color=auto mysqld
    [root@db01 data]#
    [root@db01 data]# netstat -tulnp |grep 3306
    tcp6 0 0 :::3306 ::😗 LISTEN 17416/mysqld
    [root@db01 data]# systemctl stop mysqld
    [root@db01 data]# netstat -tulnp |grep 3306

  2. 基于initialize模式,修改临时密码
    [root@db01 data]# mysqladmin -uroot -p password 123
    Enter password:

彩蛋: 如果启动报错,如何排查?
[root@db01 data]# /etc/init.d/mysqld start

Starting MySQL.Logging to ‘/data/3306/data/db01.err’.
. ERROR! The server quit without updating PID file (/data/3306/data/db01.pid).

vim /data/3306/data/db01.err

—》 从后往前排查 [ERROR]信息。
2020-06-29T07:32:32.533458Z 0 [ERROR] InnoDB: The innodb_system data file ‘ibdata1’ must be writable
2020-06-29T07:32:32.533512Z 0 [ERROR] InnoDB: The innodb_system data file ‘ibdata1’ must be writable
2020-06-29T07:32:32.533523Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
2020-06-29T07:32:33.139530Z 0 [ERROR] Plugin ‘InnoDB’ init function returned error.
2020-06-29T07:32:33.139840Z 0 [ERROR] Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed.
2020-06-29T07:32:33.140017Z 0 [ERROR] Failed to initialize builtin plugins.
2020-06-29T07:32:33.140055Z 0 [ERROR] Aborting

—》 得到结果: 权限问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值