MySQL 问题整理

MySQL 问题整理

    • 启动报错:ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)
    • MySQL 无法启动 服务没有报告任何错误
    • ERROR 1045 Access denied for user 'xxx' NO
    • 服务命令

启动报错:ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost’ (10061)

登录 MySQL 的主机时,打开 cmd 命令行工具,执行命令 mysql -uroot -p,出现如下错误:

ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost’ (10061)

解决方法:

在计算机管理中找到【服务】(或者直接在运行中输入 services.msc 按回车直接打开服务窗口),在服务检查 MySQL 服务是否存在。

如果不存在使用 mysqld -install 安装服务。已经安装了 MySQL 服务,则会提示 The service already exists

安装服务后,点启动服务就会解决此问题。还可以通过命令启动 MySQL 服务。

net start mysql  // 启动服务
net stop mysql  // 停止服务

MySQL 无法启动 服务没有报告任何错误

启动 MySQL 服务时,没有报告任何错误。配置完 my.ini (自己的mysql配置文件)后不能自己创建一个 data 文件夹。

MySQL 问题整理_第1张图片
配置完 datadir 属性后觉得这个存储数据的文件夹路径没有呀,自己动手建一个呗。错就错在这里,不能动手建,你自己动手建的 data 文件夹里怎么可能有mysql启动所需要的表结构配置文件呢。

MySQL 问题整理_第2张图片

解决方法:

先在 MySQLbin 目录下执行 mysqld --initialize-insecure 命令。

mysqld  --initialize-insecure

or

.\mysqld.exe --initialize-insecure  // windwos

第一次执行这个命令会等待的时间稍微长了一些,并且控制台没有任何返回结果。可以看到 mysql 的根目录下会多出一个 data 文件夹,里面自动生成了一些文件。然后启动 MySQL 服务就正常了。

注意:没有先执行 mysqld --initialize-insecure ,而是先执行 net start mysql。结果会启动失败。mysql 会自动创建一个 data 文件夹,并在里面初始化一些文件,在再次执行 mysqld -initialize 的时候并没有把 data 文件夹删除。

MySQL 问题整理_第3张图片

此时的解决方案是:删除 data 文件夹,然后执行 mysqld -initialize,再启动 mysql

ERROR 1045 Access denied for user ‘xxx’ NO

mysql 安装完后,输入 mysql 或者 mysql -hlocalhost -uroot -p 出现 ERROR 1045 Access denied for user 'xxx' NO 错误。

原因是新版的 mysql 为了安全性,默认是有密码的。

解决方法:

mysql 默认安装会有密码生成,密码文件直接写在 log-error 日志文件中(在5.6版本中是放在 root/.mysql_secret 文件里,更加隐蔽,不熟悉的话可能会无所适从),MySQL5.7 在安装完后,第一次启动时,会在 root 目录下生产一个随机的密码,文件名为 mysql_secret

登录时需要用随机密码登录,然后通过以下命令修改密码

SET PASSWORD = PASSWORD('new password')

服务命令

安装服务和卸载服务命令

mysqld -install // 安装服务
mysqld -remove mysql  // 卸载服务

你可能感兴趣的:(MySQL,mysql,数据库,database)