Mysql简介

什么是数据

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

什么是数据库管理系统

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

数据库管理系统种类

RDBMS:
MySQL 、Oracle、MSSQL(SQL Server)、PG NoSQL:Not Only SQL
键-值(key-value):Redis, memcached
文档(document):Mongodb

MySQL简介及产品线

MySQL行业主流版本
5.6 2013年发布 5.6.10(2013-02-05)
5.7 2015年
8.0 2016年 企业版本选择
Oracle:
MySQL官方版
红帽:
MariaDB
Percona:
PerconaDB 版本选择建议
1. 一般选择官方主流版本:5.6,5.7
2. GA(稳定发布版)
3. 6-12月的产品版本 如何获取MySQL软件
企业版:Enterprise , 互联网行业一般不选择.
社区版本:选择 community
源码包:source code .tar.gz
通用二进制

MySQL二进制安装

# 1. 下载并上传软件至/server/tools
[root@db01 ~]# mkdir -p /server/tools
[root@db01 ~]# cd /server/tools/
[root@db01 /server/tools]# ls
mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz # 2. 解压软件
[root@db01 /server/tools]# tar xf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
[root@db01 ~]# mkdir /application
[root@db01 /server/tools]# mv mysql-5.7.26-linux-glibc2.12-x86_64 /application/mysql # 3. 用户的创建处理原始环境
[root@db01 ~]# yum remove mariadb-libs-5.5.60-1.el7_5.x86_64 -y # 删除mariadb-libs
[root@db01 ~]# rpm -qa |grep mariadb
[root@db01 ~]# useradd -s /sbin/nologin mysql # 4. 设置环境变量
vim /etc/profile
export PATH=/application/mysql/bin:$PATH
[root@db01 ~]# source /etc/profile
[root@db01 ~]# mysql -V
mysql Ver 14.14 Distrib 5.7.26, for linux-glibc2.12 (x86_64) using EditLine wrapper # 5. 创建数据路径并授权(虚拟机学习环境)
# 5.1. 添加一块新磁盘模拟数据盘
# 5.2. 格式化并挂载磁盘
[root@db01 ~]# mkfs.xfs /dev/sdc
[root@db01 ~]# mkdir /data
[root@db01 ~]# blkid
[root@db01 ~]# vim /etc/fstab
UUID="b7fde522-aa37-412a-9584-8313a673c5cc" /data xfs defaults 0 0
[root@db01 ~]# mount -a
[root@db01 ~]# df -h
# 5.3. 授权
[root@db01 ~]# chown -R mysql.mysql /application/mysql
[root@db01 ~]# chown -R mysql.mysql /data # 6. 初始化数据(创建系统数据)
# 5.6 版本 初始化命令 /application/mysql/scripts/mysql_install_db
# 5.7 版本
[root@db01 ~]# mkdir /data/mysql/data -p
[root@db01 ~]# chown -R mysql.mysql /data
[root@db01 ~]# mysqld --initialize --user=mysql --basedir=/application/mysql --datadir=/data/mysql/data # 注意一般不用这条,用下面那条
2019-11-28T08:21:12.429471Z 1 [Note] A temporary password is generated for root@localhost: Qd,YpLydh5:_
# 说明:
# --initialize 参数:
# 1. 对于密码复杂度进行定制:12位,4种
# 2. 密码过期时间:180天
# 3. 给root@localhost用户设置临时密码 # --initialize-insecure 参数:无限制,无临时密码
[root@db01 /data/mysql/data]# \rm -rf /data/mysql/data/* # 重新初始化
[root@db01 ~]# mysqld --initialize-insecure --user=mysql --basedir=/application/mysql --datadir=/data/mysql/data # 报错:
# mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
# 解决:
[root@db01 ~]# yum install -y libaio-devel # 7. 配置文件的准备
cat >/etc/my.cnf <<EOF
[mysqld]
user=mysql
basedir=/application/mysql
datadir=/data/mysql/data
socket=/tmp/mysql.sock
server_id=6
port=3306
[mysql]
socket=/tmp/mysql.sock
EOF # 8. 启动数据库
# 1. sys-v
# centos6.x启动方式
[root@db01 /etc/init.d]# cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@db01 /etc/init.d]# service mysqld restart # 2. systemd
# centos7.x启动方式
# 注意:sysv方式启动过的话,需要先提前关闭,才能以下方式启动
cat >/etc/systemd/system/mysqld.service <<EOF
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
EOF # 9.管理员密码的设定(root@localhost)
# 注意第一次没有密码,直接回车就行了
[root@db01 ~]# mysqladmin -uroot -p password oldboy123
Enter password:

简单管理

# 设置密码
[root@db01 ~]# mysqladmin -uroot -p password root123
Enter password:
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety. # 用户基本信息
# 5.6版本:
select user,password,host from mysql.user;
# 5.7 中用户基本信息
select user,authentication_string,host from mysql.user; # 5.6和5.7差别
(1) 初始化方式变了
mysql_install_db
mysqld --initialize-insecure (2) 用户安全
12位
180
4种复杂度 (3)密码字段
authentication_strings

密码找回

