安装数据库遇到的问题【个人记录】

问题1:
net start mysql 启动服务失败
1.显示没有创建服务,虽然解决后,仍然无法启动mysql
2.在bin目录下通过mysqld --console查看错误信息,最后排查3306端口被占用
解决:
1.第一种方法
1)删掉mysql目录下data目录
2)执行指令:
mysqld -remove MySQL 移除已错误安装的mysqld服务
mysqld --initialize-insecure 初始化mysql服务数据
mysqld --install 安装mysql服务
net start mysql mysql服务启动
2.第二种方法【第一种解决不行,多半是第二种的端口占用问题】
1)netstat -aon|findstr “3306” 查看端口使用情况
2)taskkill /F /pid ***** 强制终止正在执行的进程

问题2:
修改mysql密码,报语法错误
这里我安装的是mysql8.0版本,navicat用的12.0的版本。
至于为什么需要修改密码,因为直接通过离线安装包安装mysql,在最后一步的测试中使用的本地服务安装,也就是跳过了测试的步骤,之后登录是没有密码的,需要重新设置。
解决:
这里的操作都是在mysql的bin文件夹下打开命令行窗口
错误方法使用:【我用这种直接语法错误】
mysql> set password for 用户名@localhost = password(‘新密码’);
update mysql.user set authentication_string=password(“123456”) where user=“root”;
以上两种都修改失败!!!
成功修改的方法:
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘新密码’;
修改成功!!!

问题3:
navcat12无法连接mysql8.0以后版本的数据库,报错2059。
原因:
mysql8之前的版本中加密规则为mysql_native_password
而在mysql8以后的加密规则为caching_sha2_password
因此需要将mysql用户登录的加密规则修改为mysql_native_password
解决:
修改加密规则及密码,刷新:
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘你的mysql密码’ PASSWORD EXPIRE NEVER;
修改密码:
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘你的mysql密码’;
刷新数据:
FLUSH PRIVILEGES;
之后在navicat12就可以建立连接成功。

问题4:
navcat管理用户误删除只留下了root超级管理员,导致新建数据库和默认数据库无法访问。
这里是我以为,我安装只创建了root数据库管理员,但连接上navicat12后,有几个默认的数据,也多出来几个默认的数据库管理员,当时理解是只要一个管理员有所有权限就可以管理访问任意一个数据库,因此尝试删除了另外几个管理员,只留下了我的root管理员。
之后就喜闻见乐,数据库访问不了,报错,而且退出数据库,之后数据库都访问不进去了。
报错信息:
Error:The user specified as a definer (‘mysql.infoschema’@’localhost’) does not exist
解决:
网上有说重装系统,重装数据库的,我安装了一天,配置完了一切,又重装,太心累了。
尝试按照报错信息去解决,毕竟我还留下了root管理员。
最终成功解决方法:
新建该管理员,并赋予权限
命令行窗口登录mysql
具体操作,直接命令行窗口连接【我这里是能通过root用户在本地连接数据库的,只是navicat图形界面连接不了数据库】,之后输入指令
create user ‘mysql.infoschema’@‘localhost’ identified by ‘123456’;
grant all on . to ‘mysql.infoschema’@‘localhost’;
之后可以通过select user,host from mysql.user; 查看是否创建成功。
退出数据库,此时navicat就可以连接数据库了。
不过有个疑惑:
之前默认的数据库管理员有3个【不包括root】,现在只是创建了一个就解决问题了。
可能创建该管理后,赋予的权限包括了之前几个管理的权限,这里和前面说的有点矛盾,后面慢慢学,现在就这样,问题解决了。

问题5:
mysql80启动后,有两个服务
一个是MySQL,一个是MYSQL80。
注意:不能删除任意一个服务。
原因:
MYSQL80服务是安装解压包时自动安装的,MySQL服务是你自己又初始化后安装的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沐沐茶壶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值