美文网首页
记一次安装 MySQL 的过程

记一次安装 MySQL 的过程

作者: suanite | 来源:发表于2018-03-07 00:35 被阅读0次

    记一次安装 MySQL 的过程

    一直以来我用的 MySQL 都是从官网下载的zip压缩包,解压后自己配置的。但是这次安装时遇到了几个坑,特别在这里记录一下。

    再次更新, 今天安装 MySQL 8.0.11 , 也记录一下安装的过程, 对文章做一下修改.

    新建配置文件

    自从 MySQL-5.7.18 之后官网提供的压缩包就没有 my-default.ini 的配置文件。所以需要自己新建配置文件 my.ini,放在 MySQL 的根目录下。

    配置文件的内容如下:

    [mysql]
    
    # 设置 mysql 客户端默认字符集
    
    default-character-set=utf8mb4
    
    [mysqld]
    
    # 设置 3306 端口
    
    port=3306
    
    # 设置 mysql 的安装目录
    
    basedir=C:\Program Files\mysql-8.0.11
    
    # 设置 mysql 数据库的数据的存放目录
    
    datadir=C:\Program Files\mysql-8.0.11\data
    
    # 允许最大连接数
    
    max_connections=200
    
    # 服务端使用的字符集默认 utf8
    
    character-set-server=utf8mb4
    
    # 创建新表时将使用的默认存储引擎
    
    default-storage-engine=INNODB
    

    注意配置文件在保存时编码为 ansi,否则会报错误。(不知道是不是真的...)

    添加环境变量

    修改系统变量 Path,加上 MySQL 的 bin 路径,此处为 C:\Program Files\mysql-8.0.11\bin

    安装 MySQL 的服务

    以管理员权限打开cmd,进入 C:\Program Files\mysql-8.0.11\bin 目录下,输入服务安装命令:

    mysqld install MySQL --defaults-file="C:\Program Files\mysql-8.0.11\my.ini"
    

    相对应的, 卸载服务命令为

    mysqld -remove
    

    然后自动生成 root 用户,可以不带密码:

    mysqld --initialize-insecure
    

    或者带随机密码:

    mysqld --initialize
    

    随机密码被保存在错误日志里,位于(前面配置好的datadir)数据文件夹下,文件名为:主机名.err

    建议用 --initialize-insecure 参数生成不带密码的 root 用户, 因为后面用客户端连接时很有可能出现caching-sha2-password 问题, 到时候还是要修改密码的. 题外话, 以前安装 MySQL 时没有理解 mysqld --initialize 的意义, 还以为是我忘记密码了, 搞得只能进安装模式重置 root 密码.

    注意:如果要重新初始化,必须先清空data文件夹。

    然后执行

    net start mysql
    

    无密码进入 MySQL:

    mysql -u root
    

    有密码进入 MySQL:

    mysql -u root -p
    

    遇到的坑

    客户端连接如果出现 caching-sha2-password 问题

    我在使用 DBeaver 连接 MySQL 时会提示 caching-sha2-password 问题,死活建立不上连接。但是我在 cmd 中又可以用密码成功登录。解决方案就是重新修改密码:

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';      # 更新一下用户的密码
    FLUSH PRIVILEGES;   # 刷新权限
    

    提示服务已存在的错误

    今天安装 8.0 正式版时提示服务已存在的错误. 我是直接手动删除以前的 MySQL 文件, 应该是没有卸载干净, 可以在 cmd 下看有没有 MySQL 的服务名.

    sc query mysql

    如果有,就删除它

    sc delete mysql

    然后再按照之前的步骤配置 MySQL.

    相关文章

      网友评论

          本文标题:记一次安装 MySQL 的过程

          本文链接:https://www.haomeiwen.com/subject/nwydfftx.html