MySQL数据库的优势及安装方法
发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,下面一起来了解下MySQL数据库的优势及安装方法,相信大家看完肯定会受益匪浅,文字在精不在多,希望MySQL数据库的优势及安装方法这篇短内容是你想要的。数据库的基本概念数据描述事物的符号记录称为数据(
千家信息网最后更新 2024年11月23日MySQL数据库的优势及安装方法
下面一起来了解下MySQL数据库的优势及安装方法,相信大家看完肯定会受益匪浅,文字在精不在多,希望MySQL数据库的优势及安装方法这篇短内容是你想要的。
数据库的基本概念
数据
- 描述事物的符号记录称为数据(Data)
- 包括数字、文字、图形、图像、声音、档案记录等
- 以"记录"形式按统一的格式进行存储
表
- 将不同的记录组织在一起,就形成了"表"
- 是用来存储具体数据的
数据库
- 数据库就是表的集合,是存储数据的仓库
- 以一定的组织方式存储的相互有关的数据
数据库系统发展史
第一代数据库
- 自20世纪60年代起,第一代数据库系统问世。它们是层次模型与网状模型的数据库系统,为统一管理和共享数据提供了有力的支撑
第二代数据库
- 20世纪70年代初,第二代数据库--关系数据库开始出现
- 20世纪80年代初,IBM公司的关系数据库系统DB2问世,作为第二代数据库系统的关系数据库,开始逐步取代层次与网状模型的数据库,成为占主导地位的数据库,成为行业主流。到目前为止,关系数据库系统仍占领数据库应用的主要地位
第三代数据库
- 自20世纪80年代起,各种适应不同领域的新型数据库系统不断涌现,如工程数据库、多媒体数据库、图形数据库、智能数据库、分布式数据库及面向对象数据库等,特别是面向对象数据库系统,由于其实用性强、适应面广而受到人们的青睐
- 20世纪90年代后期,形成了多种数据库系统共同支撑应用的局面。当然,在商务应用方面,依然还是关系数据库占主流,不过,已经有一些新的元素被添加进主流商务数据库系统中。例如,Oracle支持的"关系-对象"数据库模型
当今主流数据库介绍
SQL Server (微软公司产品)
- 面向Windows操作系统
- 简单、易用
Oracle (甲骨文公司产品)
- 面向所有主流平台
- 安全、完善,操作复杂
DB2 (IBM公司产品)
- 面向所有主流平台
- 大型、安全、完善
MySQL (甲骨文公司收购)
- 免费、开源、体积小
关系数据库
- 关系数据库系统是基于关系模型的数据库系统,它的基本概念来自于关系模型
- 关系模型建立在关系代数的理论基础上,数据结构使用简单易懂的二维数据表,可以用简单的"实体-关系"图来直接 表示
- 下面E-R图中包含了实体(数据对象)、关系和属性三要素
实体
- 也称为实例,对应现实世界中可区别于其他对象的"事件"或"事物",如银行客户、银行账户等
属性
- 实体所具有的某一特性,一个实体可以有多个属性。例如,"银行客户"实体集中的每个实体均具有姓名、住址、电话等属性
联系
- 实体集之间的对应关系称为联系,也称为关系。例如,银行客户和银行账户之间存在"储蓄"的关系
所有实体及实体之间联系的集合构成一个关系数据库
关系数据库的存储结构是二维表格,反映事物及其联系的数据是以表格形式保存的
在每个二维表中, 每一行称为一条记录,用来描述一个对象的信息;每一列称为一个字段,用来描述对象的一个属性
关系数据库应用
关系型数据库
- Oracle,MySQL
- SQLServer、Sybase
- Informix、access
- DB2、FoxPRO
关系型数据库应用举例
- 12306用户信息系统
- 淘宝账号信息系统,支付宝账号系统、移动、电信、联通手机信号信息系统、计费系统银行用户账号系统
- 网站用户信息系统
非关系数据库介绍
- 非关系数据库也被称作NoSQL(Not Only SQL),存储数据不以关系模型为依据,不需要固定的表格式
- 非关系型数据库作为关系数据库的一个补充,在日益快速发展的网络时代,发挥着高效率与高性能
- 非关系型数据库的优点
- 数据库高并发读写的需求
- 对海量数据高效率存储与访问
- 数据库的高扩展性与高可用性的需求
非关系型数据库存储方式
- 键-值方式(key-value),以键为依据存储、删、改数据
- 列存储(Column-oriented),将相关的数据存储在列族中
- 文档的方式,数据库由一系列数据项组成,每个数据项都有名称与对应的值
- 图形方式,实体为顶点,关系为边,数据保存为一个图形
非关系数据库产品
Memcached是一 个开源的、高性能的、具有分布式内存对象的缓存系统,以key-value方式存储数据
- 缓存数据以减轻数据库压力并能加快访问速度
- 加速动态Web应用
- 缓存的内容保存在内存中
- redis也是一 个以key-value方式存储数据的,数据也是保存在内存中,但会定期将数据写入磁盘中
- 相对于FMemcached有以下特点
- 支持内存缓存
- 支持持久化.
- 数据类型更多
- 支持集群、分布式
- 支持队列
redis应用举例
- 数据库前端缓存
- session共享
- 当需要缓存除了key/value之外的更多数据类型时
- 当缓存的数据需要长久保存时
MySQL数据库介绍
- MySQL是一款深受欢迎的开源关系型数据库
- Oracle旗下的产品
- 遵守了GPL协议,可以免费使用与修改
- 特点
- 性能卓越、服务稳定
- 开源、无版权限制、成本低
- 多线程、多用户
- 基于C/S (客户端/云服务器)架构
- 安全可靠
MySQL商业版与社区版
- MySQL商业版是由MySQL AB公司负责开发与维护,需要付费才能使用
- MySQL社区版是由分散在世界各地的MySQL开发者、爱好者一起开发与维护,可以免费使用
- 两者区别
- 商业版组织管理与测试环节更加严格,稳定性更好
- 商业版不遵守GPL
- 商业版可获得7*24小时的服务,如故障维护与打补丁等
MySQL产品阵营
- 第一阵营: 5.0-5.1阵营,可说是早期产品的延续
- 第二阵营: 5.4-5.7阵营,更好地整合了MySQL AB公司、社区、第三方公司开的存储引擎,从而提高性能
- 第三阵营: 6.0-7.1阵营,就是MySQL Cluster版本,为适应新时代集群对数据库的需求而开发
- MySQL下载网址
MySQL安装实例
- 在VMware虚拟机中打开Linux系统,并下载MySQL压缩包到宿主机,并设置保存MySQL压缩包的文件夹共享,方便Linux系统挂载使用 MySQL5.7下载
[root@localhost ~]# yum install gcc gcc-c++ make ncurses ncurses-devel bison cmake -y //安装环境包已加载插件:fastestmirror, langpacksbase | 3.6 kB 00:00:00 extras | 2.9 kB 00:00:00...已安装: bison.x86_64 0:3.0.4-2.el7 cmake.x86_64 0:2.8.12.2-2.el7 gcc.x86_64 0:4.8.5-39.el7 gcc-c++.x86_64 0:4.8.5-39.el7 ncurses-devel.x86_64 0:5.9-14.20130511.el7_4 作为依赖被安装: cpp.x86_64 0:4.8.5-39.el7 glibc-devel.x86_64 0:2.17-292.el7 glibc-headers.x86_64 0:2.17-292.el7 kernel-headers.x86_64 0:3.10.0-1062.4.3.el7 libmpc.x86_64 0:1.0.1-3.el7 libstdc++-devel.x86_64 0:4.8.5-39.el7 m4.x86_64 0:1.4.16-10.el7 更新完毕: make.x86_64 1:3.82-24.el7 ncurses.x86_64 0:5.9-14.20130511.el7_4 作为依赖被升级: glibc.x86_64 0:2.17-292.el7 glibc-common.x86_64 0:2.17-292.el7 libgcc.x86_64 0:4.8.5-39.el7 libgomp.x86_64 0:4.8.5-39.el7 libstdc++.x86_64 0:4.8.5-39.el7 ncurses-base.noarch 0:5.9-14.20130511.el7_4 ncurses-libs.x86_64 0:5.9-14.20130511.el7_4完毕![root@localhost ~]# useradd -s /sbin/nologin mysql //创建MySQL程序型用户[root@localhost ~]# mount.cifs //192.168.100.8/shares /mnt/ //将宿主机中MySQL压缩包路径挂载到Linux系统中Password for root@//192.168.100.8/shares: [root@localhost ~]# cd /mnt/ //进入挂载点目录[root@localhost mnt]# tar zxvf mysql-boost-5.7.20.tar.gz -C /opt //解压MySQL压缩包到opt目录......mysql-5.7.20/boost/boost_1_59_0/boost/unordered/detail/extract_key.hppmysql-5.7.20/boost/boost_1_59_0/boost/unordered/detail/buckets.hppmysql-5.7.20/boost/boost_1_59_0/boost/unordered/detail/allocate.hppmysql-5.7.20/boost/boost_1_59_0/boost/unordered/detail/util.hppmysql-5.7.20/boost/boost_1_59_0/boost/unordered/unordered_map.hppmysql-5.7.20/boost/boost_1_59_0/boost/unordered/unordered_set.hppmysql-5.7.20/boost/boost_1_59_0/boost/unordered/unordered_set_fwd.hppmysql-5.7.20/boost/boost_1_59_0/boost/unordered/unordered_map_fwd.hppmysql-5.7.20/boost/boost_1_59_0/boost/timer.hpp[root@localhost mnt]# cd /opt/mysql-5.7.20/[root@localhost mysql-5.7.20]# cmake \ //配置mysql> -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ //指定安装路径> -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ //指定mysql.sock.路径> -DSYSCONFDIR=/etc \ //指定配置文件存放位置> -DSYSTEMD_PID_DIR=/usr/local/mysql \ //指定pid文件存放为位置> -DDEFAULT_CHARSET=utf8 \ //字符集格式utf-8> -DDEFAULT_COLLATION=utf8_general_ci \ > -DWITH_INNOBASE_STORAGE_ENGINE=1 \ //开启存储引擎> -DWITH_ARCHIVE_STORAGE_ENGINE=1 \> -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \> -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \> -DMYSQL_DATADIR=/usr/local/mysql/data \ //指定数据存放位置> -DWITH_BOOST=boost \ //关联支持c++运行库> -DWITH_SYSTEMD=1 //开启systemd....-- CMAKE_C_LINK_FLAGS: -- CMAKE_CXX_LINK_FLAGS: -- CMAKE_C_FLAGS_RELWITHDEBINFO: -O3 -g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing -DDBUG_OFF-- CMAKE_CXX_FLAGS_RELWITHDEBINFO: -O3 -g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing -DDBUG_OFF-- Configuring done-- Generating done-- Build files have been written to: /opt/mysql-5.7.20[root@localhost mysql-5.7.20]# make //make过程(时间比较长,耐心等待)....[100%] Building CXX object libmysqld/examples/CMakeFiles/mysql_embedded.dir/__/__/client/readline.cc.oLinking CXX executable mysql_embedded[100%] Built target mysql_embeddedScanning dependencies of target mysqltest_embedded[100%] Building CXX object libmysqld/examples/CMakeFiles/mysqltest_embedded.dir/__/__/client/mysqltest.cc.oLinking CXX executable mysqltest_embedded[100%] Built target mysqltest_embeddedScanning dependencies of target my_safe_process[100%] Building CXX object mysql-test/lib/My/SafeProcess/CMakeFiles/my_safe_process.dir/safe_process.cc.oLinking CXX executable my_safe_process[100%] Built target my_safe_process[root@localhost mysql-5.7.20]# make install //安装...-- Installing: /usr/local/mysql/./COPYING-test-- Installing: /usr/local/mysql/./README-test-- Up-to-date: /usr/local/mysql/mysql-test/mtr-- Up-to-date: /usr/local/mysql/mysql-test/mysql-test-run-- Installing: /usr/local/mysql/mysql-test/lib/My/SafeProcess/my_safe_process-- Up-to-date: /usr/local/mysql/mysql-test/lib/My/SafeProcess/my_safe_process-- Installing: /usr/local/mysql/mysql-test/lib/My/SafeProcess/Base.pm-- Installing: /usr/local/mysql/support-files/mysqld_multi.server-- Installing: /usr/local/mysql/support-files/mysql-log-rotate-- Installing: /usr/local/mysql/support-files/magic-- Installing: /usr/local/mysql/share/aclocal/mysql.m4-- Installing: /usr/local/mysql/support-files/mysql.server[root@localhost mysql-5.7.20]# cd /usr/local/ //进入安装目录[root@localhost local]# chown -R mysql.mysql mysql/ //mysql目录更改用户与组[root@localhost local]# mv /etc/my.cnf /etc/my.cnf.bak //更改配置文件名称[root@localhost local]# vim /etc/my.cnf //重新编辑配置文件[client]port = 3306default-character-set=utf8socket = /usr/local/mysql/mysql.sock[mysql]port = 3306default-character-set=utf8socket = /usr/local/mysql/mysql.sock[mysqld]user = mysqlbasedir = /usr/local/mysqldatadir = /usr/local/mysql/dataport = 3306character_set_server=utf8pid-file = /usr/local/mysql/mysqld.pidsocket = /usr/local/mysql/mysql.sockserver-id = 1sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES:wq[root@localhost local]# vim /etc/profile...PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH export PATH //重新声明环境变量:wq[root@localhost local]# source /etc/profile //重新执行[root@localhost local]# cd /usr/local/mysql/bin //进入MySQL命令目录[root@localhost bin]# mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data //初始化数据库2019-12-02T11:51:28.112082Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).2019-12-02T11:51:28.263398Z 0 [Warning] InnoDB: New log files created, LSN=457902019-12-02T11:51:28.287408Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.2019-12-02T11:51:28.341284Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 131f32df-14fa-11ea-87e6-000c297265cb.2019-12-02T11:51:28.342106Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.2019-12-02T11:51:28.342452Z 1 [Warning] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.[root@localhost ~]# cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /lib/systemd/system/ //将MySQL启动脚本夫复制到系统system目录下[root@localhost ~]# systemctl enable mysqld.service //设置MySQL为开机自启动Created symlink from /etc/systemd/system/multi-user.target.wants/mysqld.service to /usr/lib/systemd/system/mysqld.service.[root@localhost ~]# systemctl start mysqld.service //启动MySQL[root@localhost ~]# mysqladmin -u root -p password //设置MySQL数据库密码Enter password: //没有原始密码,直接回车New password: //输入新密码Confirm new password: //再次输入密码Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety. //安全提示[root@localhost ~]# mysql -u root -p //登录MySQLEnter password: 输入密码Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 4Server version: 5.7.20 Source distributionCopyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> show databases; //查看数据库+--------------------+| Database |+--------------------+| information_schema || mysql || performance_schema || sys |+--------------------+
4 rows in set (0.00 sec)
看完MySQL数据库的优势及安装方法这篇文章后,很多读者朋友肯定会想要了解更多的相关内容,如需获取更多的行业信息,可以关注我们的行业资讯栏目。
数据
数据库
系统
存储
实体
对象
模型
产品
方式
缓存
阵营
应用
主流
信息
公司
用户
目录
银行
支持
世纪
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网站多大需要服务器
服务器息屏后网络断开
宝山区智能化软件开发服务报价表
易销互联网科技李德华
普陀区特定软件开发服务定制价格
软件开发属于什么兴趣领域
东软集团网络安全事业部曹斌
山西pdu服务器电源厂家
寒假护苗网络安全课程
软件测试和软件开发的差别
apex哪个服务器好炸鱼
北大青鸟软件开发培训学费
网络爬虫可以爬出数据库吗
无为软件开发周期多长
A股服务器的
机房管理数据库设计
新华三服务器弹性计算
曲阜网络安全会议
删除数据库数据很慢
数据库课程设计员工管理系统
浙江常规软件开发服务保障
avast!网络安全软件
网络技术与现代文明
工业互联网平台点赞汉脑科技
数据库恢复安全管理的内容
图文分析数据库
小学 网络安全的定义
数据库实例位数
网络安全研究生薪资
网络安全知识培训试题