分享一下今天重装mysql的经验

1、卸载mysql
清除mysql注册表中的记录,首先win+r 进入注册表编辑器,


        分别删除


HKEY_LOCAL_MACHINE > SYSTEM > ControlSet001 > services > MySql
        HKEY_LOCAL_MACHINE > SYSTEM > ControlSet002 > services > MySql    
        HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > services > MySql


        这3处


        这个时候你会发现你的mysql服务不能再启动了,


        此处电脑可能要重启一下,其实我也不确定,然重启后mysql的服务就彻底消失了


2、下载mysql解压缩版的压缩包

        mysql官网:https://www.mysql.com/

        下载页面:https://dev.mysql.com/downloads/mysql/

        下载地址:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22-winx64.zip



         可以看到我下载的是5.7.22 64位的版本


3、解压并初始化


        比如 我是新建了一个目录 D:\install\mysql


        然后解压缩后重命名为mysql5.7,这个时候bin目录的路径是D:\install\mysql\mysql5.7\bin


        然后将这个目录添加到系统环境变量中


        可以在cmd执行下mysqld,如果打印mysqld不是内部和外部命令的话,那就是环境变量没配好,


        或者 你可以 不配置环境变量, 只是接下来的命令 你都要切换到 D:\install\mysql\mysql5.7\bin 目录下执行,这也就是环境变量的作用体现,


        好了不多说了,接下来配置 my.ini ,  在网上看到很多都是说解压出来就有my-default.ini,但我的没有,反正也没关系,


        自己在安装目录下 建一个my.ini 文件就好了,内容可以参考下我这份:


        [mysql] 
        # 设置mysql客户端默认字符集 
        default-character-set=utf8  
        [mysqld] 
        #设置3306端口 
        port = 3306  
        # 设置mysql的安装目录 
        basedir = D:\install\mysql\mysql5.7 # ${自己的安装目录}
        # 设置mysql数据库的数据的存放目录 
        datadir = D:\install\mysql\mysql5.7\data #${ 数据库文件的存放位置}


注意,这个data目录不要自己创建,因为在接下来的初始化中会自己创建,并生成系统表文件

# 允许最大连接数  
 
        max_connections = 200  
 
        # 服务端使用的字符集默认为8比特编码的latin1字符集  
 
        character-set-server = utf8  
 
        # 创建新表时将使用的默认存储引擎  
 
        default-storage-engine = INNODB 
 

          # 设置最大允许执行64M大小的sql脚本 
 
        max_allowed_packet = 64M  
  
 
 
 
mysqld  --initialize-insecure 
        执行完后会生成data目录

,目录下有三个系统表的文件夹

        

mysql 解压版 安装 windows mysql解压缩版安装_初始化

mysqld -install

        最后 net start mysql 

       如果这步不能启动的话,不是my.ini 配置文件的问题,就是data目录内容不完整的原因

        正常的话, 就登陆mysql 初始化一下密码

        mysql  -uroot -p

        这步不输密码直接回车

        就可以进入mysql命令行了

        修改下密码

        alter user 'root'@'localhost' identified by '${换成新密码}' password expire never;

        exit退出,在次登录就需要用这个密码登录了