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
---------------------