Windows下MySQL安装配置和问题解决

错误原因:在上述文件中,ERROR错误提示表明在执行mysqld --initialize时,需要data目录为空,因此清空配置文件指定的数据目录data,重新执行

错误解决参考:https://blog.csdn.net/lk142500/article/details/83049080

1 简介

1.1 MySQL数据库

MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

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

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

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

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

• MySQL 对PHP有很好的支持,PHP是目前最流行的Web开发语言。

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

• MySQL 是可以定制的,采用了GPL协议,你可以修改源码来开发自己的 MySQL 系统。

1.2 什么是数据库

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

每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据。

我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。

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

RDBMS即关系数据库管理系统(Relational Database Management System)的特点:

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

• 2.每行为各种记录名称

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

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

• 5.若干的表单组成database

2 材料

mysql-8.0.11-winx64.zip

Windows系统

3 安装和配置过程

3.1 下载

下载页

https://dev.mysql.com/downloads/mysql/

3.2 解压到指定目录

笔者把下载好的mysql-8.0.11-winx64.zip解压到C盘根目录,使用解压缩软件即可完成,问题不大,不再赘述。

3.3 配置系统环境变量

配置系统环境变量MYSQL_HOME,内容为:

C:\mysql-8.0.11-winx64

1

在系统环境变量path中,追加如下内容

;%MYSQL_HOME%\bin

1

3.4 生成配置文件my.ini

配置文件的内容如下:

[mysql]

# 设置mysql客户端默认字符集

default-character-set=utf8

[mysqld]

# 设置端口

port = 3306

# 设置mysql的安装目录

basedir=C:\mysql-8.0.11-winx64

# 设置mysql数据库数据的存放目录

datadir=C:\mysql-8.0.11-winx64\data

# 允许最大连接数

max_connections = 200

# 服务端使用默认字符集默认为8比特编码的latin1字符集

character-set-server=utf8

# 创建新表时将使用默认的存储引擎

default-storage-engine=INNODB

# 取消权限设置

# skip-grant-tables

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

注意:在上述的配置文件中,basedir指的是mysql的安装目录,而datadir表示的是mysql数据库存放的目录。确保此目录的存在,因此在填写该配置文件之后,在my.ini同级目录下创建空目录data

3.5 命令行安装MySQL并测试连接

3.5.1 初始化

C:\Users\全恒>mysqld --initialize --user=mysql --console

2018-10-14T07:52:44.799907Z 0 [System] [MY-013169] [Server] C:\mysql-8.0.11-winx64\bin\mysqld.exe (mysqld 8.0.11) initia

lizing of server in progress as process 7592

2018-10-14T07:52:44.803321Z 0 [ERROR] [MY-010457] [Server] --initialize specified but the data directory has files in it

. Aborting.

2018-10-14T07:52:44.803710Z 0 [ERROR] [MY-010119] [Server] Aborting

2018-10-14T07:52:44.803930Z 0 [System] [MY-010910] [Server] C:\mysql-8.0.11-winx64\bin\mysqld.exe: Shutdown complete (my

sqld 8.0.11)  MySQL Community Server - GPL.

1

2

3

4

5

6

7

8

在上述文件中,ERROR错误提示表明在执行mysqld --initialize时,需要data目录为空,因此清空配置文件指定的数据目录data,重新执行

C:\Users\全恒>mysqld --initialize --user=mysql --console

2018-10-14T07:53:24.876310Z 0 [System] [MY-013169] [Server] C:\mysql-8.0.11-winx64\bin\mysqld.exe (mysqld 8.0.11) initia

lizing of server in progress as process 11816

2018-10-14T07:53:48.715236Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: =aJROkH+

5Sq1

2018-10-14T07:54:04.695974Z 0 [System] [MY-013170] [Server] C:\mysql-8.0.11-winx64\bin\mysqld.exe (mysqld 8.0.11) initia

lizing of server has completed

1

2

3

4

5

6

7

在上述文档中,表明mysqld执行初始化时已经成功,并且为用户root@localhost创建了一个临时的登陆密码

=aJROkH+5Sq1

1

注意:保存该临时密码,在之后连接mysql服务时需要提供,当然修改用户密码时也需要提供该临时密码。

3.5.2 管理员命令提示符号

