今天要在本地装个mysql,发现mysql-5.7.19-winx64版总是报错由于找不到MSVCP120.dll,无法继续执行代码。重新安装程序可能会解决此问题。
,去微软官网找到了最新的Visual C++ Redistributable for Visual Studio,下载后发现还是不停地报错。怀疑是系统不兼容,没办法只好安装mysql-8.0.37-winx64。
可是安装完服务并初始化之后,发现连不上,不停报错ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost:3306‘ (10061)
,把服务删了安装包删了还是报错,简直要怀疑人生了。。
最后发现可能是自己操作步骤有问题,严格按照停止服务-删除服务-删除data目录-重新注册服务-重新初始化-启动服务,操作一遍后终于好了,泪奔~~o(>_<)o ~~。遇到问题不要气馁啊,在编程路上类似的问题多了去了。
以下是详细操作。
- 检查my.ini文件,我的如下:
[mysqld]
#设置时区为东八区,此项设置后,在连接MySQL的时候可以不用每次都手动设置时区
default-time-zone = '+8:00'
# 设置3306端口
port=3306
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用mysql_native_password caching_sha2_password”插件认证
default_authentication_plugin=mysql_native_password
# 解决导入脚本时funtion报错
log_bin_trust_function_creators=1
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
port=3306
default-character-set=utf8
- 停止服务
去服务面板查看Mysql服务状态,如果是运行中则停止服务,可以在命令行以管理员身份 输入sc query MySQL
查询服务状态, 输入net stop mysql
停止服务。 - 以管理员身份打开命令提示符, 输入
mysqld --remove mysql
移除 MySQL 服务。 - 进入 MySQL 安装目录中找到 data 文件,清空文件夹。注意:这一步会把数据库存储的所有内容全部清除,包括你之前创建的数据库。
- 重新注册服务,输入
mysqld -install
- 重新初始化,输入
mysqld --initialize
,初始化之后 data 文件夹会重新出现文件, 其中初始化密码会被记录在一个后缀为.err 的文件中,用记事本打开,可以看到 root 用户的初始化密码 root@localhost: .R0Qg-hr,Rqc
7. 启动 MySQL 服务 , 输入 net start mysql
-
输入
mysql -u root -p
然后用(在.err 文件中找到的)初始化密码.R0Qg-hr,Rqc 登录 -
输入`ALTER USER 'root'@'localhost' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY '123456'``; 修改密码为 123456
-
在dataGrip填好用户名密码,测试连接,能连接成功,说明安装成功了。