MySQL----安装到测试(总结雷区,避免踩坑)

前言

安装教程有很多,我安装时出现了很多问题,几乎把能出现的都出现了,所以按照自己的安装步骤操作了一篇,也总结了下。如果有什么疑问可以在底下留言。谢谢


  • 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 目录下执行命令:

2.png

  • 下载:https://cn.dll-files.com/search/?q=VCRUNTIME140_1.DLL

3.png

  • 将VCRUNTIME140_1.DLL复制到C:\Windows\System32路径下

  • 重新打开cmd==(用管理员权限)==

  • 在MySQL安装目录的 bin 目录下执行命令:

mysqld --initialize --console

执行完成后,会打印 root 用户的初始默认密码

4.png

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;


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值