zoukankan      html  css  js  c++  java
  • Linux和Windows下Mysql数据库安装详解

    目录

    数据库原理

    Linux/UNIX 上安装 MySQL

    Windows 上安装 MySQL

    登录 MySQL


     

    数据库原理


    数据库简介

    文件存储

    对数据的存储需求一直存在。保存数据的方式,经历了手工管理、文件管理等阶段,直至数据库管理阶段。

    文件存储方式保存数据的弊端:

    • 缺乏对数据的整体管理,数据不便修改;
    • 不利于数据分析和共享;
    • 数据量急剧增长,大量数据不可能长期保存在文件中。

    数据库应运而生,是人们存放数据、访问数据、操作数据的存储仓库。

    DBDBMS

    数据库(Database,简称DB)是按照数据结构来组织、存储和管理数据的仓库。

    数据库管理系统(Database Management System,简称DBMS):管理数据库的软件。

    数据库建立了数据之间的联系,使用结构化的方式组织和处理数据,能够统一、集中及独立的管理数据,使数据的存取独立于使用数据的程序,实现了数据共享。

    数据库的典型特征包括:数据的结构化,数据间的共享,减少数据的冗余度,以及数据的独立性。

    数据库成为数据的知识仓库,并对这些数据的存储、访问、安全、数据一致性、并发操作及备份恢复负责。

    -1 DBDBMS

    关系数据库简介

    关系是一个数学概念,描述两个元素间的关联或对应关系。所以关系型数据库,即是使用关系模型把数据组织到数据表(Table)中。现实世界可以用数据来描述。

    主流数据库产品:

    • OracleOracle
    • DB2IBM
    • SQL ServerMS
    • MySQLOracle

    表的概念

    在关系数据库中,数据被存放于二维数据表(Table)中。

    一个关系数据库由多个数据表组成,数据表是关系数据库的基本存储结构,由行和列组成,行(Row)也就是横排数据,也经常被称作记录(Record),列(Column)就是纵列数据,也被称作字段(Field)。表和表之间是存在关联关系的。


    主流关系型数据库

    Oracle数据库概述

    Oracle是当今著名的Oracle(甲骨文)公司的数据库产品,它是世界上第一个商品化的关系型数据库管理系统,也是第一个推出和数据库结合的第四代语言开发工具的数据库产品。

    Oracle采用标准的SQL结构化查询语言,支持多种数据类型,提供面向对象的数据支持,具有第四代语言开发工具,支持UNIXWINDOWSOS/2等多种平台。Oracle公司的软件产品丰富,包括Oracle服务器产品,Oracle开发工具和Oracle应用软件。其中最著名的就是Oracle数据库,目前最新的版本是Oracle 12c

    DB2数据库概述

    DB2IBM的关系型数据库管理系统,DB2有很多不同的版本,可以运行在从掌上产品到大型机不同的终端机器上。DB2 Universal Database Personal EditionDB2 Universal Database Workgroup Edition分别是为OS/2Windows系统的单用户和多用户提供的数据库管理系统。

    DB2在高端数据库的主要竞争对手是Oracle

    Sybase数据库

    Sybase是美国Sybase公司研制的一种关系型数据库系统,是较早采用C/S技术的数据库厂商,是一种典型的UNIXWindows NT平台上客户机/服务器环境下的大型数据库系统。 Sybase通常与Sybase SQL Anywhere用于客户机/服务器环境,前者作为服务器数据库,后者为客户机数据库,采用该公司研制的PowerBuilder为开发工具,在国内大中型系统中具有广泛的应用。

    SYBASE主要有三种版本,一是UNIX操作系统下运行的版本,二是Novell Netware环境下运行的版本,三是Windows NT环境下运行的版本。对UNIX操作系统目前广泛应用的为SYBASE 10 SYABSE 11 for SCO UNIX

    2010SybaseSAP收购。

    SQL Server数据库概述

    Microsoft SQL Server是运行在Windows NT服务器上,支持C/S结构的数据库管理系统。它采用标准SQL语言,微软公司对它进行了部分扩充而成为事务SQLTransact-SQL)。

    SQL Server最早是微软为了要和IBM竞争时,与Sybase合作所产生的,其最早的发展者是Sybase,和Sybase数据库完全兼容。在与Sybase终止合作关系后,微软自主开发出SQL Server 6.0版,往后的SQL Server即均由微软自行研发。最新的版本是SQL Server 2012,上一版本是2008

    Microsoft SQL Server几个初始版本适用于中小企业的数据库管理,但是后来它的应用范围有所扩展,已经触及到大型、跨国企业的数据库管理。

    MySQL数据库概述

    MySQL是一个开放源码的小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。

    与其它的大型数据库例如OracleIBM DB2等相比,MySQL自有它的不足之处,如规模小、功能有限等,但对于一般个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

    2008116日,Sun正式收购MySQL2009420日,SUNOracle公司收购。目前的最新版本是MySQL5.6.


    MySQL 安装

    所有平台的 MySQL 下载地址为: MySQL 下载  挑选你需要的 MySQL Community Server 版本及对应的平台。

    注意:安装过程我们需要通过开启管理员权限来安装,否则会由于权限不足导致无法安装。


    Linux/UNIX 上安装 MySQL

    Linux平台上推荐使用RPM包来安装Mysql,MySQL AB提供了以下RPM包的下载地址:

    • MySQL - MySQL服务器。你需要该选项,除非你只想连接运行在另一台机器上的MySQL服务器。
    • MySQL-client - MySQL 客户端程序,用于连接并操作Mysql服务器。
    • MySQL-devel - 库和包含文件,如果你想要编译其它MySQL客户端,例如Perl模块,则需要安装该RPM包。
    • MySQL-shared - 该软件包包含某些语言和应用程序需要动态装载的共享库(libmysqlclient.so*),使用MySQL
    • MySQL-bench - MySQL数据库服务器的基准和性能测试工具。

    安装前,我们可以检测系统是否自带安装 MySQL:

    rpm -qa | grep mysql

    如果你系统有安装,那可以选择进行卸载:

    rpm -e mysql  // 普通删除模式

    rpm -e --nodeps mysql  // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除

    安装 MySQL

    接下来我们在 Centos7 系统下使用 yum 命令安装 MySQL,需要注意的是 CentOS 7 版本中 MySQL数据库已从默认的程序列表中移除,所以在安装前我们需要先去官网下载 Yum 资源包,下载地址为: https://dev.mysql.com/downloads/repo/yum/

    http://www.runoob.com/wp-content/uploads/2014/03/repo-name-small.png

    wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

    rpm -ivh mysql57-community-release-el7-9.noarch.rpm

    yum install mysql-server

    初始化 MySQL

    mysqld --initialize

    启动 MySQL

    systemctl start mysqld

    查看 MySQL 运行状态:

    systemctl status mysqld

    注意:如果我们是第一次启动 mysql 服务,mysql 服务器首先会进行初始化的配置。

    此外,你也可以使用 MariaDB 代替,MariaDB 数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用 GPL 授权许可。开发这个分支的原因之一是:甲骨文公司收购了 MySQL 后,有将 MySQL 闭源的潜在风险,因此社区采用分支的方式来避开这个风险。

    MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。

    yum install mariadb-server mariadb

    mariadb数据库的相关命令是:

    systemctl start mariadb  #启动MariaDB

    systemctl stop mariadb  #停止MariaDB

    systemctl restart mariadb  #重启MariaDB

    systemctl enable mariadb  #设置开机启动


    验证 MySQL 安装

    在成功安装 MySQL 后,一些基础表会表初始化,在服务器启动后,你可以通过简单的测试来验证 MySQL 是否工作正常。

    使用 mysqladmin 工具来获取服务器状态:

    使用 mysqladmin 命令俩检查服务器的版本, linux 上该二进制文件位于 /usr/bin 目录,在 Windows 上该二进制文件位于C:mysqlin

    [root@host]# mysqladmin --version

    linux上该命令将输出以下结果,该结果基于你的系统信息:

    mysqladmin  Ver 8.23 Distrib 5.0.9-0, for redhat-linux-gnu on i386

    如果以上命令执行后未输入任何信息,说明你的Mysql未安装成功。


    使用 MySQL Client(Mysql客户端) 执行简单的SQL命令

    你可以在 MySQL Client(Mysql客户端) 使用 mysql 命令连接到 MySQL 服务器上,默认情况下 MySQL 服务器的登录密码为空,所以本实例不需要输入密码。

    命令如下:

    [root@host]# mysql

    以上命令执行后会输出 mysql>提示符,这说明你已经成功连接到Mysql服务器上,你可以在 mysql> 提示符执行SQL命令:

    mysql> SHOW DATABASES;

    +----------+

    | Database |

    +----------+

    | mysql    |

    | test     |

    +----------+

    2 rows in set (0.13 sec)


    Mysql安装后需要做的

    Mysql安装成功后,默认的root用户密码为空,你可以使用以下命令来创建root用户的密码:

    [root@host]# mysqladmin -u root password "new_password";

    现在你可以通过以下命令来连接到Mysql服务器:

    [root@host]# mysql -u root -p

    Enter password:*******

    注意:在输入密码时,密码是不会显示了,你正确输入即可。


    Windows 上安装 MySQL

    Windows 上安装 MySQL 相对来说会较为简单,地那就链接https://dev.mysql.com/downloads/mysql/下载 zip 包。

    最新版本可以在 MySQL 下载 中下载中查看。

     

    点击 Download 按钮进入下载页面,点击下图中的 No thanks, just start my download. 就可立即下载:

     

    下载完后,我们将 zip 包解压到相应的目录,这里我将解压后的文件夹放在 D:Albertmysql-8.0.13-winx64下。

    接下来我们需要配置下 MySQL 的配置文件

    打开刚刚解压的文件夹 D:Albertmysql-8.0.13-winx64,在该文件夹下创建 my.ini 配置文件,

    编辑 my.ini 配置以下基本信息:

    [mysql]
    
    # 设置mysql客户端默认字符集
    
    default-character-set=utf8
    
    
    
    [mysqld]
    
    # 设置3306端口
    
    port = 3306
    
    # 设置mysql的安装目录
    
    basedir= D:Albertmysql-8.0.13-winx64  #注意选择自己的安装路径 
    
    # 设置mysql数据库的数据的存放目录
    
    datadir=D:Albertmysql-8.0.13-winx64data  #注意选择自己数据库存放路径  
    
    # 允许最大连接数
    
    max_connections=20
    
    # 服务端使用的字符集默认为8比特编码的latin1字符集,设置为UTF-8编码
    
    character-set-server=utf8
    
    # 创建新表时将使用的默认存储引擎
    
    default-storage-engine=INNODB

    接下来我们需要配置下 MySQL 的环境变量:

    Mysql的安装目录binD:Albertmysql-8.0.13-winx64in配置到系统变量Path

    接下来我们来启动下 MySQL 数据库:

    以管理员身份打开 cmd 命令行工具,切换目录:

    cd D:Albertmysql-8.0.13-winx64

    初始化数据库:

    mysqld --initialize --console

     

    执行完成后,会输出 root 用户的初始默认密码,如:

    ...
    
    2018-04-20T02:35:05.464644Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: t0ah>JrEg.5_
    
    ...

    t0ah>JrEg.5_ 就是初始密码,后续登录需要用到,你也可以在登陆后修改密码。

    输入以下安装命令安装数据库:

    mysqld install

    安装过后,Windows+R键打开运行输入services.msc,查看是否成功安装mysql服务

     

    启动输入以下命令用密码登录即可:

    net start mysql

    注意: 5.7 需要初始化 data 目录:

    cd D:Albertmysql-8.0.13-winx64in

    mysqld --initialize-insecure

    初始化后再运行 net start mysql 即可启动 mysql


    登录 MySQL

    MySQL 服务已经运行时, 我们可以通过 MySQL 自带的客户端工具登录到 MySQL 数据库中, 首先打开命令提示符, 输入以下格式的命名:

    mysql -h 主机名 -u 用户名 -p

    参数说明:

    • -h : 指定客户端所要登录的 MySQL 主机名, 登录本机(localhost 127.0.01)该参数可以省略;
    • -u : 登录的用户名;
    • -p : 告诉服务器将会使用一个密码来登录, 如果所要登录的用户名密码为空, 可以忽略此选项。

    如果我们要登录本机的 MySQL 数据库,只需要输入以下命令即可:

    mysql -u root -p

    按回车确认, 如果安装正确且 MySQL 正在运行, 会得到以下响应:

    Enter password:

    若密码存在, 输入密码登录, 不存在则直接按回车登录,此处我们输入密码刚才的密码t0ah>JrEg.5_。登录成功后你将会看到 Welecome to the MySQL monitor... 的提示语。

    然后命令提示符会一直以 mysq> 加一个闪烁的光标等待命令的输入, 输入 exit  quit 退出登录。

    SET PASSWORD命令修改密码:

     

    格式:mysql> set password for 用户名@localhost =‘新密码’;

    例子:mysql> set password for root@localhost='123456';


    MySQL 查看数据库

    我们可以在登陆 MySQL 服务后,使用 show 命令查看已有数据库,语法如下:

    SHOW DATABASES;


    MySQL 创建数据库


    我们可以在登陆 MySQL 服务后,使用 create 命令创建数据库,语法如下:

    CREATE DATABASE 数据库名;


    MySQL 删除数据库


    在删除数据库过程中,务必要十分谨慎,因为在执行删除命令后,所有数据将会消失。


    drop 命令删除数据库

    drop 命令格式:

    drop database <数据库名>;

    例如删除名为 yxy 的数据库:

    mysql> drop database yxy;


     


    MySQL 选择数据库

    在你连接到 MySQL 数据库后,可能有多个可以操作的数据库,所以你需要选择你要操作的数据库。


    从命令提示窗口中选择MySQL数据库

    mysql> 提示窗口中可以很简单的选择特定的数据库。你可以使用SQL命令来选择指定的数据库。

    实例

    以下实例选取了数据库 yyy:

    [root@host]# mysql -u root -p

    Enter password:******

    mysql> use yxy;

    Database changed

    mysql>

    执行以上命令后,你就已经成功选择了 yxy 数据库,在后续的操作中都会在 yxy 数据库中执行。

    注意:所有的数据库名,表名,表字段都是区分大小写的。所以你在使用SQL命令时需要输入正确的名称。

     

    mysql8 :客户端连接caching-sha2-password问题

    在安装mysql8的时候如果选择了密码加密,之后用客户端连接比如navicateHeidiSQL会提示客户端连接caching-sha2-password,是由于客户端不支持这种插件,可以通过如下方式进行修改:

    #修改加密规则 

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

    #更新密码(mysql_native_password模式)   

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

     

  • 相关阅读:
    面经补充
    一些杂项
    leetcode整理
    缓存问题及相关解决策略
    4.10 面经补充
    合并区间(二维数组与列表的转换)
    1.4任务
    jvm虚拟机笔记<八> 线程安全与锁优化
    jvm虚拟机笔记<七> 内存模型与线程
    jvm虚拟机笔记<六> 运行期优化
  • 原文地址:https://www.cnblogs.com/yangxianyang/p/13675664.html
Copyright © 2011-2022 走看看