Windows server下MySQL数据库的安装及常见问题(含安装包)

mysql安装方法及启动

平时工作不太经常完整的服务器环境,所以很久没有进行服务器环境的配置,突然想要重新装一下,所以从腾讯云领取了一个15天的免费服务器来重新安装一下服务器常用的开发环境,这里我选择的是windows server2012版本的服务器,刚开始安装MySQL就遇到了很多问题,下面和大家分享一下出现的问题和解决办法。

MySQL数据库安装

1.下载MySQL数据库安装包,因为免费领的服务器只有一个C盘,所以这里我创建了一个简单易懂的ceshi文件夹来放一些安装包,
MySQL安装包我选择的是mysql-8.0.15-winx64在文章最下面有我使用的安装包分享
2.在mysql-8.0.15-winx64文件夹中创建data文件夹并创建my.ini文件,配置mysql安装目录等内容
这里注意!!!
(1)设置mysql的安装目录的basedir指向mysql安装包文件夹地址
(2)设置mysql数据库的数据的存放目录的datadir指向刚刚创建的data文件夹地址

 [mysql]
 # 设置mysql客户端默认字符集
 default-character-set=utf8 
 [mysqld]
 #设置3306端口
 port = 3306 
 # 设置mysql的安装目录
 basedir=C:\ceshi\mysql-8.0.15-winx64
 # 设置mysql数据库的数据的存放目录
 datadir=C:\ceshi\mysql-8.0.15-winx64\data
 # 允许最大连接数
 max_connections=200
 # 服务端使用的字符集默认为8比特编码的latin1字符集
 character-set-server=utf8
 # 创建新表时将使用的默认存储引擎
 default-storage-engine=INNODB 
 skip-name-resolve

3.通过win+R打开‘运行’窗口打开cmd命令窗口
4.进入安装包文件夹

C:\Users\Administrator>cd /
C:\>cd ceshi\mysql-8.0.15-winx64\bin

4.安装mysql数据库并初始化

C:\ceshi\mysql-8.0.15-winx64\bin>mysqld --install
Service successfully installed.
C:\ceshi\mysql-8.0.15-winx64\bin>mysqld --initialize
C:\ceshi\mysql-8.0.15-winx64\bin>

5.启动MySQL服务

C:\ceshi\mysql-8.0.15-winx64\bin>net start mysql

6.启动MySQL数据库

C:\ceshi\mysql-8.0.15-winx64\bin>mysql -u root -p

出现的问题

启动MySQL服务报错

启动MySQL服务报错3534

一般第一次启动MySQL服务经常会提示MySQL服务无法启动,并报错3534,就像这样

C:\Users\Administrator>net start mysql
MySQL 服务正在启动 .
MySQL 服务无法启动。

服务没有报告任何错误。

请键入 NET HELPMSG 3534 以获得更多的帮助。

如果遇到这样的情况
1.我们需要把我们在MySQL安装包文件夹创建的data文件夹下的所有文件都删除
2.重新进行MySQL初始化操作

mysqld --initialize

启动MySQL服务报错3523

重新将MySQL初始化以后继续使用net start mysql启动MySQL服务有一次报错,这次是3523,就像这样

C:\ceshi\mysql-8.0.15-winx64\bin>mysqld --initialize
C:\ceshi\mysql-8.0.15-winx64\bin>net start mysql
MySQL 服务正在启动 ........
MySQL 服务无法启动。

请键入 NET HELPMSG 3523 以获得更多的帮助。

但是通过排查,发现MySQL服务已经打开了,并且通过cmd命令重新启动MySQL服务已经提醒‘请求的服务已经启动’,所以就没再管他

C:\ceshi\mysql-8.0.15-winx64\bin>net start mysql
MySQL 服务正在启动 ........
MySQL 服务无法启动。

请键入 NET HELPMSG 3523 以获得更多的帮助。


C:\ceshi\mysql-8.0.15-winx64\bin>net start mysql
请求的服务已经启动。

请键入 NET HELPMSG 2182 以获得更多的帮助。

查看服务可通过运行’services.msc’快速进入服务窗口

启动MySQL服务报错提示发生系统错误193

当我们遇到类似于这样的错误时,我们需要删除mysql安装包下bin文件夹中名为mysqld,大小为0KB的文件,然后重新启动,就可以解决这样的问题

C:\ceshi\mysql-8.0.15-winx64\bin>net start mysql
发生系统错误 193*** 不是有效的 Win32 应用程序。

C:\ceshi\mysql-8.0.15-winx64\bin>net stop mysql
没有启动 MySQL 服务。

请键入 NET HELPMSG 3521 以获得更多的帮助。


C:\ceshi\mysql-8.0.15-winx64\bin>net start mysql
发生系统错误 193*** 不是有效的 Win32 应用程序。

