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

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

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

;%MYSQL_HOME%\bin

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

注意:在上述的配置文件中,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.

在上述文件中,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

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

=aJROkH+5Sq1

注意:保存该临时密码,在之后连接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。

系统找不到指定的文件。
3.5.2.3 启动失败定位和解决

在运行中键入services.msc查看本机所有服务,找到MySQL服务,点击属性
查看MySQL服务的属性
可以看到此处的可执行路径为并不是当前的样子[因为笔者已经修改过]
由于在服务页面没有提供修改接口,因此要修改可执行路径需要在注册表中进行修改,
在运行中,键入regedit,

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL

修改ImagePath,如下图所示
编辑ImagePath
按照实际情况修改即可。
修改完成之后,依然在管理员权限下的命令行中运行

3.5.2.4 验证
C:\windows\system32>net start MySQL
MySQL 服务正在启动 ...
MySQL 服务已经启动成功。

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.

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

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
Query OK, 0 rows affected (0.12 sec)

4 常用命令

4.1 显示所有数据库

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.06 sec)

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

4.3 切换数据库use或\u

mysql> use sys;
Database changed
mysql> \u mysql
Database changed

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)

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)

4.6 显示当前数据库中表

mysql> show tables;
+---------------+
| Tables_in_act |
+---------------+
| tb_grade      |
+---------------+
1 row in set (0.00 sec)

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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值