当前位置: 首页 > article >正文

MySQL的安装和配置

文章目录

  • 一、数据库介绍
    • 1.1 数据库的定义
    • 1.2 数据库的分类
  • 二、MySQL服务器安装
    • 2.1 Windows安装
    • 2.2 Windows中重装MySQL
  • 三、客户端连接MySQL服务器
  • 四、SQL分类

一、数据库介绍

存储数据用文件就可以了,为什么还要弄个数据库?
文件保存数据有以下几个缺点:

  • 文件的安全性问题
  • 文件不利于数据查询和管理
  • 文件不利于存储海量数据
  • 文件在程序中控制不方便

1.1 数据库的定义

数据库存储介质磁盘和内存
为解决上述问题,专家们设计出更利于管理数据的软件——数据库,能更有效的管理数据。数据库可以提供远程服务,即通过远程连接来使用数据库,因此也称为数据库服务器

1.2 数据库的分类

数据库大体可以分为关系数据库非关系数据库

  1. 关系型数据库(RDBMS)
    采用关系模型来组织数据的数据库。 简单来说,关系模型指的是二维表格模型,而一个关系型数据库是由二维表及其之间的联系所组成的一个数据组织
    基于标准的SQL,只是内部实现有区别,常用关系数据库有:
  • Oracle:甲骨文产品,适合大型项目,适用于做复杂的业务逻辑,如ERP、OA等企业信息系统,使用需要收费
  • MySQL:属于甲骨文,不适合左复杂业务,是开源免费的。
  • SQL Server:微软出产,安装部署在windows server 上适用于中大型项目,使用需要收费
  1. 非关系型数据库(了解)
    不规定基于SQL实现,现在更多是指NoSQL数据库,如:
    1. 基于键值对(Key-Value):如 memcached、redis
    2. 基于文档型:如 mongodb
    3. 基于列族:如 hbase
    4. 基于图型:如 neo4j
      关系型数据库和非关系型数据库的区别
      在这里插入图片描述
      OLTP(On-Line Transaction Processing)是指联机事务处理,OLAP(On-Line Analytical Processing)是指联机分析处理。

二、MySQL服务器安装

MySQL8.0或5.7安装网站
这里讲述5.7版本

2.1 Windows安装

  • 解压MySQL:如解压到D:\Tools\mysql-5.7.27-winx64(注意不要放在中文路径、有空格或特殊字符的路径中)
  • 配置环境变量:
  1. 右键 此电脑 -> 高级系统设置 -> 环境变量 -> 在下面 系统变量栏 点击 新建
    变量名:MYSQL_HOME
    变量值:为MySQL解压的根目录,我这里为D:\Tools\mysql-5.7.27-winx64
  2. 系统变量栏找到Path变量并双击:
    点击新建以添加新的路径
    %MYSQL_HOME%\bin

以上配置 %MYSQL_HOME% 代表引用的 MYSQL_HOME 环境变量, 配置在 Path 中,表示设置 %MYSQL_HOME%\bin 路径为全局路径,全局路径下的指令可以直接执行。

  • 配置MySQL初始化文件:
  1. 在MySQL根目录下创建初始化文件my.ini,即D:\Tools\mysql-5.7.27-winx64\my.ini

    [mysql]
    #设置mysql客户端默认字符集
    default-character-set=utf8
    [mysqld]
    #设置3306端口
    port=3306
    #设置mysql的安装目录
    basedir=D:/Tools/mysql-5.7.27-winx64
    #设置mysql数据库的数据的存放目录
    datadir=D:/Tools/mysql-5.7.27-winx64/data
    #允许最大连接数
    max_connections=200
    #服务端使用的字符集默认为8比特编码的latin1字符集
    character-set-server=utf8
    #创建新表时将使用的默认存储引擎
    default-storage-engine=innodb

  2. 将以上 basedir 和 datadir 后的内容替换成自己的路径

  3. 注意:需要保存为ANSI编码。方法一:使用记事本打开,保存/另存为,选择ANSI编码。方法二:使用Notpad++打开,点击编码->转为ANSI编码->保存。

  • 初始化MySQL
    右键点击cmd,选择 以管理员身份运行,执行以下命令:

    mysqld --initialize-insecure

如果出现找不到mysqld或是mysql命令,这是环境变量没有配置正确。检查环境变量,如果正确,则重新打开cmd,因为cmd会缓存系统变量,没有更新。

