当前位置:首页 > Java技术 > MySQL手动安装教程

MySQL手动安装教程

2022年09月16日 23:14:10Java技术14

环境

win10
MySQL5.7

安装的过程

  1. 解压缩文件到所需的安装目录(把下载下来的压缩文件进行解压)

  2. 创建选项文件

  3. 选择MySQL服务类型

  4. 初始化MySQL

  5. 启动MySQL服务
  6. 保护默认账号

步骤一、解压缩

说明了就是把下载好的文件进行解压缩:

mysql-5.7.17-winx64.zip

把上面的文件进行解压,OK。

步骤二、创建选项文件

英文是:

Creating an Option File

Google翻译为:选项

但是看完官方介绍后,感觉应该叫:
创建配置文件

因为说白了就是创建:my.ini文件

之所以有这一步:
1. MySQL的安装目录和数据目录是不同的,有的时候我们想自己去配置,启动的时候我们就想配置好,如果每次启动时(假设是命令行启动),那么我们都要在命令行中添加相关的参数,以相关的路径。比如:(C:\Program Files\MySQL\MySQL Server 5.7 and C:\Program Files\MySQL\MySQL Server 5.7\data).

  1. 有的时候我们可能需要调整服务器的设置。如内存,缓存或InnoDB配置信息。

我们创建==my.ini文件==,可以参考==my-default.ini文件==

在window中配置参考如下:

[mysqld]
# set basedir to your installation path
basedir=E:\\mysql
# set datadir to the location of your data directory
datadir=E:\\mydata\\data

在Linux中配置参考如下:

[mysqld]
# set basedir to your installation path
basedir=E:/mysql
# set datadir to the location of your data directory
datadir=E:/mydata/data

==注意:==

从MySQL 5.7.6开始,Zip存档不再包括数据目录。 要通过创建数据目录并填充mysql系统数据库中的表来初始化MySQL安装,请使用–initialize或–initialize-insecure初始化MySQL。 有关其他信息,请参见第2.10.1.1节“使用mysqld手动初始化数据目录”。

如果要在不同位置使用数据目录,则应将数据目录的全部内容复制到新位置。 例如,如果要使用E:\ mydata作为数据目录,则必须执行以下两项操作:

将整个数据目录及其所有内容从默认位置(例如C:\ Program Files \ MySQL \ MySQL Server 5.7 \ data)移动到E:\ mydata。

每次启动服务器时,使用–datadir选项指定新的数据目录位置

选择MySQL服务类型

初始化data目录

由于我们采用的是zip压缩包的形式安装。
所以需要初始化data目录。

==注意:==
在MySQL 5.7.7之前的Windows发行版包括一个数据目录,在mysql数据库中有一组预初始化的帐户。

从5.7.7开始,使用Noinstall软件包执行的Windows安装操作不包括数据目录。 要初始化数据目录,请使用第2.10.1.1节“使用mysqld手动初始化数据目录”中的说明。

手动初始化data目录使用mysqld命令

在window中执行命令:

官网的写法:

C:\> bin/mysqld --defaults-file=C:\my.ini --initialize

我本机的写法:

D:\Program Files\mysql-5.7.17-winx64\bin>
mysqld --defaults-file=D:\Program Files\mysql-5.7.17-winx64\my.ini --initialize

这样执行时,由于目录中有空格,结果报错了:

==mysqld: [ERROR] Could not open required defaults file: D:\Program==
==mysqld: [ERROR] Fatal error in defaults handling. Program aborted!==

后来我把 写法改成:

D:\Program Files\mysql-5.7.17-winx64\bin>
mysqld --defaults-file=..\my.ini --initialize-insecure

就成功了,日志信息打印在data目录中的.err文件中.

其中–initialize-insecure参数,表示不会自动生成密码。
而使用–initialize会自动生成初始密码,并标志为过期。

==官网的解释:==
要初始化数据目录,调用mysqld时,请使用–initialize或–initialize-insecure选项,具体取决于您是否希望服务器为’root’@’localhost’帐户生成随机初始密码。

无论平台如何,请使用–initialize“默认安装”安装(即包括生成随机初始根密码)。在这种情况下,密码标记为过期,您需要选择一个新的密码。使用–initialize-insecure选项,不会生成root密码;假设您在将服务器投入生产使用之前,会及时为帐户分配密码

