以前使用的数据库是5.5的,最近想换新的8以上的,下载解压后安装的时候出现了问题,提示 api-ms-win-crt-runtime-l1-1-0.dll丢失,最终百度了好多帖子解决
,在这里记录整理下。

提示 api-ms-win-crt-runtime-l1-1-0.dll丢失

在这里插入图片描述
解决方案】

api-ms-win-crt-runtime 就是MFC的运行时环境的库,python在windows上编译也是用微软的visual studio C++编译的,底层也会用到微软提供的C++库和runtime库,安装Visual C++ Redistributable for Visual Studio 2015 组件即可解决此问题。

链接:https://www.microsoft.com/zh-cn/download/details.aspx?id=48145
点击直达

需要注意:安装前请删掉已有的 api-ms-win-crt-runtime-l1-1-0.dll(具体路径:C:\Windows\System32 和 C:\Windows\SysWOW64 检查下),vc_redit.exe安装完成会重新生成的!安装完后,如果不能正常启动MySQL Workbench,则重新启动一下电脑即可。
安装完后,重启电脑!

链接的时候还出现了Navicat 报错:1130-host ,
Navicat连接MySQL 8出现2059,貌似是5.0和8.0的密码这块的差异,没详细了解,下面有提到解决方法

安装流程
mysql-8.0.15-winx64 解压版安装 图文详解

1、官网下载
https://dev.mysql.com/downloads/mysql/

2、解压到合适的目录

在这里插入图片描述3、配置环境变量

①、 path

在这里插入图片描述
②、MYSQL_HOME
4、新建一个my.ini 用记事本打开,复制以下代码, 没有my.ini 数据库启动时无法初始化参数

在这里插入图片描述[mysql]
#;设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#;设置3306端口
port = 3306
#; 设置mysql的安装目录
basedir=D:\home\MySql\mysql-8.0.16-winx64
#; 设置mysql数据库的数据的存放目录
datadir=D:\home\MySql\mysql-8.0.16-winx64\data
#; 允许最大连接数
max_connections=200
#; 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
#; 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

5.进入MySQL的bin目录

在命令行窗口输入:mysqld --install,回车,提示:Service successfully installed,说明注册服务成功。

在这里插入图片描述
6、以管理员的身份打开cmd命令窗口,(获取初始密码,二选一)

第一种:输入mysqld --initialize命令初始化mysql的data数据目录,初始化完毕后,会在解压目录下生成一个data文件夹, 在这个文件夹下有一个.err结尾的文件,打开后会有随机生成的密码。

第二种:使用mysqld --initialize --console命令,生成随机密码

在这里插入图片描述7、启动服务:net start mysql
在这里插入图片描述9、修改登陆密码 ‘新密码’ 替换你需要的新密码
ALTER USER USER() IDENTIFIED BY ‘新密码’;
更新密码:
update mysql.user set authentication_string=password(‘root’) where user=‘root’ and Host = ‘localhost’;

服务停止:输入 net stop mysql
服务启动:输入 net start mysql

Navicat连接MySQL 8出现2059 - authentication plugin 'caching_sha2_password’的解决办法
use mysql;
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’;
这里的localhost对应本地,如果是远程访问 mysql的话,需要将localhost改成%;
password是root的密码,使用时也要进行对应修改。

解决Navicat 报错:1130-host … is not allowed to connect to this MySql server,MySQL

解决方法:

1。 改表法。

可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从"localhost"改称"%"

mysql -u root -p

mysql>use mysql;

mysql>update user set host = ‘%’ where user = ‘root’ and host=‘localhost’;

mysql>select host, user from user;

需要重启MySQL服务。 或 再执行 执行一个语句 mysql>FLUSH RIVILEGES 使修改生效.就可以了

亲测可用。

  1. 授权法。

例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。

GRANT ALL PRIVILEGES ON . TO ‘myuser’@’%’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;

FLUSH PRIVILEGES;

如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码

GRANT ALL PRIVILEGES ON . TO ‘myuser’@‘192.168.1.3’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;

FLUSH PRIVILEGES;

如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器的dk数据库,并使用mypassword作为密码

GRANT ALL PRIVILEGES ON dk.* TO ‘myuser’@‘192.168.1.3’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