数据库相关及mysql数据库安装

数据库的基本概念

数据data

描述事物的符号记录
包括数字、文字、图形、声音、档案记录等
以”记录“形式按统一格式进行存储

将不同的记录组织在一起
用来存储具体数据

数据库

表的集合,是存储数据的仓库
以一定的组织方式存储的相互有关的数据集合

数据库管理系统(DBMS)

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

数据库系统

是一个人机系统,由硬件、OS、数据库、DBMS、应用软件和数据库
用户组成用户可以通过DBMS或应用程序操作数据库
在这里插入图片描述

关系数据库

是基于关系模型的额数据库系统
结构使用简单易懂的二维数据表
关系模型可用简单的“实体–关系”(E-R)图来表示
E-R图中包含了实体(数据对象)、关系和属性三个要素
(Oracle,MySQL、SQLServer,Sybase、Informix,access、DB2,FoxPRO都是关系型数据库,像12306用户信息系统、淘宝账户系统、银行账户系统都是用的这种数据库)

实体

也称实例,对应现实世界中可区别于其他对象的“事件”或“事物”,如银行客户,账户等

属性

实体所具有的某一特性,一个实体可以有多个属性,入银行客户的姓名地址等

联系

实体之间的对应关系称为联系,也称关系,如银行客户与账户之间的储蓄关系

所有实体及实体之间的联系的集合构成一个关系数据库

关系数据库的存储结构是二维表格
在每个二维表中
每一行称为一条记录,用来描述一个对象的信息
每一列称为一个字段,用来描述对象的一个属性

非关系型数据库

也被称作nosql,存储数据不以关系模型为数据,不需要固定的表格式,常用的非关系型数据库:redis、mongoDB等

非关系型数据库的优点

数据库可高并发读写
对海量数据高效率存储与访问
数据库具有高扩展性与高可用性

mysql数据库

mysql数据库介绍

一款深受欢迎的开源关系型数据库
遵守GPL协议,可免费使用与修改

特点

性能卓越,服务稳定
开源,无版权限制,成本低
多线程,多用户
基于C/S(客户端/服务器)架构
安全可靠

安装mysql

yum -y install ncurses ncurses-devel bison cmake  #安装依赖包
#ncurses ncurses-devel : ncurses是字符终端下屏幕控制的基本库
#bison:用于自动生成语法分析器程序,实际上可用于所有常见的操作系统。Bison把LALR形式的上下文无关文法描述转换为可做语法分析的C或C++程序。
#cmake:CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。CMake 可以编译源代码、制作程序库、产生适配器(wrapper) 、还可以用任意的顺序建构执行档。

useradd -s /sbin/nologin mysql    #创建一个不可登录用户

tar zxvf mysql-boost-5.7.20.tar.gz   #解压缩

cd mysql-5.7.20/  #编译安装cmake \  
> -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
> -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
> -DSYSCONFDIR=/etc \
> -DSYSTEMD_PID_DIR=/usr/local/mysql \
> -DDEFAULT_CHARSET=utf8 \
> -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 \
> -DWITH_SYSTEMD=1

make && make install  

#-DCMAKE_ INSTALL_ PREFIX=/usr/ local/mysql 安装目录 安装路径
#-DMYSQL_ UNIX_ ADDR=/usr/ local/mysql/mysql. sock 指定套接字文件的存储路径套接字:客户端访问mysql数据库的一个接口
#-DSYSCONFDIR=/etc      配置my. cnf的目录 配置文件路径,(根目录)
#-DSYSTEMD_PID_DIR=/usr/local/mysql 主服务进程所在路径 (进程文件目录)
#-DDEFAULT_CHARSET=utf8 默认字符集
#-DDEFAULT_COLLATION=utf8_ general ci 默认编码
#-DWITH_INNOBASE_STORAGE_ENGINE=1 启用InnoDB引擎
#-DWITH_ARCHIVE_STORAGE_ENGINE=1 启用ARCHIVE引擎
#-DWITH_BLACKHOLE_STORAGE_ENGINE=1 启用BLACKHOLE引擎
#-DWITH_ PERFSCHEMA_STORAGE_ENGINE=1 启用perfschema引擎,存储引擎说白了就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。
#-DMYSQL_DATADIR=/usr/ local/mysql/data 数据存储路径  (数据库目录)
#-DWITH_B0OST=boost boost库是为C++语言标准库提供扩展的一些C++程序库的总称
#-DWITH_SYSTEMD=1  这是MySQL 5.7原生支持Systemd的选项, 如果要是用systemctl启动,就必须开启。  (开机自启动,管理mysql服务)

