当时安装Mysql5.7免安装版本时,真的特别费劲各种报错(ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)),因为网上大多都是5.7之前的安装方式。下面记录了我根据网上资料成功安装mysql的过程
我解压的目录是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
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.
mysqld --install //安装成功会提示
默认情况下服务名称是Mysql,也可以在安装服务的时候指定 mysqld --install Mysql1
net start mysql //启动MySQL服务,也可以在Windows服务管理中启动MySQL
初次安装的MySQL 有两种方式登录:
1. 使用初始密码登陆,在初始化时会在最后一行打印出初始密码。
2. 如果没有保存初始密码,也不要紧。通过在配置文件(default.ini)中配置 skip-grant-tables,就可以直接通过 mysql命令 连接MySQL服务
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
设置完成密码以后就可以使用新密码登陆了
相对于安装,卸载起来倒是快捷多了
1.停止mysql 服务 net stop mysql 也可以在Windows服务管理中停止mysql 服务
2.移除 mysql服务 sc delete mysql 或 mysqld -remove mysql
3.删除mysql 的压缩包。
对于Mysql installer 这种方式安装的MySQL,可能还需要清理注册表
方案: 把my.ini中basedir和datadir路径中的“\”改为“/” 可以解决该问题
方案: 1. 提示MySQL服务没有启动,net start mysql 开启mysql服务。如果提示服务不存在则安装服务
2. mysql 服务没有安装, mysqld --install 安装服务
方案:使用管理员权限启动cmd 就可以了,搜索cmd右键点击选择以管理员身份运行
1. 密码或用户名不正确 。2。mysql 刚安装时,root 用户没有初始密码的缘故
使用命令 flush privileges; 然后再修改密码
方案:
删除服务 mysqld -remove mysql ,如果提示 Failed to remove the service。或者使用 sc delete mysql 删除服务,提示
[SC] DeleteService 失败 1072: 指定的服务已标记为删除。则看一下是否打开了服务窗口(services.msc)。如果打开了关闭窗口重试即可