以上初始化操作完成后,可以看到在MySQL根目录下生成了data目录,初始化的MySQL会生成超级管理员,账户名 root ,密码为空。

  • 安装MySQL服务:
    如果以前安装过MySQL,会默认安装MySQL的系统服务,点击开始菜单,输入services.msc,进入系统服务界面,搜索是否有mysql服务(可以在英文状态输入mysql快速定位),如果有mysql服务,需要先删除,有以下两种删除方法:
  • cmd管理员权限打开,输入sc delete mysql
  • 如果以上命令执行失败,还可以直接使用注册表删除,点击开始菜单,输入regedit,查找HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services中的mysql,将其删除。

在以上mysql服务删除后,可以安装新解压的mysql服务了,在cmd执行

mysqld install

此时执行 win+r 输入 services.msc 打开服务管理器,可以看到MySQL服务

  • 运行/停止MySQL服务端
    在cmd上执行

    net start mysql
    net stop mysql

2.2 Windows中重装MySQL

  • 重装相同版本的MySQL很简单,不用真正卸载,只需要删除MySQL根目录下data文件夹,之后按照 2.1 中的内容,从初始化MySQL内容开始重新执行即可。

  • 重装不同版本的MySQL,需要卸载以前安装的MySQL:
    如果以前通过解压方式安装的MySQL,需要重新安装或卸载时,需要如下操作:
    右键点击cmd,选择以管理员身份运行

    net stop mysql
    mysqld -remove mysql

    之后重新执行2.1的安装步骤

三、客户端连接MySQL服务器

客户端主动发起请求的一方,服务器被动接收响应的一方
MySQL是一个客户端-服务器结构的程序,客户端和服务器之间使用网络进行通讯,它们可以在同一个主机上,也可以在不同的主机上
MySQL的本体服务器部分,MySQL使用服务器部分来存储/管理数据,使用硬盘来存储数据
MySQL默认只允许在服务器本机 使用 root 用户登录,要开启 root 用户的远程登录,在MySQL服务器本机执行:

mysql -u root -p

按自己设定的密码输入,没有密码则直接回车
进入MySQL命令行以后,可以看到 mysql>

使用mysql数据库
use mysql;
更新用户表的root账户,设置为任意ip都可以访问,密码修改为123456
update user set host=“%”,authentication_string=password(‘123456’) where
user=“root”;
刷新权限
flush privileges;
退出
quit;

四、SQL分类

  • DDL数据定义语言,用来维护存储数据的结构
    代表指令: create, drop, alter
  • DML数据操纵语言,用来对数据进行操作
    代表指令: insert,delete,update
    DML中又单独分一个DQL,数据查询语言,代表指令: select
  • DCL数据控制语言,主要负责权限管理和事务
    代表指令: grant,revoke,commit

http://www.kler.cn/a/108277.html

相关文章:

  • 【Java语言】String类
  • 【大数据学习 | HBASE高级】rowkey的设计,hbase的预分区和压缩
  • 大数据新视界 -- 大数据大厂之 Impala 性能飞跃:动态分区调整的策略与方法(上)(21 / 30)
  • mac终端使用pytest执行iOS UI自动化测试方法
  • JavaScript高级程序设计基础(四)
  • 机器情绪及抑郁症算法
  • 【2021集创赛】Robei杯一等奖:基于Robei EDA工具的隔离病房看护机器人设计
  • 在自己的服务器上部署个人博客和开源项目:实现数字存在感
  • 基于单片机设计的防煤气泄漏装置
  • 阿里云核心产品list
  • kubectl资源管理命令-陈述式
  • 深度学习使用Keras进行多分类
  • docker的安装部署nginx和mysql
  • Vue图片路径问题(动态引入)
  • uniapp 页面间传参方法
  • C/C++跨平台构建工具CMake-----灵活添加库并实现开发和生产环境的分离
  • 树上形态改变统计贡献:1025T4
  • Java实现Fisher‘s Exact Test 的置信区间的计算
  • GZ035 5G组网与运维赛题第3套
  • MySQL主从复制(基于binlog日志方式)
  • 电子器件 二极管
  • 尚硅谷Flume(仅有基础)
  • SSM咖啡点餐管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目
  • JEnv使用初体验
  • Netty6 揭开BootStrap 的神秘面纱
  • go语言,yaml实现简单的workflow工作流