MySQL卸载与安装
说点废话
可能是岁数大了,总是出现看过的内容,过一段时间不看都忘了。俗话说:好记性不如烂笔头。我决定把我遇到的问题和怎样解决这些问题好好整理一下。
缘由
本来是想做一次mysql从5.0.X到8.0.X的原地升级,没想到升级失败,所以干脆使用最粗暴的方式,卸载再重新安装。
MySQL的卸载
卸载mysql一定要完全卸载,要不安装的时候服务会一直起不来,因为你想要使用的是现在版本,而注册表里面的服务还是原来的版本。
一.卸载程序
首先,先在任务管理器的服务里停掉MySQL的服务。打开控制面板->卸载程序,找到MySQL,卸载。
二.卸载残余目录文件(反复找找以防万一)
1.删除C:\Program Files (x86)\MySQL该目录下的剩余所有文件,直接删除MySQL文件就行,防止有隐藏文件没完全删除(要是MySQL安装不在c盘 ,找到位置把整个mysql文件全部删除)
2.删除C盘下的C:\ProgramData\MySQL 所有文件,直接删除MySQL整个文件就行
3. C:\Documents and Settings\All Users\Application Data\MySQL
三.windows+R运行“regedit”文件,打开注册表(仔细找)
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl001\Services\MYSQL
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl002\Services\MYSQL
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MYSQL
安装MySQL(我的版本是5.7.26)
参考mysql安装
sc mysql delete #删除目前是否有执行的mysql
在目录下新建my.ini
mysqld --initialize #自动生成data文件夹
mysqld --initialize -insecure #无密码启动
mysqld --install #安装
net start mysql #启动mysql
1.如果执行初始化出现这个bug
修改my.ini文件,看你的
设置mysql的安装目录
basedir=D:\\mysql8.0.25-winx64\\
设置mysql数据库的数据的存放目录
datadir=D:\\mysql8.0.25-winx64\\data\\ 错误的文件路径是否一致 确保填写的和打印出来的路径一致
2.如果执行net start mysql,出现这样的bug
看任务管理器里面的服务是否有MySQL,手动执行一下看可以不,不可以的闪退的话把注册表删除一下,把文件生成的data文件删除 ,bin目录下执行sc delete mysql ,重复卸载的过程,然后重新安装就可以了。
3.如果出现Access denied for user ‘root’@‘localhost’ (using password: YES)的bug
在data同级目录下建立mysqlc.txt,里面写
alter user 'root'@'localhost' identified by 'root';
然后关闭mysql net stop mysql ,再开启一个cmd页面以
mysqld --init-file=安装路径\mysqlc.txt --console
直到出现3306字眼然后关闭页面(否则会出现服务无法启动)
再开启服务就可以了net start mysql
Navicat无法连接MySQL
1251 Client does not support authentication protocol requested by server; consider upgrading MySQL client
再次进入mysql命令行,在b安装目录的bin目录下执行(其中root是自己的密码)
mysql -u root -p
输入密码:root
USE mysql;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
FLUSH PRIVILEGES;
idea代码连接数据库一直报错
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.
主要是mysql驱动和pom文件
JDBC连接Mysql驱动6以上
spring:
datasource:
name: dataworks
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/XXX?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
username: root
password: root
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.21</version>
</dependency>
JDBC连接Mysql驱动5
spring:
datasource:
name: dataworks
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/dkn?useUnicode=true&characterEncoding=utf-8&useSSL=true
username: root
password: root
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.34</version>
</dependency>
mysql5和mysql8的区别
据说8.的数据库的运行速度能达到5.的数倍
1、驱动的不同
5.:com.mysql.jdbc.Driver
8.:com.mysql.cj.jdbc.Dreiver
2、协议的内容
5.:jdbc:mysql://localhost:3306?db_数据库名
8.:jdbc:mysql://localhost:3306?db_数据库名&zoneTime=UTC