1、系统版本
- windows10
- mysql 5-7.32
2、首先,官网下载mysql的压缩包。https://dev.mysql.com/downloads/mysql/ 这里下载的是 mysql 5-7.32。下载完成,解压到自己的安装文件夹下。
3、在mysql的安装路径下,新建一个my.ini文件。
新建完成,填入以下内容,重点关注basedir 和datadir配置项。不然很容易报错,当时配置的时候,没在意,结果在下面的步骤中,就报错了。(路径中不要出现中文)
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir="D:\\soft\\install\\Mysql\\mysql-5.7.32"
# 设置mysql数据库的数据的存放目录
datadir="D:\\soft\\install\\Mysql\\mysql-5.7.32\\data"
# 允许最大连接数
max_connections=200
# 允许连接失败的次数
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4
4、配置环境变量。找到"此电脑" -- > 鼠标右击,选择"属性" --> 再在左侧侧边栏,点击 "高级系统设置" -- >"环境变量“;
新建变量名:MYSQL_PATH,变量值: D:\soft\install\Mysql\mysql-5.7.32 (自己的mysql的安装路径),然后点击确定;
然后点击Path变量,末尾在末尾新增:%MYSQL_PATH%\bin;然后确定;
5、安装Mysql。使用管理员身份打开cmd
进入到mysql的安装目录下的bin目录下;然后执行:mysqld --initialize --console命令。结果报了一个错:
搜了一下,发现这种错误是因为没安装 vcredist 引起的,下载 vcredist 地址:https://www.microsoft.com/zh-CN/download/details.aspx?id=40784。按照自己操作系统,下载相应的版本。下载完成,直接按照默认安装即可。
再次执行mysqld --initialize --console,按理说,应该没问题,结果还是报错了,报错如下。这就是上面配置my.ini文件时说的要注意的点。
mysqld: Can't create directory 'D:\0-杞欢\install\Mysql\mysql-5.7.32\data\' (Errcode: 2 - No such file or directory)
2020-12-05T14:34:00.093201Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2020-12-05T14:34:00.094044Z 0 [ERROR] Can't find error-message file 'D:\0-杞欢\install\Mysql\mysql-5.7.32\share\errmsg.sys'. Check error-message file location and 'lc-messages-dir' configuration directive.
2020-12-05T14:34:00.096915Z 0 [ERROR] Aborting
之前在填写basedir和datadir的时候,我的路径分别是
basedir = D:\0-软件\install\Mysql\mysql-5.7.32
datadir = D:\0-软件\install\\Mysql\mysql-5.7.32\data
看了网上说法,要在路径前后加上双引号(""),并且单斜杠 \ 换成双斜杠 \\。
basedir = "D:\\0-软件\\install\\Mysql\\mysql-5.7.32"
datadir = "D:\\0-软件\\install\\Mysql\\mysql-5.7.32\\data"
换了之后,结果还是报错。其实仔细瞅一下报错信息,就能发现。我的路径中D:\0-软件\ 结果在报错信息变成 D:\0-杞欢,很明显出现乱码。更改安装路径,保证路径中没有中文即可。如果,你的路径中没有中文,还是报了这个错,那就在路径前后加上双引号,并且单斜杠 \ 换成双斜杠 \\。也就是上图的方式
5、更改路径之后。再执行mysqld --initialize --console这句话。下面会打出一串提示信息,最后一行,有个 root@localhost: bzlMipD:p9hO 其中bzlMipD:p9hO就是我mysql的临时密码,这个一定要先记住,后续要用。
D:\soft\install\Mysql\mysql-5.7.32\bin>mysqld --initialize --console
2020-12-05T14:39:01.066756Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2020-12-05T14:39:01.230906Z 0 [Warning] InnoDB: New log files created, LSN=45790
2020-12-05T14:39:01.278298Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2020-12-05T14:39:01.386068Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 9da1b445-3707-11eb-8503-00ff0f891df2.
2020-12-05T14:39:01.393863Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2020-12-05T14:39:02.745668Z 0 [Warning] CA certificate ca.pem is self signed.
2020-12-05T14:39:03.905034Z 1 [Note] A temporary password is generated for root@localhost: bzlMipD:p9hO
6、安装mysql服务。在mysql安装目录下的bin目录下执行命令:mysqld --install,安装成功后提示:Service successfully installed。
D:\soft\install\Mysql\mysql-5.7.32\bin>mysqld --install
Service successfully installed.
7、配置mysql。继续执行:mysqld --initialize--insecure ,回车后再执行:mysqld --initialize
这时,会在mysql的安装目录下生成一个data文件;这个data文件就是你my.ini文件中配置datadir的所写的路径,路径、文件名都可以自定义。
8、开启mysql服务。执行net start mysql
D:\soft\install\Mysql\mysql-5.7.32\bin>net start mysql
MySQL 服务正在启动 .
MySQL 服务已经启动成功。
9、连接mysql。此时服务已经启动。直接执行mysql -u root -p。然后输入刚才的临时密码,我的临时密码,是bzlMipD:p9hO。也可以执行mysql -u root -pbzlMipD:p9hO。出现下面情形,说明mysql安装成功。
D:\soft\install\Mysql\mysql-5.7.32\bin>mysql -u root -pbzlMipD:p9hO
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.32
Copyright (c) 2000, 2020, 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>
进来之后,本来打算先看下数据库,直接执行show databases;结果报了错误信息
mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
很明显,提示我们先更改数据库密码。很简单,两个步骤。
1)执行set password=password("123456"); 123456就是你的密码。
2)执行flush privileges;
mysql> set password=password("123456");
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
执行完成之后,就可以使用数据库的连接工具,连接MySQL了。这里极力推荐Dbeaver。没别的原因。就一个字,香。Dbeaver下载地址