当前位置: 首页 > news >正文

使用脚本搭建MySQL数据库基础环境

数据库的基本概念

        数据(Data)

                描述事物的符号记录

                包括数字,文字,图形。图像,声音,档案记录等。

                以记录形式按统一格式进行存储

        表

                将不同的记录组织在一起

                用来储存具体数据

        数据库

                表的集合,是储存数据的仓库

                以一定的组织方式存储的相互有关的数据集合

         数据库管理系统(DBMS)

                是实现对数据库资源有效组织,管理和存取的系统软件

         数据库系统

                是一个人机系统,由硬件,OS,数据库,DBMS,应用软件和数据库用户组成

                用户可以通过DBMS或应用程序操作数据库

  数据库系统发展史

                第一代数据库

                        20世纪60年代起,第一代数据库系统问世

                        是层次模型和网状模型的数据库系统

                        为统一管理和共享数据提供了有力的支撑

                第二代数据库

                        20世纪70年代初,第二代数据库——关系数据库开始出现

                        20世纪80年代,IBM公司的关系数据库系统DB2问世,开始逐步取代层次与网状模型的数据库,成为行业主流

                        到目前为止,关系数据库系统仍然占领数据库应用的主要地位

主流数据库

        SQL SERVER(微软公司产品)

                面向Windows操作系统

                简单,易用

        Oracle(甲骨文公司产品)

                面向所有主流平台

        DB2(IBM公司产品)

                面向所有主流平台

                大型,安全,完善

        MySQL(甲骨文公司收购)

                开源,免费,体积小

非关系数据库介绍

        非关系数据库也被称作NoSQL

        存储数据不以关系模型为依据,不需要固定的表格式

        非关系型数据库的优点

                数据库可高并发读写

                对海量数据高效率存储和访问

                数据库具有高拓展性和高可用性

        常用的非关系数据库:Redis,mongoDB等

MySQL数据库介绍

        一款深受欢迎的开源关系型数据库

        Oracle旗下产品

        遵守GPL协议,可以免费使用与修改

                特点

                性能卓越,服务稳定

                开源无版权限制,成本低

                多线程,多用户

                基于C/S(客户端/服务器)架构

                安全可靠

 在这上面需要有一个关于MySQL的一个包mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz

#这里是编写脚本vi  test.sh
#脚本内容
yum -y install gcc vim wget net-tools lrzsz
yum -y install libaio
useradd -M -s /sbin/nologin mysql
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0
systemctl disable firewalld
systemctl stop firewalld
tar zxf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.28-linux-glibc2.12-x86_64 /usr/local/mysql 
mkdir /usr/local/mysql/data
chown -R mysql.mysql /usr/local/mysql/data
cd /usr/local/mysql/bin
./mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
#这里会显示你的密码
cat > /etc/my.cnf << 'EOF'
[client]
socket=/usr/local/mysql/data/mysql.sock
[mysqld]
socket=/usr/local/mysql/data/mysql.sock
bind-address = 0.0.0.0
skip-name-resolve
port = 3306
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
max_connections=2048
character-set-server=utf8
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
EOF
echo "export PATH=$PATH:/usr/local/mysql/bin">> /etc/profile
. /etc/profile
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld 
chmod +x /etc/rc.d/init.d/mysqld
cat >> /lib/systemd/system/mysqld.service << 'EOF' 
[Unit]
Description=mysqld
After=network.target[Service]
Type=forking
ExecStart=/etc/rc.d/init.d/mysqld start
ExecReload=/etc/rc.d/init.d/mysqld restart
ExecStop=/etc/rc.d/init.d/mysqld stopPrivateTmp=true[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable mysqld
systemctl start mysqld
netstat -tunlp|grep 3306
#这里是进入数据库了,下一步是输入密码
mysql -u root -p
#保存退出后给个权限执行脚本
chmod +x test.sh
./test.sh
#执行完脚本之后可以在MySQL里面更改密码
mysql> set password=password('123456');        #修改密码(在这里面我修改的密码是123456)
然后可以exit退出

这就是一整个脚本编译过程

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • JavaScript函数学习笔记[Web开发]
  • ts -> class -> abstract
  • CID引流-拼多多案例
  • 前端系列-7 Vue3响应式数据
  • 【简历】吉林某一本大学:JAVA秋招简历指导,简历通过率比较低
  • maven archetype
  • LeetCode 热题 HOT 100 (011/100)【宇宙最简单版】
  • 代码随想录算法训练营DAY64|拓扑排序、dijkstra(朴素版)
  • 基因组挖掘指导天然药物分子的发现-文献精读34
  • MongoDB教程(十五):MongoDB原子操作
  • 【系列专题】新质生产力之光,照亮“制造强国”之路
  • 【SpringBoot】URL映射之consumes和produces匹配、params和header匹配
  • go-kratos 学习笔记(1) 安装
  • 【数据结构】树和二叉树
  • InternLM学习笔记
  • Angular数据绑定机制
  • gitlab-ci配置详解(一)
  • Nacos系列:Nacos的Java SDK使用
  • ubuntu 下nginx安装 并支持https协议
  • webgl (原生)基础入门指南【一】
  • 分布式事物理论与实践
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 开源SQL-on-Hadoop系统一览
  • 离散点最小(凸)包围边界查找
  • 【运维趟坑回忆录】vpc迁移 - 吃螃蟹之路
  • MyCAT水平分库
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • #NOIP 2014#Day.2 T3 解方程
  • (BAT向)Java岗常问高频面试汇总:MyBatis 微服务 Spring 分布式 MySQL等(1)
  • (C11) 泛型表达式
  • (C语言)二分查找 超详细
  • (el-Transfer)操作(不使用 ts):Element-plus 中 Select 组件动态设置 options 值需求的解决过程
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (差分)胡桃爱原石
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (面试必看!)锁策略
  • (七)Activiti-modeler中文支持
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (四) 虚拟摄像头vivi体验
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (四)事件系统
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (一)模式识别——基于SVM的道路分割实验(附资源)
  • (转)Sublime Text3配置Lua运行环境
  • . NET自动找可写目录
  • .CSS-hover 的解释
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .NET CF命令行调试器MDbg入门(一)
  • .Net Core 生成管理员权限的应用程序
  • .NET Core 网络数据采集 -- 使用AngleSharp做html解析
  • .NET Framework与.NET Framework SDK有什么不同?
  • .NET 事件模型教程(二)
  • .Net6 Api Swagger配置