对于不同的操作系统MySQL 提供了相应的版本。在 Windows 操作系统下,MySQL 数据库的安装包分为图形化界面安装和免安装这两种安装包。这两种安装包的安装方式不同,配置方式也不同。图形化界面安装包有完整的安装向导,安装和配置很方便。免安装的安装包直接解压即可使用,但是配置起来不方便。

本节主要介绍了 MySQL 的下载和安装过程,用户可以根据自身的操作系统类型,从 MySQL 官方下载页面免费下载相应的服务器安装包。本教程以 mysql-8.0.28-winx64 为例介绍其在 Windows 10 操作系统下的安装和配置过程。

用户下载安装包的步骤如下,包括下载 Windows 图形化 MySQL 安装包、Windows 免安装 MySQL 安装包以及 Linux 操作系统的 MySQL 安装包。

步骤 1):打开 MySQL 官方网站(http://www.mysql.com),如图 1 所示。

步骤 2):滑到网页底部,点击  MySQL Community(GPL) Downloads,如图 2 所示。

 

步骤 3):点击 DOWNLOADS 列表下的 MySQL Community Server,如图 3 所示。

在下载页面中,选择 MySQL 的版本和操作系统,这里操作系统选择 Microsoft Windows,如下图 所示。

这里的两个zip文件,Archive 是正式版的安装,而ZIP Archive, Debug Binaries & Test Suite 是测试版的安装。

有的版本还会有msi installer,zip archive和zip archive debug binaries&test suite三种选项,第一种msi是指的Windows installer开发出来的程序安装文件,它可以让你安装,修改,卸载你所安装的程序。说白了.msi就是Windows installer的数据包,把所有和安装文件相关的内容封装在一个包里。

zip一般在解压以后使用,需要配置一些东西,而msi是安装包,一步一步可以直接搞定。

步骤 4):点击 Download 后进入下载页面,该页面需要注册 MySQL 账户,也可不进行注册,直接下载,如图 5 所示。 

注意:一般来说应当使用二进制分发版,因为该版本比其他的分发版使用起来更简单,不再需要其他工具来启动就可以运行 MySQL。

启动mysql:

1、设置环境变量

 

2、服务端初始化操作(mysqld)

PS C:\soft\mysql-8.0.28-winx64\bin> mysqld --no-defaults --initialize

进行以上操作后,若是在新建的data文件夹中出现以下几个文件夹,则说明初始化完成。同时也创建了一个用户名“root”,且密码为空。

4:将MYSQL卸载、重装、初始化,最后开启MYSQL服务。

以管理员身份打开cmd

1 C:Windows\system32>mysqld --romve  //删除mysql服务
2 C:Windows\system32>mysqld --install //安装mysql服务 
3 C:Windows\system32>mysqld --initialize //一定要初始化 
4 C:Windows\system32>net start mysql

中间折腾了两天,前面都OK,就是最后,“net start mysql”,无法启动。

从上面[ERROR],可以看出,不能找到文件。但是my.ini 文件是根据网上原封不动照搬过来的,怎么就错了呢?原来问题是出在my.ini文件中的文件路径隔离符“\”,应该为“/”。问题解决!!!

[mysqld]
#端口号
port=3306
#设置mysql的安装目录
basedir=C:/soft/mysql-8.0.28-winx64
#设置mysql数据库的数据的存放目录
datadir=C:/soft/mysql-8.0.28-winx64/data

#允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10

# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
skip_ssl
default-time_zone='+8:00'
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

#日志输出为文件
log-output=FILE

# 是否开启sql执行结果记录,必须要设置general_log_file参数,日志的路径地址
# 即日志跟踪,1为开启,0为关闭
general-log=0
general_log_file="execute_sql_result.log"

#错误信息文件设置,会将错误信息放在data/mysql.err文件下
log-error=mysql.err

#skip_grant_tables 

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

[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8

修改root密码:

①首先打开cmd命令行,执行net stop mysql,把mysql服务先关掉;

②接着执行如下图所示的mysqld --skip-grant-tables命令;

    由于mysqld –skip-grant-tables实测在mysql8.0中已失效,现使用mysqld --console --skip-grant-tables --shared-memory

此时就跳过了mysql的用户验证。注意输入此命令之后命令行就无法操作了,此时可以再打开一个新的命令行。请注意:在输入此命令之前先在任务管理器中结束mysqld.exe进程,确保mysql服务器端已结束运行再进行此操作。

③在新的命令行中输入:MySQL,即可在安全模式下启动启动mysql 

输入show databases;   可以看到所有数据库说明成功登录。

其中mysql库就是保存用户名的地方。输入 use mysql;  选择mysql数据库。

 输入select user,host,authentication_string from user;  来查看账户信息,注:5.7之后版本下的mysql数据库下已经没有password这个字段了,password字段改成了authentication_string

mysql> update user set password=password("*******") where user="*******"; #修改密码报错 ERROR 1054 (42S22): Unknown column 'password' in 'field list'

网上推荐:

mysql> update mysql.user set authentication_string=password('123456') where user='root'; #修改密码成功

但是,实际仍无法执行。

新的修改密码方式:

1、use mysql;

2、alter user 'root'@'localhost' identified with mysql_native_password by '********';

3、flush privileges;

 但是,直接 alter user 'root'@'localhost' identified with mysql_native_password by '123456';

报错。这时,借鉴https://blog.csdn.net/weixin_33842328/article/details/93565223

解决。

 

 Query OK, 0 rows affected (0.01 sec)。查看user用户和密码,可以看到已经修改成功。

下面用root用户登录测试:

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

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

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> quit
Bye
PS C:\soft\mysql-8.0.28-winx64\bin>

可以正常登录和退出。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