# --skip-grant-tables  # 跳过授权表
# --skip-networking # 跳过远程登录 # 关闭数据库
[root@db01 ~]# /etc/init.d/mysqld stop
Shutting down MySQL.. SUCCESS! # 启动数据库到维护模式
[root@db01 ~]# mysqld_safe --skip-grant-tables --skip-networking & # 登录并修改密码
[root@db01 ~]# mysql
mysql> alter user root@'localhost' identified by '1';
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
mysql> flush privileges;
mysql> alter user root@'localhost' identified by '1';
Query OK, 0 rows affected (0.01 sec) # 关闭数据库,正常启动验证

MySQL-01-简介以及安装的更多相关文章

  1. Node.js 教程 01 - 简介、安装及配置

    系列目录: Node.js 教程 01 - 简介.安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 Node.js 教程 0 ...

  2. Linux中Mysql的简介和安装

    MySQL 简介 点击查看MySQL官方网站 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,后来被Sun公司收购,Sun公司后来又被Oracle公司收购,目前属于Oracle旗 ...

  3. MongoDB学习笔记-01 简介、安装

    MongoDB简介 MongoDB是一种强大.灵活.可拓展的存储方式.是一个面向文档(相当于"行"的概念)的数据库. 可拓展:通过添加服务器而增加存储量. Windows下安装 版 ...

  4. ElasticSearch学习笔记-01 简介、安装、配置与核心概念

    一.简介 ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便.支持通过HTTP使用JSON进 ...

  5. Redis初识01 (简介、安装、使用)

    一.Reids介绍 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(s ...

  6. 【python】-- MySQL简介、安装、操作

    MySQL简介.安装.操作 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据.我们也可以将数据存储 ...

  7. MySQL简介及安装

    一.DBA工作内容及课程体系 二.MySQL课程体系介绍 三.DBA的职业素养 四.MySQL简介及安装 01 什么是数据? 02 什么是数据库管理系统 03 数据库管理系统种类 04 MySQL发展 ...

  8. 【JAVAWEB学习笔记】26_Linux基础:简介安装、常用命令和JDK、Mysql、Tomcat的安装

    Linux基础 学习目标 1.了解Linux的简介与安装 2.掌握Linux常用的命令 3.掌握Linux系统上JDK.Mysql.Tomcat的安装 一.Linux的简介 1.Linux的概述 Li ...

  9. 一、MySQL数据库之简介和安装

    一.基础部分 1.数据库是简介     之前所学,数据要永久保存,比如用户注册的用户信息,都是保存于文件中,而文件只能存在于某一台机器上. 如果我们不考虑从文件中读取数据的效率问题,并且假设我们的程序 ...

  10. MySql数据库基础之数据库简介及安装

    MySql数据库简介: 众所周知,MySql数据库是一款开源的关系型数据库,在Web应用方面,MySql是最好的.最流行的RDBMS(Relational Database Management Sy ...

随机推荐

  1. php 扩展kafka

    一.安装librdkafka cd /usr/local/src/ git clone https://github.com/edenhill/librdkafka.git cd librdkafka ...

  2. php漏洞 md5函数漏洞

    0x01: 背景:php在处理哈希值时,用!=和==来比较的时候,如果哈希字符串以0E开头的时候,哈希值会默认为0,所以两个不同的字符串经过md5加密成哈希值,如果哈希值开头是0E的话,会默认成相等. ...

  3. 深入理解Java多线程——线程池

    目录 为什么需要线程池 定义 ThreadPoolExecutor 工作队列workQueue 不同的线程池 Executor 线程池的工作原理 线程池生命周期 线程池增长策略 线程池大小的设置 线程 ...

  4. 深入理解Java容器——HashMap

    目录 存储结构 初始化 put resize 树化 get 为什么equals和hashCode要同时重写? 为何HashMap的数组长度一定是2的次幂? 线程安全 参考 存储结构 JDK1.8前是数 ...

  5. 一文读懂 .NET 中的高性能队列 Channel

    介绍 System.Threading.Channels 是.NET Core 3.0 后推出的新的集合类型, 具有异步API,高性能,线程安全等特点,它可以用来做消息队列,进行数据的生产和消费, 公 ...

  6. [源码解析] 深度学习分布式训练框架 horovod (16) --- 弹性训练之Worker生命周期

    [源码解析] 深度学习分布式训练框架 horovod (16) --- 弹性训练之Worker生命周期 目录 [源码解析] 深度学习分布式训练框架 horovod (16) --- 弹性训练之Work ...

  7. PYTHON 使用re.findall如果没有引用

    python使用re.findall时必须提前import re否则不提示错误,只是找不到结果 import re ab=re.findall('cmp=com.(.*?)/',aa)

  8. yoyogo v1.7.6 增强程序优雅退出和K8s Readiness检查

    YoyoGo (Go语言框架)一个简单.轻量.快速.基于依赖注入的微服务框架( web .grpc ),支持Nacos/Consoul/Etcd/Eureka/k8s /Apollo等 . 本次更新增 ...

  9. java网络编程基础——TCP网络编程三

    AIO实现非阻塞通信 java7 NIO2 提供了异步Channel支持,这种异步Channel可以提供更高效的IO,这种基于异步Channel的IO被称为异步IO(Asynchronous IO) ...

  10. 前端开发入门到进阶附录一【JQuery中parent(),parents(),parentsUntil()区别和使用技巧】

    JQuery中parent(),parents(),parentsUntil()区别和使用技巧:https://blog.csdn.net/china1223/article/details/5193 ...