mysql8发现没有my.ini文件(遇到其他mysql问题也可来参考)

由于我是zip文件下载的,所以没有my.ini文件

刚开始,我在下载目录下创建了my.ini,但是basedir,datadir忘记修改成自己的了,我对服务器进行了重启,但是这个文件并没有生效,没有出现问题,所以我误认为自己配置成功。但是,在今天我打开数据库时,显示连接不上localhost,所以我进行了一下操作。

突然出现连不上localhost用户,可以尝试先把Data文件夹清空,然后remove mysql80,

重新初始化,记住自动生成的密码,安装服务,登录,修改密码。

但我发现我的my.ini并没生效,所以根本问题个人认为是电脑系统更新,服务器重新初始化启动,文件生效,所以会报错。现在没错,之后在进行重新生成,也会有错。

于是我进行了以下操作,

现在重新配置my.ini文件,把之前的my.ini删除。

操作参考下面文章,在不同操作我遇到了些问题,记录下。

解决Mysql安装之后没有my.ini配置文件问题 - dreamw - 博客园 (cnblogs.com)

第一步,删除服务

  • 管理员身份打开控制台
  • 输入--> sc delete mysql80
  • mysql80是服务的名字,可以在电脑右键->更多->管理->服务中看到。

    第二步,初始化data目录

    data目录下就是放的表数据和表结构,基本的mysql,sys等表都在里面。

    • 我们首先要把data目录中的所有数据删掉
    • 输入:mysqld --initialize-insecure --user=mysql
    • 可以看到data目录中多了很多文件

      第三步,用my.ini文件install服务

      找了很多my.ini在进行后面的开启服务器时,都会报错 --> 服务器开启后停止。但是这个成功了,注意看里面的注释。

      一定要把basedir和datadir改了。

      在桌面新建文档,在mysql安装目录下没办法建文档。把下面的代码复制到文档中,重命名为my.ini  注意保存格式改为ANIS,不要用utf8

      [mysqld]
      # 设置3306端口
      port=3306
       
      # 设置mysql的安装目录
      basedir="C:\Program Files\MySQL\mysql-8.3.0-winx64"
       
      # 设置mysql数据库的数据的存放目录
      #datadir=C:\Program Files\MySQL\mysql-8.3.0-winx64\data  (注释掉,也不要手动创建data文件夹)
      # 允许最大连接数
      max_connections=200
       
      # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
      max_connect_errors=10
       
      # 服务端使用的字符集默认为UTF8
      character-set-server=UTF8MB4
       
      # 创建新表时将使用的默认存储引擎
      default-storage-engine=INNODB
       
      # 默认使用“mysql_native_password”插件认证
      default_authentication_plugin=mysql_native_password
       
      [mysql]
      # 设置mysql客户端默认字符集
      default-character-set=UTF8MB4
       
      [client]
      # 设置mysql客户端连接服务端时默认使用的端口
      port=3306
      default-character-set=UTF8MB4

      输入命令,重新安装mysql服务,同时绑定my.ini配置文件 

      mysqld --install mysql80 --defaults-file="XXX/my.ini"

      第四步,开启服务器 

      输入:net start mysql80

      第五步,修改密码 

      输入 mysql -uroot -p后,显示输入密码,直接回车即可。

      输入下面命令,就可修改密码

      ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';

       关于mysql文件路径

      • 错误日志在C:\Program Files\MySQL\mysql-8.3.0-winx64\data下的err文件 --> 有错误看详细的哪部分错可以来看日志
      • mysql查询文件 C:\Users\huawei\Documents\Navicat\MySQL\Servers 相关笔记可以查到
      • mysql数据库文件 C:\Program Files\MySQL\mysql-8.3.0-winx64\data