C:\ceshi\mysql-8.0.15-winx64\bin>net start mysql
MySQL 服务正在启动 ........
MySQL 服务启动成功。


启动MySQL数据库报错

mysql -u root -p报错ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost’ (10061)

如果说打开MySQL数据库报错ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost’ (10061),建议检查MySQL服务是否开启。

C:\ceshi\mysql-8.0.15-winx64\bin>mysql -u root -p
Enter password:
ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)

C:\ceshi\mysql-8.0.15-winx64\bin>net stop mysql
没有启动 MySQL 服务。

mysql -u root -p报错ERROR 1130 (HY000): Host ‘::1’ is not allowed to connect to this MySQL server

不同的MySQL数据库版本对my.ini文件夹的要求也不相同,所以如果启动MySQL数据库报错ERROR 1130 (HY000): Host ‘::1’ is not allowed to connect to this MySQL server,不要慌,打开我们之前创建的my.ini文件,将skip-name-resolve这一句话注释掉然后重启一下数据库就好了

  [mysql]
  # 设置mysql客户端默认字符集
  default-character-set=utf8 
  [mysqld]

  #设置3306端口
  port = 3306 
  # 设置mysql的安装目录
  basedir=C:\ceshi\mysql-8.0.15-winx64
  # 设置mysql数据库的数据的存放目录
 datadir=C:\ceshi\mysql-8.0.15-winx64\data
 # 允许最大连接数
 max_connections=200
 # 服务端使用的字符集默认为8比特编码的latin1字符集
 character-set-server=utf8
 # 创建新表时将使用的默认存储引擎
 default-storage-engine=INNODB 
 #出现Host '::1' is not allowed to connect to this mysql server注释以下内容
 #skip-name-resolve

MySQL密码设置

我们第一次安装MySQL都会出现这样的问题,MySQL服务启动并且启动MySQL数据库后,都会要求输入初始密码,但是我们找来找去都找不到,那么接下来我总结了几种不需要密码进入MySQL数据库的方法

常见的输入密码后的反馈总结

我们在日常进入MySQL数据库的时候在输入密码环节会出现不同的反馈,我们在这里对不同的密码反馈进行总结
1.第一种是当我们想要跳过密码进入MySQL所以空着密码进入后出现这样的情况

C:\ceshi\mysql-8.0.15-winx64\bin>mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: N
O)

这样的情况一般是因为我们的权限并不支持跳过密码进入MySQL数据库,所以我们需要通过跳过初始密码的方式进入数据库,方法会在下面讲到

2.第二种是当我们输入密码后出现的情况

C:\ceshi\mysql-8.0.15-winx64\bin>mysql -u root -p
Enter password: ***
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: Y
ES)

如果说出现这样的情况,那就是因为输入的密码不正确所导致的

跳过初始密码进入MySQL数据库的方法

skip-grant-tables

第一个办法我们可以在my.ini文件中的[mysqld]下加入skip-grant-tables,然后重启MySQL服务,这样我们启动mysql -u root -p,空着密码,就能直接进入MySQL数据库了

C:\ceshi\mysql-8.0.15-winx64\bin>mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 8.0.15 MySQL Community Server - GPL

Copyright (c) 2000, 2019, 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> 

my.ini文件内容为

  [mysql]
  # 设置mysql客户端默认字符集
  default-character-set=utf8 
  [mysqld]

  #设置3306端口
  port = 3306 
  # 设置mysql的安装目录
  basedir=C:\ceshi\mysql-8.0.15-winx64
  # 设置mysql数据库的数据的存放目录
 datadir=C:\ceshi\mysql-8.0.15-winx64\data
 # 允许最大连接数
 max_connections=200
 # 服务端使用的字符集默认为8比特编码的latin1字符集
 character-set-server=utf8
 # 创建新表时将使用的默认存储引擎
 default-storage-engine=INNODB 
 #出现Host '::1' is not allowed to connect to this mysql server注释以下内容
 skip-name-resolve
 skip-grant-tables

mysqld --console --skip-grant-tables --shared-memory

在MySQL数据库8.0以上版本会出现在my.ini文件夹中加入skip-grant-tables无法启动MySQL服务的情况,这样的情况下我们关闭MySQL服务,重新打开一个cmd窗口,通过mysqld --console --skip-grant-tables --shared-memory的方式打开MySQL服务,这样我们我们打开MySQL数据,就可以空着密码进入了

C:\ceshi\mysql-8.0.15-winx64\bin>mysqld --console --skip-grant-tables --shared-m
emory
2020-06-03T05:50:23.984028Z 0 [System] [MY-010116] [Server] C:\ceshi\mysql-8.0.1
5-winx64\bin\mysqld.exe (mysqld 8.0.15) starting as process 1124
2020-06-03T05:50:23.985943Z 0 [Warning] [MY-013242] [Server] --character-set-ser
ver: 'utf8' is currently an alias for the character set UTF8MB3, but will be an
alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to
 be unambiguous.
