数据库
-
假设现在你已经是某大型互联网公司的高级程序员,让你写一个火车票购票系统,来hold住十一期间全国的购票需求,你怎么写?
-
在同一时段抢票的人数如果太多,那么你的程序不可能运行在一台机器上,应该是多台机器一起分担用户的购票请求。
-
那么问题就来了,票务信息的数据存在哪里?存在文件里么?
-
如果存储在文件里,那么存储在哪一台机器上呢?是每台机器上都存储一份么?
- 首先,如果其中一台机器上卖出的票另外两台机器是感知不到的,
- 其次,如果我们将数据和程序放在同一个机器上,如果程序和数据有一个出了问题都会导致整个服务不可用。
- 最后,操作或修改文件中的内容对python代码来说是一件很麻烦的事。
-
基于上面这些问题,单纯的将数据存储在和程序同一台机器上的文件中是非常不明智的。
-
根据上面的例子,我们可以知道,将文件和程序存在一台机器上是很不合理的,同时,操作文件是一件很麻烦的事,所以我们可以使用数据库来存储数据。
MySQL
- MySQL是一个开源免费的关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。
- MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一,
- 具有成本低、速度快、体积小且开放源代码等优点。
上图来源:https://db-engines.com/en/ranking
基本安装
此处我们演示的是windows下安装mysql。linux的安装过程在ubuntu封装笔记里面有。
下载
打开网址,https://www.mysql.com,点击导航[DOWNLOADS](
- windows选择zip压缩包格式,mac OS选择dmg格式。
- 不需要注册登陆网站,直接谢谢,继续下载即可。
解压
-
把下载到本地的zip文件手动解压,将解压之后的文件夹放到专门保存开发软件的目录下,这个目录就是mysql的安装目录。
-
例如,此处我放在了C:/tool/目录下。
-
注意,目录路径不能出现中文,不能出现空格等特殊符号,否则会出错的!!!
配置
配置环境变量
- 【此电脑】
- 【右键】
- -【属性】
- -【高级系统设置】
- -【环境变量】
- 【找到系统变量中的path】
- -【选中】
- -【编辑】
- 【新建】
- -【将刚刚mysql压缩包点进去bin目录路径复制并粘贴进来】
- -【确定】
创建data目录
- 主要用于存放mysql数据库以及数据的。
注意:是mysql的安装目录!!!!
创建配置文件
- mysql在windows下的配置文件,叫 mysql.ini,默认是没有的,我们需要手动创建。
- mysql.ini的配置内容
- 注意:basedir和datadir的路径要根据自己的路径如实填写
- 如下:
[mysqld]
; 设置3306端口
port=3306
; 设置mysql的安装目录
basedir="C:/tool/mysql-8.0.28-winx64"
; 设置mysql数据库的数据的存放目录,就是前面手动创建的data目录
datadir="C:/tool/mysql-8.0.28-winx64/data"
; 允许最大连接数
max_connections=200
; 允许连接失败的次数。
max_connect_errors=10
; 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
; 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
; 默认使用“mysql_native_password”插件认证, mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
; 设置mysql网络通信的默认字符集
default-character-set=utf8mb4
[client]
; 设置mysql客户端连接服务端时默认使用的端口
port=3306
; 设置mysql客户端的默认字符集
default-character-set=utf8mb4
初始化数据库
- 重新打开一个cmd黑窗口,输入以下命令,让数据库完成初始化操作。
mysqld --initialize --console
注册系统服务
- 把mysql注册到操作系统作为系统服务,保证将来电脑重启了就可以开机自启了
- 在上面打开的黑窗口中如下以下命令:
mysqld --install mysql80
# 注销服务,用于卸载mysql的,别乱用。
# mysqld --remove mysql80
- mysql80就是自己取的服务名(服务器是唯一的),
- 只要符合python的变量规则,不要使用中文,可以自己发挥。
- 确认是否安装到了系统服务
- 通过【此电脑】- 【右键】-【管理】- 【服务与应用程序】 - 【服务】- 【右边窗口】
启动
- windows下安装的mysql默认是没有启动服务的。
net start mysql80
# 关闭mysql的命令:
# net stop mysql80
# 重启mysql的命令:
# net start mysql80
登录
- 通过以下命令按回车键,接着输入上面初始化的登陆密码,就可以登陆MySQL交互终端了。
mysql -uroot -p
# 退出终端
# exit
- 注意:mysql与linux一样
- 在安装成功以后默认就存在了一个上帝一般的用户,叫root。
修改root登陆密码
- 接下来的操作是在登陆了mysql终端以后的操作。
alter user 'root'@'localhost' identified by '123';
# 'root' 就是要修改密码的用户名
# 'localhost' 表示允许用户在什么地址下可以使用密码登陆到数据库服务器,localhost表示本地登陆
# '123' 就是新的密码了,注意,不要设置空密码!以后公司里面的密码一定要非常难记的才最好。
- 完成了上面的操作以后,mysql就安装完成了。