• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
MC_Hotdog
Yeah, you're right I'm still riding that crappy bike
博客园    首页    新随笔    联系   管理    订阅  订阅

MySQL之安装管理操作

简单的发个牢骚

  MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

  关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

  • MySQL是开源的,所以你不需要支付额外的费用。

  • MySQL支持大型的数据库。可以处理拥有上千万条记录的大型数据库。

  • MySQL使用标准的SQL数据语言形式。

  • MySQL可以允许于多个系统上,并且支持多种语言。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。

  • MySQL支持大型数据库,支持5000万条记录的数据仓库,32位系统表文件最大可支持4GB,64位系统支持最大的表文件为8TB。

 数据库管理软件分类

分两大类:
  关系型:如sqllite,db2,oracle,access,sql server,MySQL,注意:sql语句通用
  非关系型:mongodb,redis,memcache

总结两句话:
    关系型数据库需要有表结构
    非关系型数据库是key-value存储的,没有表结构


所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
RDBMS即关系数据库管理系统(Relational Database Management System)的特点:


1.数据以表格的形式出现

2.每行为各种记录名称

3.每列为记录名称所对应的数据域

4.许多的行和列组成一张表单

5.若干的表单组成database


RDBMS 术语

数据库: 数据库是一些关联表的集合。.

数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。

列: 一列(数据元素) 包含了相同的数据, 例如邮政编码的数据。

行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。

冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。

主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。

外键:外键用于关联两个表。

复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。

索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。

参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。

MySQL的下载安装

  a.   安装MySQL服务端
  b.   安装MySQL客户端
  c. 【客户端】连接【服务端】
  d. 【客户端】发送命令给【服务端MySQL】服务的接受命令并执行相应操作(增删改查等)

下载地址:https://dev.mysql.com/downloads/mysql/

Windows版本

1.跳过打开官网

2.选自己的版本以及位数

3.解压

  如果想要让MySQL安装在指定目录,那么就将解压后的文件夹移动到指定目录,如:D:\mysql-5.7.22-winx64

4.添加环境变量 

  bin目录放在path中

5.初始化

1 mysqld --initialize-insecure

6.启动mysql服务

mysqld #
启动MySQL服务 

7.启动mysql客户端并连接mysql服务端(新开一个cmd窗口)

1 mysql -u root -p # 连接MySQL服务器

   上一步解决了一些问题,但不够彻底,因为在执行【mysqd】启动MySQL服务器时,当前终端会被hang住,那么做一下设置即可解决此问题,即将MySQL服务制作成Windows服务

注意:--install前,必须用mysql启动命令的绝对路径
# 制作MySQL的Windows服务,在终端执行此命令:
"D:\mysql-5.7.22-winx64\bin\mysqld" --install

# 移除MySQL的Windows服务,在终端执行此命令:
"D:\mysql-5.7.22-winx64\bin\mysqld" --remove


注册成服务之后,以后再启动和关闭MySQL服务时,仅需执行如下命令:
# 启动MySQL服务
net start mysql

# 关闭MySQL服务
net stop mysql 

windows下登录设置密码

打开终端,输入mysql

输入mysql提供的函数:

select user(); 

# 查看当前登录的账号

如果想切到root账号登录

mysql -uroot -p

 再查看当前用户:

select user();

 管理员为root(拥有最高权限,管理员账号),密码为空,以无密码的方式登录了管理员账号,是非常危险的一件事情,所以要为管理员账号设置密码

D:\Users\WYB>mysqladmin -uroot -p password "123"  #设置初始密码 由于原密码为空,因此-p可以不用 MySQL版本的不同,可能执行这句指令不起作用,请使用update mysql.user set authentication_string =password('') where User='root'; 

 ps:⚠️不用管它。翻译为:在命令行界面使用密码不安全,暴露在终端当中。(直接敲回车 隐藏输入密码)

然后再登录账号,不输入密码则会出现如下结果:报错 ERROR 1045 (28000)

再次执行如下操作:

mysql -uroot -p123

密码忘记——破解密码

跳过授权方式,直接登录!!

1.以管理员身份打开cmd

2.停掉mysql服务端

net stop mysql

3.执行如下命令跳过授权表

mysqld --skip-grant-tables

4.再次查看

mysql -uroot -p

5. 现在可以任意的更改密码,执行如下命令

 update mysql.user set authentication_string =password('') where User='root'; 

6.刷新权限,执行命令

flush privileges;

7.退出mysql。执行命令:exit,

8.让用户去加载权限,以管理员身份进入cmd,查看当前mysql进程

tasklist |findstr mysql  #查看当前mysql的进程

9.杀死当前的进程,执行如下命令

taskkill /F /PID 6666  # 杀死当前的进程pid

10.再次执行如下操作,还原

net start mysql
mysql -uroot -p
select user();

 统一字符编码

1.进入mysql客户端,执行\s

为了统一字符编码,请执行如下操作:

(1)my.ini文件是mysql的配置文件,

在D:\mysql-5.7.22-winx64文件下创建my.ini文件

(2)将如下代码拷贝保存

[mysqld]
# 设置mysql的安装目录 **后面的路径一定是安装sql的目录**
basedir=D:\mysql-5.7.22-winx64\mysql-5.7.22-winx64
# 设置mysql数据库的数据的存放目录,必须是data
datadir=D:\mysql-5.7.22-winx64\mysql-5.7.22-winx64\data
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
# mysql端口
port=3306
# 字符集
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

(3)以管理员身份重启服务,执行如下命令 

net stop MySQL
net start MySQL

(4)在cmd中输入mysql进入mysql环境,执行\s,显示如下信息,表示成功

 

posted @ 2019-07-24 20:19  MC_Hotdog  阅读(306)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3