mysql基础 介绍

数据库基础

什么是数据?

数据(data)是事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的未经加工的的原始素材。
数据可以是连续的值,比如声音、图像,称为模拟数据。也可以是离散的,如符号、文字,称为数字数据。
在计算机系统中,数据以二进制信息单元0,1的形式表示。

为什么要学数据库?

1.用word,excel不香吗?

​ 1.安全性高

​ 2.性能好

​ 3.可以做集群,高可用

什么是数据库管理系统

1.管理数据(增删改查)

2.存储数据

数据库管理系统的分类

关系型数据库(RDBMS)

典型产品:MySQL 、Oracle、MariaDB、MSSQL(SQLserver)

由多张二维表组成,并且每张二维表之间都是相关联的

非关系型数据库(NoSQL)

典型产品:Redis、MongoDB、elasticsearch(search engine)

关系型数据库非关系型数据库功能对比

img

MySQL的安装

版本的选择,潜规则

MySQL5.6:GA 6-12个月 小版本是偶数版本

MySQL5.7:GA 6-12个月 小版本是偶数版本 5.7.17版本以上(MGR MySQL自带的高可用)

#0.安装依赖
[root@db01 ~]# yum install -y cmake gcc gcc-c++ glibc ncurses-devel autoconf libaio-devel
#1.解压
[root@db01 ~]# tar xf mysql-5.6.40.tar.gz
[root@db01 ~]# ll mysql-5.6.40
total 256
drwxr-xr-x  2 7161 31415  4096 2018-02-26 20:50 BUILD
drwxr-xr-x  2 7161 31415  4096 2018-02-26 20:50 client
drwxr-xr-x  4 7161 31415  4096 2018-02-26 20:50 cmake
-rw-r--r--  1 7161 31415 23275 2018-02-26 20:46 CMakeLists.txt
drwxr-xr-x  3 7161 31415    21 2018-02-26 20:50 cmd-line-utils
-rw-r--r--  1 7161 31415 19838 2018-02-26 20:46 config.h.cmake
-rw-r--r--  1 7161 31415 40929 2018-02-26 20:46 configure.cmake
-rw-r--r--  1 7161 31415 17987 2018-02-26 20:46 COPYING
drwxr-xr-x  2 7161 31415   312 2018-02-26 20:50 dbug
drwxr-xr-x  2 7161 31415    80 2018-02-26 20:50 Docs
-rw-r--r--  1 7161 31415 65958 2018-02-26 20:46 Doxyfile-perfschema
drwxr-xr-x  3 7161 31415   213 2018-02-26 20:50 extra
drwxr-xr-x  4 7161 31415  4096 2018-02-26 20:50 include
-rw-r--r--  1 7161 31415   333 2018-02-26 20:46 INSTALL
drwxr-xr-x  7 7161 31415  4096 2018-02-26 20:50 libevent
drwxr-xr-x  3 7161 31415   224 2018-02-26 20:50 libmysql
drwxr-xr-x  3 7161 31415   204 2018-02-26 20:50 libmysqld
drwxr-xr-x  2 7161 31415   221 2018-02-26 20:50 libservices
drwxr-xr-x  2 7161 31415  4096 2018-02-26 20:50 man
drwxr-xr-x 10 7161 31415   305 2018-02-26 20:50 mysql-test
drwxr-xr-x  2 7161 31415  4096 2018-02-26 20:50 mysys
drwxr-xr-x  2 7161 31415   300 2018-02-26 20:50 mysys_ssl
drwxr-xr-x  9 7161 31415   113 2018-02-26 20:50 packaging
drwxr-xr-x 11 7161 31415   187 2018-02-26 20:50 plugin
-rw-r--r--  1 7161 31415  2496 2018-02-26 20:46 README
drwxr-xr-x  2 7161 31415  4096 2018-02-26 20:50 regex
drwxr-xr-x  2 7161 31415  4096 2018-02-26 20:50 scripts
drwxr-xr-x  4 7161 31415 12288 2018-02-26 20:50 sql
drwxr-xr-x  5 7161 31415  4096 2018-02-26 20:50 sql-bench
drwxr-xr-x  2 7161 31415   155 2018-02-26 20:50 sql-common
drwxr-xr-x 13 7161 31415   169 2018-02-26 20:50 storage
drwxr-xr-x  2 7161 31415  4096 2018-02-26 20:50 strings
drwxr-xr-x  5 7161 31415  4096 2018-02-26 20:50 support-files
drwxr-xr-x  2 7161 31415  4096 2018-02-26 20:50 tests
drwxr-xr-x  5 7161 31415    70 2018-02-26 20:50 unittest
-rw-r--r--  1 7161 31415    88 2018-02-26 20:46 VERSION
drwxr-xr-x  3 7161 31415   298 2018-02-26 20:50 vio
drwxr-xr-x  2 7161 31415    32 2018-02-26 20:50 win
drwxr-xr-x  2 7161 31415  4096 2018-02-26 20:50 zlib

