什么是数据库

数据库实际上就是一个文件集合,是一个存储数据的仓库,本质就是一个文件系统,数据库是按照特定的格式把数据存储起来,用户可以对存储的数据进行增删改查操作

数据库管理系统(DBMS)

  • RDBMS

    • 关系型数据库管理系统
    • 数据安全性要求较高的应用场景
    • Oracle/MySQL/MSSQL/PG
  • NoSQL
    • 非关系型数据库管理系统
    • 针对性能要求较高,数据安全性要求不太高的场景,一般是配合RDBMS使用的产品
    • Redis/mongo/ES
  • NewSQL
    • 分布式数据库管理系统
    • TiDB(PingCap)/Spannaer(Google)

MySQL 软件分支

  • Oracle MySQL
  • MariaDB
  • PerconaDB
  • 云数据库(RDS MySQL-阿里/腾讯DB....)

MySQL 企业版本选择

主流版本 发布时间
5.6.34 2016.10.02
5.6.38 2017.09.13
5.6.40 2018.02.26
5.7.22 2018.03.04
5.7.24 2018.10.04
5.7.26 2019.04.13

企业新环境的版本选择:

GA 版本 6-12月的产品,一般为偶数版

MySQL 二进制版本安装

  • 安装版本:MySQL 5.7.26
  • 操作系统:CentOS 7.6

下载并上传软件

[root@mysql ~]# mkdir -p /server/scripts
[root@mysql ~]# cd /server/scripts/
[root@mysql /server/scripts]# tar xf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

解压

[root@mysql /server/scripts]# mkdir /application
[root@mysql /server/scripts]# mv mysql-5.7.26-linux-glibc2.12-x86_64 /application/mysql

处理原始环境

[root@mysql /server/scripts]# rpm -qa |grep mariadb
mariadb-libs-5.5.60-1.el7_5.x86_64
[root@mysql /server/scripts]# yum remove mariadb-libs.x86_64 -y
## 卸载此软件或删除/etc/my.cnf 否则会报错

创建用户

[root@mysql ~]# useradd -s /sbin/nologin mysql
[root@mysql ~]# id mysql
uid=1001(mysql) gid=1001(mysql) groups=1001(mysql)

设置环境变量(添加到尾部)

[root@mysql ~]# vim /etc/profile
export PATH=/application/mysql/bin:$PATH
[root@mysql ~]# source /etc/profile
[root@mysql ~]# mysql -V ==> 检查是否生效
mysql Ver 14.14 Distrib 5.7.26, for linux-glibc2.12 (x86_64) using EditLine wrapper

创建数据目录并授权

[root@mysql ~]# mkdir /data/mysql/data -p
[root@mysql ~]# chown -R mysql:mysql /data/
[root@mysql ~]# chown -R mysql.mysql /application/mysql/*

初始化数据(创建系统数据)

[root@mysql ~]# yum install -y libaio-devel
[root@mysql ~]# mysqld --initialize-insecure --user=mysql --basedir=/application/mysql --datadir=/data/mysql/data

编写配置文件

[root@mysql ~]# 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

配置systemd管理(CentOS 7)

或者使用sysd启动方式

cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld

[root@mysql ~]# 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

启动数据库

[root@mysql ~]# systemctl start mysqld
[root@mysql ~]# systemctl enable mysqld
[root@mysql ~]# netstat -lntup |grep 3306 #查看是否启动成功

管理员密码设置

[root@db01 ~]# mysqladmin -uroot -p password 123456
Enter password: #==> 无密码,直接回车

最新文章

  1. 从ASP.NET 升级到ASP.NET5(RC1) - 翻译
  2. ionic build android 报错分析
  3. 进行以上Java编译的时候,出现unmappable character for encoding GBK。
  4. Android 中的WiFi剖析
  5. json字符串、json对象、数组 三者之间的转换
  6. ExtJs3常用控件操作实例
  7. C#日志工具汇总
  8. Spring MVC + Spring + Mybitis开发Java Web程序基础
  9. weakref 待解决.
  10. 通过VirtualBox安装Linux系统(CentOS7)
  11. map和flatmap的区别+理解、学习与使用 Java 中的 Optional
  12. 【Java算法】冒泡排序
  13. POJ 2664
  14. 实用ExtJS教程100例-006:ExtJS中Window的用法示例
  15. 跟我学SharePoint2013视频培训课程——设置列表名称、描述、导航等基本信息(12)
  16. BZOJ1296: [SCOI2009]粉刷匠 DP
  17. javascript中new Date()会存在偏差一小时的bug
  18. 新手,Visual Studio 2013 配置Boost库,如何编译和选择
  19. input输入框限制输入英文,数字,汉字
  20. 手把手教你最简单的开源项目托管GitHub入门教程

热门文章

  1. python基础 — random库
  2. matlab 2017b 支持的C编译器
  3. JSON parse error: Can not deserialize instance of java.lang.String out of START_OBJECT token; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of j
  4. 网页中插入Flash动画(.swf)代码和常用参数设置
  5. 如何访问Pod
  6. wpf 对控件进行截图,获取快照
  7. (转)项目迁移_.NET项目迁移到.NET Core操作指南
  8. Linux中shell字符串分隔、字符串替换、字符串拼接
  9. ASP.NET Core 入门(2)(WebApi接口请求日志 Request和Response)
  10. drf安装与APIView初步分析