至此,MySQL的data目录初始化完毕。

启动MySQL服务

window启动方法:

官网的写法:

C:\> "C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld" --console

本机的写法:
==说明==
这里我配置了环境变量,就是把MySQL安装目录中bin目录,配置到path路径中。

C:\Users\yutao>mysqld --console

显示结果:

2017-02-20T14:34:04.854198Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-02-20T14:34:04.854698Z 0 [Warning] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
2017-02-20T14:34:04.854698Z 0 [Warning] 'NO_AUTO_CREATE_USER' sql mode was not set.
2017-02-20T14:34:04.854698Z 0 [Note] --secure-file-priv is set to NULL. Operations related to importing and exporting data are disabled
2017-02-20T14:34:04.855167Z 0 [Note] mysqld (mysqld 5.7.17) starting as process 11580 ...
2017-02-20T14:34:04.861186Z 0 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
2017-02-20T14:34:04.862184Z 0 [Note] InnoDB: Uses event mutexes
2017-02-20T14:34:04.862184Z 0 [Note] InnoDB: _mm_lfence() and _mm_sfence() are used for memory barrier
2017-02-20T14:34:04.862693Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.3
2017-02-20T14:34:04.863187Z 0 [Note] InnoDB: Number of pools: 1
2017-02-20T14:34:04.863688Z 0 [Note] InnoDB: Not using CPU crc32 instructions
2017-02-20T14:34:04.866195Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
2017-02-20T14:34:04.875745Z 0 [Note] InnoDB: Completed initialization of buffer pool
2017-02-20T14:34:05.053218Z 0 [Note] InnoDB: Highest supported file format is Barracuda.
2017-02-20T14:34:05.220007Z 0 [Note] InnoDB: Creating shared tablespace for temporary tables
2017-02-20T14:34:05.221511Z 0 [Note] InnoDB: Setting file '.\ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2017-02-20T14:34:05.371848Z 0 [Note] InnoDB: File '.\ibtmp1' size is now 12 MB.
2017-02-20T14:34:05.377208Z 0 [Note] InnoDB: 96 redo rollback segment(s) found. 96 redo rollback segment(s) are active.
2017-02-20T14:34:05.378215Z 0 [Note] InnoDB: 32 non-redo rollback segment(s) are active.
2017-02-20T14:34:05.383718Z 0 [Note] InnoDB: Waiting for purge to start
2017-02-20T14:34:05.450979Z 0 [Note] InnoDB: 5.7.17 started; log sequence number 2535372
2017-02-20T14:34:05.452480Z 0 [Note] Plugin 'FEDERATED' is disabled.
2017-02-20T14:34:05.453985Z 0 [Note] InnoDB: Loading buffer pool(s) from D:\Program Files\mysql-5.7.17-winx64\data\ib_buffer_pool
2017-02-20T14:34:05.533817Z 0 [Warning] Failed to set up SSL because of the following SSL library error: SSL context is not usable without certificate and private key
2017-02-20T14:34:05.539769Z 0 [Note] Server hostname (bind-address): '*'; port: 3306
2017-02-20T14:34:05.542777Z 0 [Note] IPv6 is available.
2017-02-20T14:34:05.544286Z 0 [Note]   - '::' resolves to '::';
2017-02-20T14:34:05.549795Z 0 [Note] Server socket created on IP: '::'.
2017-02-20T14:34:05.673518Z 0 [Note] InnoDB: Buffer pool(s) load completed at 170220 22:34:05
2017-02-20T14:34:05.724159Z 0 [Note] Event Scheduler: Loaded 0 events
2017-02-20T14:34:05.724653Z 0 [Note] Executing 'SELECT * FROM INFORMATION_SCHEMA.TABLES;' to get a list of tables using the deprecated partition engine. You may use the startup option '--disable-partition-engine-check' to skip this check.
2017-02-20T14:34:05.729166Z 0 [Note] Beginning of list of non-natively partitioned tables
2017-02-20T14:34:05.755702Z 0 [Note] End of list of non-natively partitioned tables
2017-02-20T14:34:05.756210Z 0 [Note] mysqld: ready for connections.
Version: '5.7.17'  socket: ''  port: 3306  MySQL Community Server (GPL)

当看到最后 出现:

