• MySQL 介绍和安装


    1、什么是数据?

    数据:文字、图片、视频。。。人类认知的数据表现方式
    计算机:二进制、16进制的机器语言
    基于数据的重要性和复杂性的不同,我们可能有不同的管理方式。

    哪些数据是适合存储到数据库的呢?
    重要性比较高的
    关系较复杂的数据

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

    RDBMS: 关系型数据库管理系统
    比较适合于,安全级别要求高的数据以及关系较复杂的数据

    NoSQL:非关系型数据库管理系统
    适合于高性能存取数据,一般是配合RDBMS进行使用的
    针对大数据处理分析,分布式架构更加擅长

    3、数据库管理系统种类

    RDBMS :
    MySQL 、Oracle、MSSQL(SQL Server)、PG

    NoSQL:Not Only SQL
    键-值(key-value):Redis, memcached
    文档(document):Mongodb

    4.1 MySQL行业主流版本:

    5.6  
    5.7    
    8.0(现在开始研究新特性
    

    4.2 企业版本选择(MySQL分支版本),笔试题

    Oracle:
    MySQL官方版
    红帽 :
    MariaDB
    Percona:
    PerconaDB

    4.3 版本选择建议要上新环境

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

    4.4 课程版本:

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

    4.5 如何获取MySQL软件

    企业版:Enterprise , 互联网行业一般不选择.
    社区版本:选择
    源码包:source code .tar.gz
    通用二进制
    面试题:
    你们公司用什么版本数据库? 具体什么小版本号?
    5.6.20 5.6.34 5.6.36 5.6.38 5.6.40
    5.7.18 5.7.20 5.7.22

    5、MySQL二进制安装

    5.1.创建软件目录:

    [root@db01 ~]# mkdir -p /app/

    上传软件到此目录

    5.2. 解压并改名为mysql

    [root@db01 app]# mv mysql-5.7.20-linux-glibc2.12-x86_64 mysql
    [root@db01 app]# ls -l /app/mysql/
    total 36
    drwxr-xr-x  2 root root   4096 Mar  4 14:55 bin
    -rw-r--r--  1 7161 31415 17987 Sep 13  2017 COPYING
    drwxr-xr-x  2 root root     55 Mar  4 14:55 docs
    drwxr-xr-x  3 root root   4096 Mar  4 14:55 include
    drwxr-xr-x  5 root root    229 Mar  4 14:55 lib
    drwxr-xr-x  4 root root     30 Mar  4 14:55 man
    -rw-r--r--  1 7161 31415  2478 Sep 13  2017 README
    drwxr-xr-x 28 root root   4096 Mar  4 14:55 share
    drwxr-xr-x  2 root root     90 Mar  4 14:55 support-files
    
    

    修改环境变量:
    vim /etc/profile
    export PATH=/app/mysql/bin:$PATH
    [root@db01 bin]# source /etc/profile

    5.3. 建立mysql用户和组(如果已有可忽略)

    useradd mysql

    5.4. 创建相关目录并修改权限

    mkdir /data/mysql -p
    chown -R mysql.mysql /app/*
    chown -R mysql.mysql /data/*

    5.5 初始化数据(建库)

    方法一:

    初始化数据,初始化管理员的临时密码
    mysqld --initialize --user=mysql --basedir=/app/mysql --datadir=/data/mysql

     
    image.png

    报错原因: Linux系统中缺少libaio-devel 软件包
    解决:
    yum install -y libaio-devel

     
    image.png
    报错原因
    error while loading shared libraries: libnuma.so.1: 
    yum -y install numactl
    

    报错原因:
    在/data/mysql 存在文件
    解决:
    m -rf /data/mysql/*

    新特性重要说明:

    5.7开始,MySQL加入了全新的 密码的安全机制:
    1.初始化完成后,会生成临时密码(显示到屏幕上,并且会往日志中记一份)
    2.密码复杂度:长度:超过12位? 复杂度:字符混乱组合
    3.密码过期时间180天

    方法二 :
    初始化数据,初始化管理员的密码为空

    
    m -rf  /data/mysql/*
    [root@db01 ~]# mysqld --initialize-insecure  --user=mysql --basedir=/app/mysql --datadir=/data/mysql
    
    

    注释:5.6初始化的区别

    /application/mysql/scripts/mysql_install_db  --user=mysql --datadir=/application/mysql/data --basedir=/application/mysql
    
    

    5.6 书写默认配置文件

    vim /etc/my.cnf
    [mysqld]
    user=mysql
    basedir=/app/mysql
    datadir=/data/mysql
    server_id=6
    port=3306
    socket=/tmp/mysql.sock
    [mysql]
    socket=/tmp/mysql.sock
    prompt=3306 [\d]>
    

    5.7 配置启动脚本:

    [root@db01 mysql]# cd /app/mysql/support-files
    [root@db01 support-files]# ./mysql.server start
    Starting MySQL.Logging to '/data/mysql/db01.err'.
     SUCCESS!
    

    5.8 使用systemd管理mysql

    vim /etc/systemd/system/mysqld.service 
    [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=/app/mysql/bin/mysqld --defaults-file=/etc/my.cnf
    LimitNOFILE = 5000
    

    注意:将原来模式启动mysqld先关闭,然后再用systemd管理。

    systemctl start/stop/restart/status mysqld

    1. 安装后的简单管理
    [root

    5.6版本:
    select user,password,host from mysql.user;

    5.7 中用户基本信息
    select user,authentication_string,host from mysql.user;
    desc mysql.user;



    作者:点亮生活501
    链接:https://www.jianshu.com/p/5c0fd64b7a36
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    【示例】手把手教你构建一个简单的JavaWeb应用(会员注册唯一性检查,不带数据库)
    [JAVA]字符串单词倒转处理前面的空格
    [JAVA]用数学解释数组移步问题(新增对链表移步的解释)
    686. Repeated String Match
    160. Intersection of Two Linked Lists
    278. First Bad Version
    7. Reverse Integer
    155. Min Stack
    203. Remove Linked List Elements
    141. Linked List Cycle
  • 原文地址:https://www.cnblogs.com/bidad/p/11989919.html
Copyright © 2020-2023  润新知