zoukankan      html  css  js  c++  java
  • window10安装不同版本的mysql(5.7和8.0.25)

    原本已安装mysql5.7,现在想再安装一个8.0,原本以为只是改一下端口而已,但是在这个过程出现了很多问题,然后我尝试了很多种过程,在这里就讲一下自己的最后一遍,可能和网上别人的步骤有点出入。

    先把之前的5.7的服务关掉,在任务管理器的服务一栏可以找到

    1、下载mysql8.0的解压版

    1.1、链接:MySQL :: Download MySQL Community Server

     1.2、解压

    1.3、文件内容准备(开始没有data和my.ini文件)。

    1.3.1、创建并编辑my.ini文件

    这里为mysql8设置3307端口,因为5.7版本的占用了3306端口。

    可以进入cmd(不需要管理员权限):输入   Netstat -ano|findstr 3307  查看3307是否被占用,没有则什么都不会返回,我们就可以使用这个端口

    [mysqld]
    # 这里设置3307端口
    port=3307
    # 设置mysql的安装目录
    basedir=D:MySQLmysql-8.0.25-winx64
    # 设置mysql数据库的数据的存放目录
    datadir=D:MySQLmysql-8.0.25-winx64data
    # 允许最大连接数
    max_connections=200
    # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
    max_connect_errors=10
    # 服务端使用的字符集默认为UTF8
    character-set-server=utf8
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
    # 默认使用“mysql_native_password”插件认证
    default_authentication_plugin=mysql_native_password
    [mysql]
    # 设置mysql客户端默认字符集
    default-character-set=utf8
    [client]
    # 设置mysql客户端连接服务端时默认使用的端口
    default-character-set=utf8

    1.3.2、增加环境变量

    右键电脑->属性->高级系统设置->环境变量->找到path->添加路径(D:MySQLmysql-8.0.25-winx64in),路径看自己的安装情况,主要就是方便后面在cmd中的切换,也可以不用设置

    1.3.3、多安装一个mysql是很玄学的事情,就比如从这里开始。网上大多数情况都是不能手动添加data文件的,不然会报一个错误,所以我这里从一开始就没有自己创建过,都是等运行命令mysqld --initialize --console才让它自己生成data文件。然后这里我就说一下自己最后一遍的做法(成功案例),因为我一直在重复这个步骤,一直报错,说什么无法连接到localhost,我也不知道具体哪一步我错了,最后一次我成功了,我重头开始,换成开始就创建了一个空的data文件夹

     

     点击左下角的window图标,输入cmd,选择以管理员身份运行(不然权限不够)

    输入路径可以快速切换到bin目录

    输入命令mysqld --initialize --console

    此时在之前创建的空data目录多了很多文件

     然后会生成一个首次登陆的密码串(记得先保留下来):

    不包含最前面的空格,有时候最后一个字符可能是分号“ ; ”,它也是密码的一部分,要一起输进去

    如果看不清是英文字母“ l ”还是阿拉伯数字“ 1 ”,两者在cmd界面长得太像了,介意直接复制粘贴,或者复制到微信输入框,可以辨别清楚

     创建服务:mysqld --install mysql8(mysql8主要就是为了和之前5.7版本的服务名区分开来),然后开始服务:net start mysql8

    在这里可能出现服务无法启动的情况:

    首先win+r,输入  regedit   打开注册表,寻找路径:计算机HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesmysql8

    修改imagePath的数据部分,格式和5.7版本的一样,我的5.7版本则是在上面的MySQL,可以打开查考一下

     开启服务成功之后就要去登录数据库了:mysql -uroot -P3307 -pC6.d5B;pt-v1

    mysql -uroot -P3307 -p(前面生成的很奇怪的初始密码)

    最后这一波操作就很灵性了,也是玄学之一。

    如图所示,我被这个错误折磨了一下午ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost:3307' (10061),网上的那些也说得奇奇怪怪,感觉和没说一样,然后我就试着停止服务,开始服务之后,再登录一次,居然成功了!!!芜湖起飞!!!可以看到,我什么都没改,却又成功了,停止和开启mysql8服务这个操作我试了半天了,试了无数次了,却在这个时候可以了。然后它为什么可以了,它和前面的操作的差别就在于上面所提到的的,我自己先创了一个空的data目录,,,一个一直被喷的做法却救了我,想无。

     既然进来mysql8数据库了,就修改一下密码(最后的记得分号):

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'xxxx';

     希望对你们有帮助,在这里我就建议就多试试,多试一下不同的安装过程,不要那么死板,一堆人说不可以这么做你就不敢或者不想去自己试一下,(其实要不是自己走投无路了,我也不会去试一试哈哈哈),反正data文件夹随便删,它不影响整体,还可以一直被创建。

    两个服务同时开启互不影响

    登陆的时候只要提供不同的端口即可

    mysql -uroot -P3307 -p

    mysql -uroot -P3306 -p

     

  • 相关阅读:
    mirco新建proto流程
    Ubuntu默认防火墙安装、启用、配置、端口、查看状态相关信息
    Rails核心组件
    Ruby中文乱码问题
    python str转dict
    SQLserver AwaysOn日志文件过大,处理办法
    MySQL的一些小细节
    mysql删除表中重复值
    可恶的自增长标识符
    reset slave all更彻底
  • 原文地址:https://www.cnblogs.com/nilonger/p/15004119.html
Copyright © 2011-2022 走看看