mysqld: ready for connections
Version: '5.7.17'  socket: ''  port: 3306

就表示启动OK啦。

连接数据库

命令:

官网的命令

shell> mysql -u root --skip-password

本机执行命令:

C:\Users\yutao>mysql -u root --skip-password

修改新密码

官网的命令:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

本机的命令:

mysql> alter user 'root'@'localhost' identified by 'root';

至此就OK啦。

通过命令行启动MySQL

上面已经讲过了。这里给出官网命令:

C:\> "C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld"

那么如何停止呢?

命令:

C:\> "C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqladmin" -u root shutdown

这里给出官网解释:
如果MySQL root用户帐户有密码,则需要使用-p选项调用mysqladmin并在提示时提供密码。

此命令调用MySQL管理实用程序mysqladmin连接到服务器并告诉它关闭。该命令作为MySQL root用户连接,这是MySQL grant系统中的默认管理帐户。

启动MySQL作为Windows服务

将MySQL安装到window服务中

D:\Program Files\mysql-5.7.17-winx64\bin>mysqld --install
Service successfully installed.

注:这种安装方式,会使得MySQL服务,开机自动启动

启动MySQL

D:\Program Files\mysql-5.7.17-winx64\bin>net start mysql

结果:

MySQL 服务正在启动 .
MySQL 服务已经启动成功。

停止MySQL

D:\Program Files\mysql-5.7.17-winx64\bin>net stop mysql
MySQL 服务正在停止.
MySQL 服务已成功停止。

删除MySQL服务

D:\Program Files\mysql-5.7.17-winx64\bin>mysqld --remove
Service successfully removed.

作者:山鬼谣me
来源链接:https://blog.csdn.net/u013066244/article/details/56276596

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/java/42152.html

分享给朋友:

“MySQL手动安装教程” 的相关文章

一文带你了解MySQL基础

目录 一,为什么要学习数据库 二,数据库的相关概念 2.1数据库术语...

MySQL表的增删改查(进阶)

MySQL表的增删改查(进阶)

数据库的约束 约束类型 NOT NULL UNIQUE DEFAULT PRIMARY...

MYSQL的存储过程

MYSQL的存储过程 概述 什么是存储过程? mysql5.0版本开始支持存储过程; 简单的说,存储过程就是一组sql语句集,功能强大,可以实现一些比较复杂的逻辑功能,类似于java语言中的方法; 存储过程就是数据库s...

mysql8.0.25安装配置教程(windows 64位)最详细

mysql8.0.25安装配置教程(windows 64位)最详细

目录 1.官网下载MySQL 2.配置初始化文件my.ini 3.初始化MySQL 4.安装mysql服务并启动+修改密码 5.配置环境变量 6.部分疑难杂病 7.使用连...

Linux安装MySQL(超详细)

Linux安装MySQL(超详细)

1 查看是否已经安装 Mysql rpm -qa | grep mysql 我之前装过一次! 如果你查看出来有东西,可以使用下面命令将其删除 rpm -e 文件名   2 下载官方 Mysq...

Linux (centos8)安装 MySQL 8 数据库(图文详细教程)

Linux (centos8)安装 MySQL 8 数据库(图文详细教程)

我的公众号 今天2021年4月23日。我买了阿里云centos服务器,安装mysql8.0,做一笔记,以供大家使用。 本教程手把手教你如何在 Linux 安装 MySQL 数据库,以 CentOS 8为例。 1. 下载并...

MySQL查询JSON类型字段中某个属性值

MySQL查询JSON类型字段中某个属性值

只支持MySQL5.7以上的版本 user表中有如下数据: id profile 1 {“age”: 20, “name”: “...

mysql 查询1小时内

mysql 查询1小时内

由于项目的需要经常查询一个小时之内的数据,接下来吾爱编程为大家分享一下使用Mysql查询一个小时之内的数据的sql,有需要的小伙伴可以参考一下: 1、方法一: (1)、sql写法: SELECT * FROM 表名&...

mysql查询结果中文显示成了问号

character-set-server = utf8    collation-server = utf8_general_ci   然后 service  mysq...

会mysql不一定会sql

会mysql不一定会sql

1. 查询缓存 多数MySQL服务器都开启了查询缓存,相同的查询被执行多次,查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了。 //查询缓存不开启 $r= mysql_query("SELECT username...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。