2020-06-03T05:50:39.282934Z 0 [Warning] [MY-010068] [Server] CA certificate ca.p
em is self signed.
2020-06-03T05:50:39.317637Z 0 [System] [MY-010931] [Server] C:\ceshi\mysql-8.0.1
5-winx64\bin\mysqld.exe: ready for connections. Version: '8.0.15'  socket: ''  p
ort: 0  MySQL Community Server - GPL.
2020-06-03T05:50:39.358816Z 0 [Warning] [MY-011311] [Server] Plugin mysqlx repor
ted: 'All I/O interfaces are disabled, X Protocol won't be accessible'
C:\ceshi\mysql-8.0.15-winx64\bin>mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 8.0.15 MySQL Community Server - GPL

Copyright (c) 2000, 2019, 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>

注意,如果使用这种情况一定要注意拼写和合适,如果说出现以下情况,不要怀疑,基本上就是你输入内容或者格式有误,重新检查一下的

2020-06-03T05:49:56.789360Z 0 [System] [MY-010116] [Server] C:\ceshi\mysql-8.0.1
5-winx64\bin\mysqld.exe (mysqld 8.0.15) starting as process 3840
2020-06-03T05:49:56.791328Z 0 [Warning] [MY-013242] [Server] --character-set-ser
ver: 'utf8' is currently an alias for the character set UTF8MB3, but will be an
alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to
 be unambiguous.
2020-06-03T05:50:12.347208Z 0 [Warning] [MY-010068] [Server] CA certificate ca.p
em is self signed.
2020-06-03T05:50:12.352903Z 0 [ERROR] [MY-000068] [Server] unknown option '--sha
red-m'.
2020-06-03T05:50:12.352913Z 0 [Warning] [MY-010952] [Server] The privilege syste
m failed to initialize correctly. If you have upgraded your server, make sure yo
u're executing mysql_upgrade to correct the issue.
2020-06-03T05:50:12.371759Z 0 [ERROR] [MY-010119] [Server] Aborting
2020-06-03T05:50:13.864968Z 0 [System] [MY-010910] [Server] C:\ceshi\mysql-8.0.1
5-winx64\bin\mysqld.exe: Shutdown complete (mysqld 8.0.15)  MySQL Community Serv
er - GPL.

MySQL数据库密码修改

在跳过密码进入MySQL数据库后,我们肯定是要去修改密码,所以我们在进入MySQL数据库后,我们通过SQL语句的方式进行密码修改,但是通过跳过密码方式会出现报错情况,所以在修改以前我们可以先执行一下flush privileges;命令后进行密码的修改,整体流程如下

mysql> ALTER USER "root"@"localhost" IDENTIFIED BY "root";

ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

mysql>flush privileges;
Query OK, 0 rows affected (0.01 sec)

mysql> ALTER USER "root"@"localhost" IDENTIFIED BY "root";
Query OK, 0 rows affected (0.03 sec)

mysql>

修改密码的SQL语句为:
ALTER USER “root”@“localhost” IDENTIFIED BY “你的密码”;

总结

MySQL数据库的安装首先需要选好安装包,并明确自己所使用的安装包版本,切记一定要在安装包地址下进行MySQL服务的安装及初始化,一般来说MySQL服务无法启动基本上可以靠删除data文件夹中的所有文件并重新初始化解决的。同时熟记MySQL安装等常用命令,在修改my.ini文件或其他内容后,一定要第一时间重启MySQL服务来快速完成修改后的实现。

mysqld --install   MySQL服务安装
mysqld --initialize  MySQL服务初始化
net start mysql		启动MySQL服务
net stop mysql   关闭MySQL服务
mysql -u root -p	进入MySQL数据库

my.ini

  [mysql]
  # 设置mysql客户端默认字符集
  default-character-set=utf8 
  [mysqld]
  #设置3306端口
  port = 3306 
  # 设置mysql的安装目录
  basedir=C:\ceshi\mysql-8.0.15-winx64
  # 设置mysql数据库的数据的存放目录
 datadir=C:\ceshi\mysql-8.0.15-winx64\data
 # 允许最大连接数
 max_connections=200
 # 服务端使用的字符集默认为8比特编码的latin1字符集
 character-set-server=utf8
 # 创建新表时将使用的默认存储引擎
 default-storage-engine=INNODB 
 
 skip-name-resolve
 
 skip-grant-tables

MySQL数据库安装包

链接:https://pan.baidu.com/s/1l58DUx_p8768i1gRu8PMQQ 
提取码:onrx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值