当时安装Mysql5.7免安装版本时,真的特别费劲各种报错(ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)),因为网上大多都是5.7之前的安装方式。下面记录了我根据网上资料成功安装mysql的过程
(1)解压压缩包,并新建data文件夹和my.ini文件。
我解压的目录是D:/software/mysql-5.7.21-winx64。
创建data文件夹,创建或修改my.ini配置文件。 我下载的压缩文件中也不包含my.ini或者default.ini,所以必须手动创建一个配置文件。
下面是我从网上拷来的配置文件,亲测可用,只需需改datadir和basedir。
[client]
port=3306
default-character-set=utf8
[mysqld]
# 设置mysql的安装目录
basedir = D:/software/mysql-5.7.21-winx64
# 设置mysql的数据存储目录
datadir = D:/software/mysql-5.7.21-winx64/data
character_set_server=utf8
sql_mode=NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER
#开启查询缓存
explicit_defaults_for_timestamp=true
# 跳过表的验证
# skip-grant-tables
- datadir是mysql真正存放数据的地方,所以data文件夹可以不创建。只要datadir对应的目录路径真实有效就可以。
- skip-grant-tables 启动mysql时不启动grant-tables,授权表。常用于忘记密码时,重置密码。因为压缩包安装方式并没有设置设置初始密码,所以可以添加该属性用来跳过验证,为默认用户root设置密码
(2)配置环境变量 在path 中添加 D:\software\mysql-5.7.21-winx64\bin
(3) 初始化mysql服务
mysqld --initialize --console
需要记录下最后一行生成的初始密码,可以使用初始密码登陆。
当然可以在配置文件中设置 skip-grant-tables,跳过用户名密码的验证。
执行完初始化工作之后,会发现data目录下多了很多内容
如果初始化时报下面的错误信息,则需要将datadir对应的 文件夹下的所有文件删除
2018-12-05T02:58:25.659751Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
(4) 安装mysql服务
mysqld --install //安装成功会提示
默认情况下服务名称是Mysql,也可以在安装服务的时候指定 mysqld --install Mysql1
(5) 开启mysql 服务
net start mysql //启动MySQL服务,也可以在Windows服务管理中启动MySQL
(6)连接MySQL服务(登陆)并修改(设置,没有初始密码的话就是设置密码)密码
初次安装的MySQL 有两种方式登录:
1. 使用初始密码登陆,在初始化时会在最后一行打印出初始密码。
2. 如果没有保存初始密码,也不要紧。通过在配置文件(default.ini)中配置 skip-grant-tables,就可以直接通过 mysql命令 连接MySQL服务
(7)修改密码
set password for 'root' @'localhost' = password('密码');
ps:网上提供了好多方法(5.7 之前的修改密码命令),但是有些不适用MySQL5.7 更多修改密码的方式
设置密码时可能会报错
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
执行flush privileges;命令重试就可以了
flush privileges
设置完成密码以后就可以使用新密码登陆了
MySQL 5.7 卸载
相对于安装,卸载起来倒是快捷多了
1.停止mysql 服务 net stop mysql 也可以在Windows服务管理中停止mysql 服务
2.移除 mysql服务 sc delete mysql 或 mysqld -remove mysql
3.删除mysql 的压缩包。
对于Mysql installer 这种方式安装的MySQL,可能还需要清理注册表
安装可能出现的错误:
- mysqld: Can't create directory 'D: oftware\mysql-5.7.21-winx64\data\' (Errcode: 2 - No such file or directory)
方案: 把my.ini中basedir和datadir路径中的“\”改为“/” 可以解决该问题
- ERROR 2003<HY000>:Can't to MySQL server on 'localhost'(10061)
方案: 1. 提示MySQL服务没有启动,net start mysql 开启mysql服务。如果提示服务不存在则安装服务
2. mysql 服务没有安装, mysqld --install 安装服务
- mysqld install 报错 Install/Remove of the Service Denied
方案:使用管理员权限启动cmd 就可以了,搜索cmd右键点击选择以管理员身份运行
- 登陆的时候报错:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
1. 密码或用户名不正确 。2。mysql 刚安装时,root 用户没有初始密码的缘故
- 设置密码的时候报错 ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
使用命令 flush privileges; 然后再修改密码
- The service already exists! The current server installed: "C:\Program Files\MySQL\MySQL Server 5.7\mysqld" MySQL
方案:
删除服务 mysqld -remove mysql ,如果提示 Failed to remove the service。或者使用 sc delete mysql 删除服务,提示
[SC] DeleteService 失败 1072: 指定的服务已标记为删除。则看一下是否打开了服务窗口(services.msc)。如果打开了关闭窗口重试即可
由于找不到MSVCR120.dll,无法继续执行代码
msvcr120.dll属于Visual C++ Redistributable中的文件,所以通过安装、重装Visual C++ Redistributable 可以修复改问题