文章目录
- 前言
- (1)安装
- (2)启动
- (3)登录并修改密码
- (3)测试
前言
安装教程有很多,我安装时出现了很多问题,几乎把能出现的都出现了,所以按照自己的安装步骤操作了一篇,也总结了下。如果有什么疑问可以在底下留言。谢谢
- 64位
- Windoes10
- CPU
- vs:我没有安装
(1)安装
- 下载64位的zip,我下载的是
mysql-8.0.19-winx64.zip
- 将
D:\mysql\mysql-8.0.19-winx64\bin
添加到系统变量 - 配置初始化的my.ini文件,将文件放到
D:\mysql\mysql-8.0.19-winx64\bin
路径下内容为:
[client]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\\mysql\\mysql-8.0.19-winx64
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
# datadir=D:\\mysql\\sqldata
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
- 在MySQL安装目录的 bin 目录下执行命令:
- 下载:https://cn.dll-files.com/search/?q=VCRUNTIME140_1.DLL
- 将VCRUNTIME140_1.DLL复制到C:\Windows\System32路径下
- 重新打开cmd==(用管理员权限)==
- 在MySQL安装目录的 bin 目录下执行命令:
mysqld --initialize --console
执行完成后,会打印 root 用户的初始默认密码
root@localhost: ;jaE(fl1q(5F
;jaE(fl1q(5F
//就是密码,不包括空格)
(2)启动
- 运行命令:
mysqld --install
//默认的名字为 mysql mysqld --install [服务名]可通过这个改名字
比如:我的名字:
D:\mysql\mysql-8.0.19-winx64\bin>mysqld --install [mysql1]
Service successfully installed.
services.msc
通过该命令可以查看服务
- 运行命令,启动MySQL服务
net start mysql1
出错:
D:\mysql\mysql-8.0.19-winx64\bin>net start mysql1
服务名无效。
因为net start +服务名,启动的是win下注册的服务。此时,系统中并没有注册mysql到服务中。即当前路径下没有mysql服务
查看服务名,保证名字没有错
- 采用powershell用管理员权限打开
,进入D:\mysql\mysql-8.0.19-winx64\bin
PS D:\mysql\mysql-8.0.19-winx64\bin> net start mysql1
服务名无效。
请键入 NET HELPMSG 2185 以获得更多的帮助。
- 删除安装路径下(我的是:
D:\mysql\mysql-8.0.19-winx64
)的data文件 - 运行以下命令
//初始化 data 目录:
mysqld --initialize
//或者mysqld --initialize-insecure
- 再重新下载
PS D:\mysql\mysql-8.0.19-winx64\bin> mysqld --install mysql1
Service successfully installed.
PS D:\mysql\mysql-8.0.19-winx64\bin> net start mysql1
mysql1 服务正在启动 ...
mysql1 服务已经启动成功。
- 假如还是不能启动,重复执行以下命令:
mysqld --install mysql1
net start mysql1
(3)登录并修改密码
mysql -u root -p
Enter password: ************
出错惹,怎么肥四,加油加油
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
//在当前服务窗口输入:
mysqld --shared-memory --skip-grant-tables
//打开新cmd
mysql -u root -p
Enter password: ************
//进入后输入:
use mysql
update user set authentication_string='' where user='root';
出现:
Query OK, 1 row affected (0.41 sec)
Rows matched: 1 Changed: 1 Warnings: 0
- 设置新密码:
alter user 'root'@'localhost' identified by 'newpassword';
//newpassword是新密码
出错:因为我前面那个没有关
The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
- 把两个窗口都关掉,重新开一个cmd(这边开cmd都采用管理员权限)
重新启动
net start mysql
- 登入
mysql -uroot -p
Enter password:
//此时我的密码空,所以回车就可以
- 继续修改密码
use mysql
出现:
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
//是因为我没有改密码
- 输入命令
alter user 'root'@'localhost' identified by '123456';
//123456是我的新密码
出现:
Query OK, 0 rows affected (0.29 sec)
//成功修改密码
- 输入
flush privileges;
//在注意需要执行 FLUSH PRIVILEGES 语句。 这个命令执行后会重新载入授权表。
//如果你不使用该命令,你就无法使用新创建的用户来连接mysql服务器,除非你重启mysql服务器。
出现:
Query OK, 0 rows affected (0.48 sec)
- 退出mysql,重新使用新密码登录即可
(3)测试
- 重新登陆,测试一下:
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (1.13 sec)
mysql>
- 成功。
总结:
1、安装之前电脑上可以没有vs
2、下载VCRUNTIME140_1.DLL
3、启动不了时采用powershell,删除data,重新加载安装
4、多次执行安装与启动
5、查看服务名是否正确
6、改密码出现的错误,在上面有具体解决方法
7、ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
//因为没有改密码,继续修改密码即可
8、修改完,记得flush privileges;