最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

初识数据库 & MySQL安装

XAMPP新闻 admin 78浏览 0评论
基于python基础知识,如果想要将程序中产生的数据永久的保存在硬盘中,只能采用文件的方式,但是很明显,文件仅仅只能存在于某一台电脑上,而且操作文件是个很麻烦的事情,另外如果其他电脑需要向该电脑中的文件写入数据,如果这台电脑崩了,数据怎么办呢?如果其他计算机想要存储数据,还需要一个socket服务端….以上的数据存储问题都可以通过数据库来解决。
 01mysql
01
数据库简介
数据库可以理解为是在一台机器上独立工作并且可以提供更加高效、便捷的方式对数据进行增删改查的一种工具。有了数据库之后,我们可以将所有的数据单独存放在一个机器上,而服务器端只负责存放程序代码。使用数据库代替文件储存数据有以下几点优势:第一,程序的稳定性,数据库可以分布在多台机器上,任何一台机器崩了也不会影响其他机器。

第二,并发,数据库可以比较好的支持并发,所有的程序操作数据都是通过网络,数据库本身支持并发的网络操作,就不需要自己去写socket服务端了。

第三,效率,使用数据库对数据进行增删改查比使用文件的效率高出很多。

 

02
数据库分类
数据库有两种类型,一种是关系型数据库,指的是数据之间彼此都有关系或者约束,存储数据的表现形式通常是以表格进行存储,和我们经常使用的excel非常类似,但是对每个字段会有存储类型的限制,具体在使用的时候会详细介绍,关系型数据常见的有MySQL、Oracle、sql server等,在学习关系型数据库时,我们以MySQL为主要学习对象,其他关系型数据库和MySQL大体相同;另一种是非关系型数据库,存储数据通常是以key、value键值对的方式,在后面介绍非关系型数据库时,以redis作为主要学习对象。 
03
MySQL安装
MySQL的底层也是基于socket通信的,MySQL分为客户端和服务端,服务端基于socket通信,进行收发消息执行客户端发送过来的SQL语句,客户端同样也是基于socket通信,将SQL语句发送至服务端接收服务端发送过来的SQL语句执行结果。MySQL不单只支持MySQL自己的客户端,同时也支持其他编程语言或者程序充当MySQL的客户端进行操作。如果想要让服务端同时兼容多个客户端的语言,就需要这多个客户端向服务端发送的命令或者指令是统一的语言,这个语言就是SQL语句,SQL语句会在后面的文章中介绍,接下来先在计算机上安装MySQL吧。不管是安装哪种版本的MySQL都需要去MySQL的官方网站(https://www.mysql.com/)进行下载(https://downloads.mysql.com/archives/community/)。打开下载网址后,选择需要版本(version)和操作系统,由于后期MySQL相关文章是以5.7.31版本为主,因此这里版本选择5.7.31,操作系统根据自己计算机的情况进行下载。

图片

windows系统

windows系统选择zip Archive进行下载,将下载后的zip包解压至任意目录下,该目录就是MySQL的安装目录。打开该目录新建文件my.ini或者my.cnf,在文件中添加下述内容
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8 
[mysqld]
# 设置3306端口
port = 3306 
# 设置mysql的安装目录,就是解压的目录
basedir=D:\MySQL5.7.31
# 设置mysql数据库的数据的存放目录
datadir=D:\MySQL5.7.31\data 
# 允许最大连接数
max_connections=200
# 指定字符编码
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

 

在安装目录(D:\MySQL5.7.31)下的bin文件夹路径下打开cmd命令行,执行下述初始化命令命令:

mysqld --initialize-insecure

 

执行完毕上述命令之后打开存放数据的data目录(D:\MySQL5.7.31\data )后,可以看到xx.err,MySQL的初始密码就存在这个文件中。

初始化MySQL之后,需要安装MySQL服务,以管理员身份打开cmd命令行,切换至MySQL安装目录下的bin目录,输入mysqld install回车运行。

然后进行配置系统环境变量,在系统环境变量的PAT后面添加MySQL安装目录下bin文件夹路径(如D:\MySQL5.7.31\bin),这样可以保证在任意位置打开cmd窗口都可以运行MySQL。

完成上述步骤就可以启动mysql服务了,同样以管理员身份打开cmd,输入net start mysql,服务启动成功之后就可以登录MySQL了,在cmd中输入mysql -u root -p回车后输入密码(密码在data目录下的xx.err文件中)登录。如果想要停止mysql服务需要以管理员身份在cmd中输入net stop mysql。

linux系统

以centos7.6的虚拟机为例介绍在linux系统上安装MySQL,在正式安装MySQL之前,可以执行下述两条命令进行环境清理:

rpm -qa |grep mariadb  
yum remove mariadb-libs

 

环境清理后,执行下述命令创建用户和组:

useradd mysql
useradd mysql -s /sbin/nologin 
id mysql

 

创建安装MySQL需要的目录,软件安装目录和数据目录:

# 软件目录
mkdir -p /app/database/
# 数据目录
mkdir -p /data/3306
# 日志目录
mkdir -p /binlog/3306
设置权限
chown -R mysql.mysql /app/ /data/ /binlog

 

完成上述操作之后,下载MySQL的tar包并解压至/app/databases:

# 切换至/app/databases目录,下载并解压
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz
tar xzf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz

 

建立软连接:

ln -s mysql-5.7.31-linux-glibc2.12-x86_64 mysql

 

执行下述命令设置环境变量,把bin目录设置到环境变量中:

vim /etc/profile  # 打开并编辑文件

# 在该文件中添加下述内容
export PATH=/app/database/mysql/bin:$PATH

 

保存文件后执行下述命令生效配置:

source /etc/profile

 

通过mysql -V验证是否安装成功。

 

执行下述命令进行数据库的初始化操作:

mysqld --initialize-insecure --user=mysql --basedir=/app/database/mysql --datadir=/data/3306/

'''
如果报错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
安装完成后重复执行数据库初始化操作,会提示data目录不为空,删除data目录中的所有文件再重复执行一次初始化的命令
'''

 

需要注意的是,初始化命令执行成功后会在终端上打印出MySQL的密码,需要记住这个密码然后在修改默认密码时会用到。

然后进行配置文件的编写,执行下述命令:

vim /etc/my.cnf
[mysqld]
user=mysql
basedir=/app/database/mysql
datadir=/data/3306/
server_id=6
port=3306
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock

 

配置启动脚本:

cd /app/database/mysql/support-files
./mysql.server start

'''
在centos7中可以使用systemctl启动mysql服务,首先需要将mysqld的脚本添加到systemctl的管理中
chkconfig --add mysqld
systemctl start mysqld
'''

 

脚本配置成功后,可以通过以下几种方式的任意一种来启动MySQL服务:

service mysqld start
systemctl start mysqld
/etc/init.d/mysqld start
/app/database/mysql/support-files/mysql.server start

 

成功启动MySQL服务后,我们就可以修改MySQL默认的密码,这里就会用到上述需要记住的默认密码了:

mysqladmin -uroot -p password lqz1234.
输入原始密码

 

密码修改成功之后,就可以登录MySQL:

mysql -u root -p
回车后输入修改后的密码

 Mac系统

Mac系统安装MySQL需要在下载地址中选择MacOS然后选择DMG Archive进行下载,安装时一路下一步即可,安装完成后需要将MySQL服务加入环境变量中,执行下述命令

open ~/.bash_profile
# 把下面两行贴入,保存关闭
export PATH=$PATH:/usr/local/mysql/bin
export PATH=$PATH:/usr/local/mysql/support-files

保存文件后,执行下述命令使配置生效

source ~/.bash_profile

通过下述命令开启/关闭、查看MySQL的服务

# 停止MySQL服务
sudo mysql.server stop

# 重启MySQL服务
sudo mysql.server restart

# 查看MySQL服务状态
sudo mysql.server status

在Mac系统上MySQL的配置文件如下,需要切换到/usr/local/mysql/support-files目录,创建my.cnf文件,在文件中加入下述内容:

[mysqld]
default-storage-engine=INNODB
character-set-server=utf8
port = 3306

[client]
default-character-set=utf8
04SQL语句简介
有了数据库软件后,开发人员就不必使用文件这种复杂的方式操作数据了,只需要专注程序的逻辑即可,MySQL的服务端就是mysqld会帮助开发人员管理好文件,而开发人员只需要使用其他软件或者程序连接到mysqld即可,然后使用MySQL软件规定的语法格式提交命令,实现对文件或者文件夹的管理,这种语法就是SQL(tructured Query Language 即结构化查询语言)。MySQL中的SQL语句是以分号作为结束的标志。SQL语言主要用于存取数据、查询数据、更新数据和管理关系数据库系统,SQL语言由IBM开发。SQL语句分为三类:DDL:数据定义语言Data Definition,比如数据库、表等的创建操作DCL:数据控制语言Data Contrl,比如用户的访问权限等操作DML:数据操作语言Data Manipulation,数据的增删改查操作

上述三种SQL会在后续的文章中详细介绍。

 

05MySQL数据库基本概念
在学习操作数据库之前,需要介绍MySQL数据库的一些基本概念,分别是库、表、字段。为了方便理解,可以将这三个基本概念与计算机中的常用概念进行对比:

MySQL 计算机中的概念
数据库 文件夹
文件夹中的excel文件
记录 excel表格中的每一行数据

 

转载请注明:XAMPP中文组官网 » 初识数据库 & MySQL安装