• MySQL系列:Windows 下 MySQL 8.X 的安装


    之前一直使用的是MySQL5.7,但由于MySQL增加了一些新特性,所以选择了更新。

    下载MySQL

    进入MySQL官网下载地址,选择Windows (x86, 64-bit), ZIP Archive。

    下载地址:https://dev.mysql.com/downloads/mysql/

    可不用登录,直接跳过。下载过程也许有丢丢慢,耐心等待下。

    下载完成后,直接解压到自己喜欢的位置即可。

    卸载原有版本

    如果之前有安装低版本的MySQL,需要先卸载之前的MySQL。如果没有安装过,可直接跳过该步骤。

    管理员打开cmd,先 net stop mysql 停掉 mysql 服务,然后使用 mysqld remove MySQL 移除MySQL。

    net stop mysql 
    mysqld remove MySQL 
    

    删除注册表信息,以免有时候无法正常安装新版本。以下有就删除,但我在操作时仅仅只有第一个存在。

    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
    

    修改原有MySQL_HOME的环境变量指向新版本位置。

    安装MySQL

    在MySQL的解压目录里,新建data文件夹,并创建my.ini配置文件。

    [mysqld]
    # 设置3306端口
    port=3306
    # 设置mysql的安装目录
    basedir=E:\tools\MySQL\mysql-8.0.18-winx64
    # 设置mysql数据库的数据的存放目录
    datadir=E:\tools\MySQL\mysql-8.0.18-winx64\data
    # 允许最大连接数
    max_connections=3000
    # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
    max_connect_errors=10
    # 服务端使用的字符集默认为UTF8
    character-set-server=utf8
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
    
    [mysql]
    # 设置mysql客户端默认字符集
    default-character-set=utf8
    
    [client]
    # 设置mysql客户端连接服务端时默认使用的端口
    port=3306
    # 设置mysql客户端连接服务端时默认字符集
    default-character-set=utf8
    

    进入bin目录,执行mysqld --initialize --console,执行成功会输出临时密码。

    mysqld --initialize --console
    
    执行成功后会输出: A temporary password is generated for root@localhost: a4lcly4e8f-G
    a4lcly4e8f-G就是临时密码
    

    然后使用该密码就可以进行了,幸运的话,就可以正常进入MySQL。

    登录报错

    如果不幸地,在使用临时密码登录时报错,ERROR 1045 (28000):Access denied for user 'root'@'localhost' (using password: YES)。

    遇到此问题,需要跳过密码校验。

    先停掉MySQL服务:net stop mysql

    在MySQL安装路径的bin目录,输入mysqld --console --skip-grant-tables --shared-memory,此时cmd窗口会被挂起,也就是看起来卡住一样,不用担心,这是正常现象。

    然后再打开另一个窗口,同样是MySQL安装路径的bin目录,直接输入mysql,在执行use mysql。

    使用flush privileges刷新权限,再alter user'root'@'localhost' IDENTIFIED BY '1234';更改密码。

    保险起见,再次使用flush privileges刷新权限。

    关闭窗口,使用刚刚的密码重新连接MySQL:mysql -u root -p,然后再输入密码。若显示服务未启动,需先启动MySQL服务,输入net start mysql。

    # 关闭MySQL
    net stop mysql
    
    # 跳过权限校验
    mysqld --console --skip-grant-tables --shared-memory
    
    # 刷新权限
    flush privileges
    
    # --skip-grant-tables模式下连接MySQL
    mysql
    
    # 使用系统mysql库
    use mysql
    
    # 更改密码
    alter user 'root'@'localhost' IDENTIFIED BY '1234';
    
    # 刷新权限
    flush privileges
    
    # 连接MySQL,-u、-p后空格可省略,-p后可不输入密码,再回车后再键入密码,这样更安全
    mysql -u root -p 1234
    
    # 退出MySQL
    q
    exit
    quit
    
  • 相关阅读:
    好题记录
    「同余数论」学习笔记
    「网络流」学习笔记
    物理知识相关内容总结
    「多项式」学习笔记
    「数论函数」学习笔记
    「点分治」学习笔记
    「线性基」学习笔记
    「后缀自动机」学习笔记
    「后缀数组」学习笔记
  • 原文地址:https://www.cnblogs.com/imyanger/p/11854151.html
Copyright © 2020-2023  润新知