zoukankan      html  css  js  c++  java
  • MySQL8.0.11安装后,使用CMD无法启动mysql服务

    首先,先把mysql的bin路径添加到系统环境变量

    这样做可以,直接进入CMD后执行mysql服务,不需要进入mysql的bin文件路径去执行。

     第一步:在MySQL的安装文件的bin目录(例如:C:Program FilesMySQLMySQL Server 8.0in)中新建一个my.ini的文件,复制进代码

    [mysqld]
    #skip-grant-tables
    # 设置3306端口
    port=3306
    # 设置mysql的安装目录
    basedir=C:Program FilesMySQLMySQL Server 8.0
    # 设置mysql数据库的数据的存放目录
    datadir=C:Program FilesMySQLMySQL Server 8.0data
    # 允许最大连接数
    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客户端连接服务端时默认使用的端口
    port=3306
    default-character-set=utf8

    把其中的两处工作路径改为自己的按照路径(这里可以自己创建一个data文件夹)

    # 设置mysql的安装目录
    basedir=C:Program FilesMySQLMySQL Server 8.0
    # 设置mysql数据库的数据的存放目录
    datadir=C:Program FilesMySQLMySQL Server 8.0data

    第二步:在CMD中执行 mysqld --initialize-insecure 指令,安装路径会默认生成一个data文件夹

    第三步: 在CMD输入mysqld --install指令,安装mysql服务

    之后会提示安装成功。

    第四步:在CMD输入net start mysql,启动服务,这里如果显示服务启动成功代表安装成功。

    若出现:正在启动服务,服务无法启动的错误。
    
    【解决办法】:
    
    (1)可以输入mysqld --console 启动 查看启动的报错信息,博主的报错信息是3306 端口已经被另一个服务占用,该次启动无法进行。这是问题的关键所在。
    
    (2)去查找3306被谁占用了。步骤如下:
    
    开始-运行-cmd, 输入 netstat -ano, 看第一列,后面的就是端口,找到3306 ,记住对应的PID
    
    然后打开任务管理器查看 -> 选择列 -> 勾上 PID(进程标识符) -> 确定 
    
    在任务管理器找到刚才的PID的进程,查看是什么程序占用了端口,把它关闭
    
    在重新启动mysql就不会包端口被占用的错误了
    
    (3)重新先用msqld --remove 删除掉服务,再把data文件夹也删除,重新执行以下三条指令即可完成
    
    mysqld --initialize-insecure
    
    mysqld --install
    
    net start mysql

    在CMD执行mysql -u root,(无需密码, 即可进入),因为上边是用insecure 创建的。

    这样就可以启动mysql服务了。

    如果想修改密码的话,

    在安装MySQL的bin目录下,找my.ini文件;

    在[mysqld]后添加skip-grant-tables

    #使其登录时跳过权限检查

    重启MySQL服务器

     

    这时可以键入mysql –u root –p;直接回车(Enter),就可以直接进入数据库。(可以不执行,直接进行密码修改)

    在CMD执行mysqladmin -u root -p password

     再把my.ini的skip-grant-tables删除,然后重启MySQL服务器:

    net stop mysql ;

    net start mysql;

  • 相关阅读:
    @JsonFormat和@DateTimeFormat 实践测试
    spring jpa CrudRepository save 新建数据没有返回id
    多线程处理pdf附件转换
    contentsize ,ios 7和 ios7之前的 有点差别,
    区别,
    裁切图片,
    transform,
    简洁代码,
    这个系统,流程,入口,业务逻辑,
    pop,pop,如果break,会pop两次,
  • 原文地址:https://www.cnblogs.com/ming-4/p/11458039.html
Copyright © 2011-2022 走看看