使用脚本搭建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 stop

PrivateTmp=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退出

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

相关推荐
Nturmoils19 分钟前
报表总在扫大表,列存储应该放在哪一层
数据库
夜雪一千1 小时前
ShardingSphere 雪花 / UUIDv7 主键分片实战 + SQL 建表示例
数据库·sql
Elastic 中国社区官方博客1 小时前
Elasticsearch:安装自行管理的 Elastic Stack 集群
大数据·运维·服务器·数据库·elasticsearch·搜索引擎·全文检索
PingCAP2 小时前
Agent 从 Demo 到生产,到底卡在哪?
数据库·tidb·agent
SelectDB3 小时前
开源替代怎么选:能力对照、三条部署路径与四类边界速查
数据库·云原生·开源
SelectDB3 小时前
自建与托管怎么选:开源自建、私有化与云上托管三条路径速查
数据库·云原生·开源
这个DBA有点耶3 小时前
深入 OLTP 锁与并发:从行锁到分布式事务的一致性权衡
数据库·架构·产品
SelectDB3 小时前
数仓 TCO 怎么算:五项成本拆解框架速查
大数据·数据库·开源
虚拟世界AI3 小时前
Kronos 时间序列数据库新手部署与实战指南
数据库
波力海苔夹心脆6753 小时前
C# 正则表达式零基础入门:从“看得懂“到“会用“
经验分享·后端·mysql·正则表达式·c#