#2.生成  ./configure --prefix=/usr/local/xxx   cmake 或者 gmake
#创建目录
[root@db01 ~]# mkdir /application
[root@db01 ~]# cd mysql-5.6.40/
cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.40 \
-DMYSQL_DATADIR=/application/mysql-5.6.40/data \
-DMYSQL_UNIX_ADDR=/application/mysql-5.6.40/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_ZLIB=bundled \
-DWITH_SSL=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_DEBUG=0
#3.编译
make
#4.安装
make install

-------------------------------------------华丽的分割线---------------------------------------------------------

[root@db01 application]# ll mysql-5.6.40/
# mysql所有相关命令
drwxr-xr-x  2 root root  4096 2019-11-25 12:19 bin
# 数据存放目录
drwxr-xr-x  3 root root    18 2019-11-25 12:18 data
# mysql初始化命令目录
drwxr-xr-x  2 root root    30 2019-11-25 12:19 scripts
# 额外的文件
drwxr-xr-x  2 root root   136 2019-11-25 12:19 support-files

# 5.创建系统用户
[root@db01 scripts]# useradd mysql -s /sbin/nologin -M

# 6.做软链接
[root@db01 mysql-5.6.40]# ln -s /application/mysql-5.6.40 /application/mysql

# 7.拷贝配置文件(覆盖)
[root@db01 support-files]# cp my-default.cnf /etc/my.cnf
cp: overwrite ‘/etc/my.cnf’? y

# 8.拷贝启动脚本
[root@db01 support-files]# cp mysql.server /etc/init.d/mysqld

# 9.初始化数据库
[root@db01 scripts]# ./mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/application/mysql/data

# 10.创建socket文件存放目录
[root@db01 scripts]# mkdir /application/mysql-5.6.40/tmp

# 11.授权
[root@db01 scripts]# chown -R mysql.mysql /application/mysql*

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

# 13.添加环境变量
[root@db01 scripts]# vim /etc/profile.d/mysql.sh

export PATH="/application/mysql/bin:$PATH"

# 14.加载环境变量
[root@db01 scripts]# source /etc/profile

# 15.使用systemd管理MySQL
[root@db01 scripts]# vim /usr/lib/systemd/system/mysqld.service

[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=https://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

# 16.使用systemd启动MySQL
[root@db01 scripts]# systemctl start mysqld

MySQL二进制安装

# 0.安装依赖
[root@db01 ~]# yum install -y cmake gcc gcc-c++ glibc ncurses-devel autoconf libaio-devel

# 1.解压
[root@db02 ~]# tar xf mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz

# 2.创建程序安装目录
[root@db02 ~]# mkdir /application

# 3.将MySQL程序移动到安装目录
[root@db02 ~]# mv mysql-5.6.40ls-linux-glibc2.12-x86_64 /application/mysql-5.6.40

# 4.做软链接
[root@db02 ~]# ln -s /application/mysql-5.6.40 /application/mysql

# 5.创建系统用户
[root@db02 ~]# useradd mysql -s /sbin/nologin -M

# 6.拷贝配置文件
[root@db02 support-files]# cp my-default.cnf /etc/my.cnf
cp: overwrite ‘/etc/my.cnf’? y

# 7.拷贝启动脚本
[root@db02 support-files]# cp mysql.server /etc/init.d/mysqld

# 8.做初始化
[root@db02 scripts]# ./mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/application/mysql/data

# 9.修改MySQL启动脚本和程序
[root@db02 scripts]# sed -i 's#/usr/local#/application#g' /etc/init.d/mysqld /application/mysql/bin/mysqld_safe

# 10.添加一个环境变量
[root@db02 scripts]# vim /etc/profile.d/mysql.sh
export PATH="/application/mysql/bin:$PATH"

# 11.加载环境变量
[root@db02 scripts]# 
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • MySQL(一)MySQL基础介绍 最近的学习内容是数据库相关的一些知识,主要以MySQL为主,参考书籍——《My...
    不二臣_463d阅读 415评论 0 0
  • 顾颖17021223250 转载自https://blog.csdn.net/linuxlsq/article/d...
    大猫_23fe阅读 412评论 0 1
  • 时间:2018-06-01 姓名:魏文应 说明:这一篇文章,大部分文字内容来源于 www.xuegod.cn 的视...
    秋的懵懂阅读 1,231评论 0 5
  • MySQL5.6从零开始学 第一章 初始mysql 1.1数据库基础 数据库是由一批数据构成的有序的集合,这些数据...
    星期四晚八点阅读 1,254评论 0 4
  • 面对巨人的观后感:当一个人心里迷茫消极时什么事情都是不顺利的,当一个人有信念,目标明确时,会带动周围所有的人有动力...
    舞悦朵朵阅读 184评论 0 0

友情链接更多精彩内容