MySQL手动安装教程

环境

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.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山鬼谣me

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值