配置mysql

chown -R mysql.mysql /usr/local/mysql/   #设置属主,属组

vi /etc/my.cnf
[client]   
port = 3306  
default-character-set = utf8         
socket = /usr/local/mysql/mysql.sock   
[mysql]     
port = 3306 
default-character-set = utf8
socket = /usr/local/mysql/mysql.sock
[mysqld] 
user = mysql 
basedir = /usr/local/mysql     
datadir = /usr/local/mysql/data
port = 3306
character_set_server = utf8       
pid-file = /usr/local/mysql/mysqld.pid 
socket = /usr/local/mysql/mysql.sock
server-id = 1  

sql_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

#[client]     客户端
#port = 3306  访问端口
#default-character-set = utf8           默认字符集
#socket = /usr/local/mysql/mysql.sock   套接字
#[mysql]      运行用户
#port = 3306  运行端口#[mysqld]     程序
#user = mysql 运行用户
#basedir = /usr/local/mysql        根目录
#datadir = /usr/local/mysql/data   用户目录#character_set_server = utf8             服务器设置字符
#pid-file = /usr/local/mysql/mysqld.pid  进程文件#server-id = 1   数据库id
#NO_ENGINE_SUBSTITUTION: 在开启该MODE的情况下,在创建表时,如果指定的存储引擎不存在或不支持,则会直接提示“ERROR”。
#STRICT_TRANS_TABLES: 严格模式,进行数据的严格校验,错误数据不能插入,报error错误。
#NO_AUTO_CREATE_USER: MODE禁止的只是不带"identified by”子句的grant语句,对于带有"identified by”子句的grant语句,其并不会禁止。
#NO_AUTO_VALUE_ON_ZERO: 该值影响自增长列的插入。默认情况下,在对自增主键插入NULL或0时,会自动生成下一个值。若开启该MODE, 当插入0时,并不会自动生成下一个值。
#NO_ZERO_IN_DATE: NO_ZERO_IN_DATE针对的是年不为0。
#NO_ZERO_DATE: 该MODE会影响’0000-00-00的插入。实际效果还取决于是否开启严格模式。在开启严格模式,且同时开启该MODE,是不允许’0000-00-00'插入的。
#ERROR_FOR_DIVISION_BY_ZERO:在INSERT或UPDATE过程中,如果数据被零除,则产生错误而非警告。如果未给出该模式,那么数据被零除时MySQL返回NULL。
#PIPES_AS_CONCAT: 将”||”视为字符串的连接操作符而非或运算符,这和Oracle数据库是一样的,也和字符串的拼接函数Concat相类似。
#ANSI_QUOTES:启用ANSI_QUOTES后,不能用双引号来引用字符串,因为它被解释为识别符。

设置全局变量

echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile #设置全局变量
echo 'export PATH' >> /etc/profile   #全局变量追加
source /etc/profile   #生效,初始化配置文件
echo $PATH  #查看 

在这里插入图片描述

初始化

无论是编译安装,二进制安装,还是yum,rpm,装完mysql都是要初始化后才能使用。

mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
cd /usr/local/mysql/ 
cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/  #拷贝
systemctl daemon-reload   #守护进程重新加载
systemctl start mysqld  #服务启动
cd
netstat -anpt | grep 3306  查看端口状态
systemctl enable mysqld   自启动
mysql  登录数据库(初始登录,没有密码)       
mysqladmin -uroot -p password '123123'  #设置密码为123123
 #直接回车
mysql -uroot -p123123 #登录数据库
#

在这里插入图片描述

修改密码

1:用SET PASSWORD命令

格式: mysql> set password for 用户名@localhost = password( ‘ 新密码’);
例子: mysql> set password for root@localhost =password( ‘123’) ;
简写:mysql> set password=password(' 123' ) ;

2:用mysqladmin

格式: mysqladmin -u用户名-p旧密码password 新密码
例子: mysqladmin -uroot -p123456 password 123

3:用UPDATE直接编辑user表

mysql
use mysql ;mysql> update mysql. user set authentication_ string=password(' 111111) where user=' root’andhost=' localhost' ;
mysql> flush privileges;
登录
mysqlmysql -uroot -p111111
Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值