MySQL的安装和介绍
第1章 数据库的介绍
1.1 什么是数据
数据:文字、图片、视频。。。人类认知的数据表现方式 计算机:二进制、16进制的机器语言 基于数据的重要性和复杂性的不同,我们可能有不同的管理方式
1.2 哪些数据是适合存储到数据库的
1. 重要性比较高的 2. 关系较复杂的数据
1.3 什么是数据库管理系统(DBMS)
RDBMS(关系型数据库管理系统)
比较适合于,安全级别要求高的数据以及关系较复杂的数据
NoSQL(非关系型数据库管理系统)
适合于高性能存取数据,一般是配合RDBMS进行使用的 针对大数据处理分析,分布式架构更加擅长
1.4 数据库管理系统种类
RDBMS(关系型数据库)
MySQL、Oracle、MSSQL(SQL Server)、PG
NoSQL(非关系型数据库)
键-值(key-value):Redis, memcached 文档(document):Mongodb
1.5 企业版本选择(MySQL分支版本)
Oracle: MySQL官方版 红帽 : MariaDB Percona: PerconaDB
第2章 二进制数据库部署流程
1.1 第一个里程: 上传软件
1.2 第二个里程: 解压软件包
[ /soft]# tar xf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz #改一个名字并带上版本号(企业中一般这样) [ /soft]# mv mysql-5.7.26-linux-glibc2.12-x86_64 mysql5726
1.3 第三个里程:编写环境变量配置文件且把自带的mariadb卸载
[ ~]# vim /etc/profile #最后一行加入一下内容 .... export PATH=/soft/mysql5726/bin:$PATH .... #使其及时生效 [ ~]#source /etc/profile #检查环境变量是否生效 [ ~]# mysql -V mysql Ver 14.14 Distrib 5.7.26, for linux-glibc2.12 (x86_64) using EditLine wrapper #卸载自带的mariadb [ ~]# rpm -qa |grep mariadb mariadb-libs-5.5.56-2.el7.x86_64 [ ~]# yum remove -y mariadb-libs-5.5.56-2.el7.x86_64
1.4 第四个里程:创建用户
#先检查用户是否存在 [ ~]# id mysql id: mysql: no such user #创建用户 [ ~]# useradd -s /sbin/nologin mysql
1.5 第五个里程:添加磁盘
为了防止一块盘坏了,导致全盘接输,我们一般选择把mysql的数据单独放在一个盘上和系统的数据分开存放 1)格式化磁盘 1. 查看刚刚挂在的磁盘 [ ~]# fdisk -l 2. 格式化磁盘 [ ~]# mkfs.xfs /dev/sdb 2)创建挂载的目录 [ ~]# mkdir /data 3)查看磁盘的UUID #每次磁盘格式化之后都会生成一个UUID [ ~]# blkid /dev/sda1: UUID="fb4ef11d-89e8-462b-822f-cd367570413b" TYPE="xfs" /dev/sda2: UUID="1b710427-4470-468c-9eac-bb37aad84c3c" TYPE="swap" /dev/sda3: UUID="ac6edd9a-8b57-4b20-b1d8-e819dcf0bbaf" TYPE="xfs" /dev/sr0: UUID="2017-09-06-10-51-00-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" /dev/sdb: UUID="ef152d80-881c-4542-bbf5-6de186ce7b4e" TYPE="xfs" 4)把要挂载的磁盘的UUID写入开机自动挂载 [ ~]# vim /etc/fstab .... UUID="ef152d80-881c-4542-bbf5-6de186ce7b4e" /data xfs defaults 0 0 .... 5) 执行挂载命令 [ ~]# mount -a 6) 检查是否挂载上了 [ ~]# df -h
1.6 第六个里程: 给软件路劲和数据路劲分别授权
[ ~]# chown -R mysql:mysql /soft/* [ ~]# mkdir /data/mysql/data -p [ ~]# chown -R mysql:mysql /data/*
1.7 第七个里程:编写配置文件
vim /etc/my.cnf #服务端 [mysqld] user=mysql #软件安装路劲 basedir=/soft/mysql5726 #数据路劲 datadir=/data/mysql/data #服务端socket文件位置 socket=/tmp/mysql.sock #服务器ID号这个值得范围是0~65535之间 server_id=20 #端口号 port=3306 #表空间大小:一定要在初始化数据之前设置 innodb_data_file_path=ibdata1:512M;ibdata2:512M:autoextend #客户端 [mysql] #客户端socket文件位置 socket=/tmp/mysql.sock #注意:客户端socket文件位置一定要和服务端socket文件位置一样
1.8 第八个里程: 初始化数据库{创建系统数据(维持mysql正常运行的数据)}
5.6版本:初始化参数
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data
5.7+开始的版本
[ ~]#mysqld --initialize-insecure --user=mysql --basedir=/soft/mysql5726 --datadir=/data/mysql/data 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
初始化参数说明:--initialize和--initialize-insecure2者区别
(1) --initialize 1. 密码长度,至少12位. 2. 密码复杂度4种 3. 密码过期时间180天 4. 自动生成一个临时密码 (2) --initialize-insecure 没有限制 #我们在实际安装的过程中一般都用 --initialize-insecure这个参数
1.9 第九个里程:编写启动脚本
第一种方案启动脚本(Centos6)
[ ~]# cd /etc/init.d/ [ init.d]# cp /soft/mysql5726/support-files/mysql.server /etc/init.d/mysqld [root ~]# service mysqld start
第二种方法(systemd)
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=/soft/mysql5726/bin/mysqld --defaults-file=/etc/my.cnf LimitNOFILE=5000
1.10 第八个里程:启动数据库
[ ~]# systemctl start mysqld.service
1.11 第九个里程:检查是否启动
[ ~]# systemctl status mysqld.service
相关推荐
CoderToy 2020-11-16
emmm00 2020-11-17
bianruifeng 2020-11-16
云中舞步 2020-11-12
世樹 2020-11-11
暗夜之城 2020-11-11
Coder技术文摘 2020-09-29
huacuilaifa 2020-10-29
Gexrior 2020-10-22
tufeiax 2020-09-03
疯狂老司机 2020-09-08
王艺强 2020-11-17
aydh 2020-11-12
zry 2020-11-11
URML 2020-11-11
spurity 2020-11-10
yifangs 2020-10-13
Andrea0 2020-09-18
Ida 2020-09-16
ltd00 2020-09-12
xjd0 2020-09-10