3.5.2.1 管理员命令行安装MySQL组件

然后使用管理员用户打开命令提示符执行如下命令:

Microsoft Windows [版本 6.3.9600]

(c) 2013 Microsoft Corporation。保留所有权利。

C:\windows\system32>mysqld --install

Service successfully installed.

3.5.2.2 管理员启动mysql服务

C:\windows\system32>net start mysql

发生系统错误 2。

系统找不到指定的文件。

1

2

3

4

5

6

7

8

9

10

3.5.2.3 启动失败定位和解决

在运行中键入services.msc查看本机所有服务,找到MySQL服务,点击属性

可以看到此处的可执行路径为并不是当前的样子[因为笔者已经修改过]

由于在服务页面没有提供修改接口,因此要修改可执行路径需要在注册表中进行修改,

在运行中,键入regedit,

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL

1

修改ImagePath,如下图所示

按照实际情况修改即可。

修改完成之后,依然在管理员权限下的命令行中运行

3.5.2.4 验证

C:\windows\system32>net start MySQL

MySQL 服务正在启动 ...

MySQL 服务已经启动成功。

1

2

3

3.5.3 登陆MySQL并修改密码

使用普通的命令行连接服务修改密码

C:\Users\全恒>mysql -u root -p

Enter password: ************  【即之前的临时密码】

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 12

Server version: 8.0.11

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

1

2

3

4

5

6

7

8

9

10

11

12

13

上述的弹窗表示已经MySQL服务已经正常启动,使用下述命令可以为’root’@’localhost‘修改连接MySQL服务的密码

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

Query OK, 0 rows affected (0.12 sec)

1

2

4 常用命令

4.1 显示所有数据库

mysql> show databases;

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

| Database          |

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

| information_schema |

| mysql              |

| performance_schema |

| sys                |

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

4 rows in set (0.06 sec)

1

2

3

4

5

6

7

8

9

10

4.2 查看数据库信息status或\s

mysql> \s

--------------

mysql  Ver 8.0.11 for Win64 on x86_64 (MySQL Community Server - GPL)

Connection id:          13

Current database:

Current user:          root@localhost

SSL:                    Cipher in use is DHE-RSA-AES128-GCM-SHA256

Using delimiter:        ;

Server version:        8.0.11 MySQL Community Server - GPL

Protocol version:      10

Connection:            localhost via TCP/IP

Server characterset:    utf8

Db    characterset:    utf8

Client characterset:    utf8

Conn.  characterset:    utf8

TCP port:              3306

Uptime:                32 min 59 sec

Threads: 2  Questions: 14  Slow queries: 0  Opens: 140  Flush tables: 2  Open tables: 116  Queries per second avg: 0.007

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

4.3 切换数据库use或\u

mysql> use sys;

Database changed

mysql> \u mysql

Database changed

1

2

3

4

4.4 创建数据库

mysql> create database ACT;

Query OK, 1 row affected (0.10 sec)

mysql> show databases;

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

| Database          |

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

| act                |

| information_schema |

| mysql              |

| performance_schema |

| sys                |

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

5 rows in set (0.00 sec)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

4.5 创建表

mysql> use act

Database changed

mysql> create table tb_grade(

    -> id int(11),

    -> name varchar(20),

    -> grade FLOAT

    -> );

Query OK, 0 rows affected (0.43 sec)

1

2

3

4

5

6

7

8

4.6 显示当前数据库中表

mysql> show tables;

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

| Tables_in_act |

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

| tb_grade      |

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

1 row in set (0.00 sec)

1

2

3

4

5

6

7

5 总结

该文档演示了mysql-8.0.11-winx64的安装和配置过程,并演示在安装mysql过程中的问题和解决方式,在程序员开发过程中,mysql是非常常用的数据库,毕竟开源非商业应用,不用付费。安装mysql之后更加重要的是mysql数据库的使用和命令行操作,以及mysql对表的查询,定义,操纵。限于篇幅,这些内容不再本文档中展示。

6 引用和文档下载

6.1文档下载

https://download.csdn.net/download/lk142500/10719861

6.2引用

https://blog.csdn.net/qq_38345606/article/details/80641544

http://www.runoob.com/mysql/mysql-tutorial.html

---------------------

你可能感兴趣的:(Windows下MySQL安装配置和问题解决)