MYSQL服务不能启动
- 格式:doc
- 大小:56.00 KB
- 文档页数:14
无论安装何版本的mysql,在管理工具的服务中启动mysql服务时都会在中途报错。
内容为:在本地计算机无法启动mysql服务错误1067:进程意外中止。
经过多方求教,得解决方法如下查找系统(后来验证应该为windows目录)目录下的my.ini文件,编辑内容(如果没有该文件,则新建一个),至少包含basedir,datadir这两个基本的配置。
[mysqld]# set basedir to installation path, e.g., c:/mysql# 设置为MYSQL的安装目录basedir=D:/www/WebServer/MySQL# set datadir to location of data directory,# e.g., c:/mysql/data or d:/mydata/data# 设置为MYSQL的数据目录datadir=D:/www/WebServer/MySQL/data另外,要主意[WinMySQLadmin]Server=D:/www/WebServer/MySQL/bin/mysqld-nt.exeuser=rootpassword=xxxxxxxx#以上是设置WinMySQLadmin的配置[Client]user=rootpassword=xxxxxxxxhehe~ :) 解决了my.ini 文件内容如下.我自己改的,就好了,嘿嘿[mysqld]# set basedir to installation path, e.g., D:/mysql# 设置为MYSQL的安装目录basedir=D:/mysql# set datadir to location of data directory,# e.g., d:/mysql/data or d:/mysql/mydata/data# 设置为MYSQL的数据目录datadir=D:/MySQL/data。
MySQL⽆法启动⼏种常见问题⼩结昨天在群⾥看到有新同学还在问MySQL⽆法启动的问题,于是总结了⼏个常见情况,权当普及帖了,⽼鸟⾃觉飞过。
MySQL的$datadir⽬录,及其下属⽬录、⽂件权限属性设置不正确,导致MySQL⽆法正常读写⽂件,⽆法启动。
错误信息例如:复制代码代码如下:[code]mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data/usr/local/mysql/bin/mysqld_safe: line 107: /usr/local/mysql/data/imysql.local.err: Permission denied已有其他mysqld实例启动,且占⽤了相同端⼝,需要修改 port 选项。
错误信息例如:复制代码代码如下:[ERROR] Can't start server: Bind on TCP/IP port: Address already in use[ERROR] Do you already have another mysqld server running on port: 3306 ?[ERROR] Abortinginnodb中关于datafile、log file设置不正确,导致⽆法启动。
尤其是第⼀次⽤默认参数启动过,后来⼜参考⼀些优化指南后,修改了innodb的参数,会提⽰different size,详细错误例如:复制代码代码如下:InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytesInnoDB: than specified in the .cnf file 0 134217728 bytes![ERROR] Plugin ‘InnoDB' init function returned error.[ERROR] Plugin ‘InnoDB' registration as a STORAGE ENGINE failed.MySQL安装完后,需要运⾏mysql_install_db初始化mysql这个系统库,才能正常启动。
Mysql服务简单来讲就是我们在使用数据库建表时需要用到的服务,但在使用的时候常常会遇到无法启动的问题,那么对于这一问题应该如何解决呢?
1、找到mysql安装目录,将其配置文件my.default.ini改名为my.ini,并且将my.ini移至bin目录下。
2、启动命令行,将目录切换到mysql安装目录的bin目录下。
3、接下来,在命令行执行命令:mysqld --initialize --user=mysql
--console
4、注意,上一个步骤会获得一个临时密码,需要记录,之后会用到。
5、接下来在控制台以命令行输入:mysqld --install,进行安装服务操作。
6、之后,在任务管理器找到“服务”,启动其中的MYSQL服务即可。
7、然后,输入命令行mysql -uroot -p,利用之前的临时密码输入即可登录数据库成功。
8、修改临时密码,设置密码:mysqladmin -u USER -p password PASSWORD,注意USER和PASSWORD为自己定义的数值。
以上就是有关mysql服务启动不了的具体解决办法,希望对大家有所帮助。
LinuxMySQL常见⽆法启动或启动异常的解决⽅案Linux MySQL 常见⽆法启动或启动异常的解决⽅案 在 Linux 上⾃建 MySQL 服务器,经常遇到各种⽆法启动或启动后异常的问题,本⽂列举⼀些常见问题的解决办法。
注意:以下错误⽇志提⽰,都是查看 MySQL 错误⽇志得到,查看⽅法如下: 查看下 MySQL 配置⽂件 f 中有记录,⽇志记录在 /alidata/log/mysql/error.log 下 MySQL 配置⽂件 f 权限问题导致⽆法启动,错误提⽰:World-writable config file '/etc/f' is ignored Binlog 丢失导致⽆法启动,错误⽇志: File './mysql-bin.000001' not found Binlog ⽆法读取导致⽆法启动,错误⽇志:Failed to open log (file './mysql-bin.000001', errno 13) 不能创建 PID 导致⽆法启动,错误⽇志:Can't start server: can't create PID file: No such file or directory 不能创建临时⽂件导致⽆法启动,错误⽇志:mysqld: Can't create/write to file '/tmp/ibfguTtC' (Errcode: 13) MySQL 服务⽆法识别导致⽆法启动,错误提⽰:mysqld: unrecognized service MySQL 配置了过⼤的内存导致⽆法启动,错误⽇志:InnoDB: Cannot allocate memory for the buffer pool MySQL 启动参数过多导致⽆法启动,错误提⽰:Too many arguments (first extra is 'start') MySQL ⽬录权限问题导致⽆法启动,错误⽇志:File './mysql-bin.index' not found (Errcode:13 - Permission denied) MySQL 未初始化导致⽆法启动,错误提⽰:can't open the mysql.plugin table MySQL 启动成功但未监听端⼝ MySQL ibdata1权限问题导致⽆法启动,错误⽇志:InnoDB Operating system error number 13 in a file operation 磁盘空间满导致 MySQL ⽆法启动 进程残留导致 MySQL ⽆法启动 MySQL 服务⾃动停⽌ MySQL 配置⽂件 f 权限问题导致⽆法启动,错误提⽰:World-writable config file '/etc/f' is ignored 问题描述 主机 Linux MySQL ⽆法启动,报如下错误: 问题分析 查看 MySQL 错误⽇志发现如下错误(提⽰ MySQL 库的 host 表⽆法打开): 查看 /etc/f 配置⽂件: 到 MySQL 数据库所在⽬录查看表是否存在: 发现 MySQL 库的 host 表是存在的,那为什么会提⽰不存在呢? 问题应该出在 /etc/f ⽂件上,从第⼀个截图也可以看到警告信息(/etc/f 被忽视) 查看⽂件权限: 原来⽂件权限被设置成 777,因安全问题导致被 MySQL 忽视,所以去查询默认的数据库存放路径,没有 MySQL 库的 host 表导致启动失败: 解决办法 将 /etc/f 权限修改成 644,然后启动 MySQL 即可: Binlog 丢失导致⽆法启动,错误⽇志: File './mysql-bin.000001' not found 问题描述 清理磁盘空间时删除了全部 binglog ⽇志,导致 MySQL ⽆法启动: MySQL 的 errorlog ⾥⾯可以看到错误信息: 解决办法 1、注释 Binlog 配置恢复⽅法: 编辑 /etc/f,找到 log-bin=mysql-bin,在前⾯加#将其注释暂时关闭 binlog,保存修改后启动 MySQL 服务 注意:f 配置⽂件路径以实际调⽤路径为准 2、清理 Binlog 索引恢复⽅法: 查看 Binlog 索引⽂件 所以,需要清空 mysql-bin.index 索引⽂件后即可,清理⽅法可以通过 vi 或者 echo 命令清理,如下: echo “” > mysql-bin.index 去除 Binlog ⽇志索引⽂件中调⽤的内容后,测试启动成功。
CentOS7安装mysql后⽆法启动服务,提⽰Unitnotfound1、最近在centos7上⾯进⾏mysql安装完成后,⽆法启动,报如下错误:Failed to start mysql.server.service: Unit not found.3、解决办法⼀:使⽤MariaDB代替mysql数据库(MariaDB数据库管理系统是MySQL的⼀个分⽀,主要由开源社区在维护,采⽤GPL授权许可。
开发这个分⽀的原因之⼀是:甲⾻⽂公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采⽤分⽀的⽅式来避开这个风险。
)# yum install mariadb-server -y //如果已安装可以省略# systemctl start mariadb.service //启动服务# systemctl enable mariadb.service //开机启动服务# mysql -u root -p //登录mysql解决办法⼆:这个⽅法就是在 /etc/systemd/system/mysqld.service 添加Unit,既然错误提⽰找不到Unit那我们添加⼀个就好了。
在 /etc/systemd/system/mysqld.service下添加如下内容[Unit]Description=MySQL ServerAfter=network.target[Service]ExecStart=/usr/bin/mysqld --defaults-file=/etc/mysql/f --datadir=/var/lib/mysql --socket=/var/run/mysqld/mysqld.sock User=mysqlGroup=mysqlWorkingDirectory=/usr[Install]WantedBy=multi-user.target然后运⾏systemctl daemon-reload使⽤重启命令:systemctl start mysql.service。
mysql启动时报错:StartingMySQL...ERROR!Theserverqui。
出现问题的可能性1、可能是/opt/mysql/data/数据⽬录mysql⽤户没有权限(修改数据⽬录的权限)解决⽅法:给予权限,执⾏ "chown -R mysql.mysql /opt/mysql/data" 然后重新启动mysqld2、可能进程⾥已经存在mysql进程解决⽅法:⽤命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使⽤“kill -9 进程号”杀死,然后重新启动mysqld!3、可能是第⼆次在机器上安装mysql,有残余数据影响了服务的启动。
解决⽅法:去mysql的⼆进制⽇志⽬录看看,如果存在mysql-binlog.index,就赶快把它删除掉吧4、mysql在启动时没有指定配置⽂件时会使⽤/etc/f配置⽂件,请打开这个⽂件查看在[mysqld]下有没有指定数据⽬录(datadir)。
解决⽅法:请在[mysqld]下设置这⼀⾏:datadir = /opt/mysql/data5、skip-federated字段问题解决⽅法:检查⼀下/etc/f⽂件中有没有没被注释掉的skip-federated字段,如果有就⽴即注释掉吧。
6、错误⽇志⽬录不存在解决⽅法:使⽤“chown” “chmod”命令赋予mysql所有者及权限7、selinux惹的祸,如果是centos系统,默认会开启selinux1 2解决⽅法:先临时改为警告模式:[root@www php]# setenforce 0然后打开/etc/sysconfig/selinux,把SELINUX=enforcing改为SELINUX=disabled8、启动失败注意检查数据⽬录的权限,要与mysql程序运⾏⽤户权限⼀致。
1[root@db01 mysql]# chown -R mysql.mysql ../mysql 最好是整个mysql程序⽬录都授权予mysql⽤户。
MYSQL服务不能启动
MySQL服务无法启动的原因可能有很多,下面列举了一些常见的原因
和解决方法。
2.数据库文件损坏:MySQL的数据存储在数据目录下的文件中,如果
这些文件损坏或丢失,MySQL无法启动。
可以尝试使用备份文件恢复数据
库文件,或者使用MySQL自带的修复工具进行修复。
4.内存不足:如果服务器的内存不足,MySQL可能无法启动。
可以尝
试释放一些内存空间,或者增加服务器的物理内存。
6.权限问题:MySQL服务的运行需要一些权限,如果权限设置不正确,也会导致无法启动。
可以检查MySQL的安装目录和数据存储路径的权限是
否正确,确保MySQL用户对这些目录有读写权限。
7.依赖库问题:MySQL依赖一些其他库文件,如果这些库文件损坏或
缺失,也会导致无法启动。
可以尝试重新安装MySQL,确保依赖库文件正
确安装。
8.被防火墙阻止:如果服务器上的防火墙设置不正确,可能会阻止MySQL服务的网络访问,导致无法启动。
可以检查防火墙设置,确保MySQL的端口号被允许通过。
9.其他错误日志:如果MySQL无法启动,常常会有相应的错误日志生成,可以查看错误日志,了解具体的错误信息,有助于排查问题。
错误日
志一般位于MySQL的数据目录下的错误日志文件中。
综上所述,MySQL服务无法启动的原因有很多,需要具体分析具体问题。
在排查问题时,可以根据错误提示和错误日志进行定位,并尝试相应
的解决方法。
如果无法解决问题,可以考虑向MySQL官方或者相关论坛发帖求助,获取更专业的支持和建议。
mysql启动时出现ERROR2003(HY000)问题的解决⽅法
⼀、问题描述
在启动MYSQL时出现问题:“ERROR 2003 (HY000): Can't connect to MySQL server on ‘localhost' (10061)”,情况如图:
⼆、问题分析
从错误的提⽰中可以看出MySQL服务没有启动,因此只需要启动MySQL服务就可以了。
三、问题解决
直接采⽤net start MySQL 就可以启动MySQL服务,但是输⼊命令后仍然出现错误:
可以看到错误提⽰:“服务名⽆效”,说明不存在MySQL服务,但是确认已经安装了MySQL,于是就打开计算机管理,找到服务标签,可以找到其中的MySQL服务,如图:
发现我的电脑上的MySQL服务的服务名为“MySQL57”,其实这个时候可以直接点击启动此服务就能解决问题,并可以进⼊属性,把启动类型改为⾃动,但是这⾥准备继续采⽤CMD命令启动,此时输⼊net start MySQL57 ,结果如图:
⼜出现错误,错误提⽰为“发⽣系统错误 5。
拒绝访问。
” 经过查找资料,发现这个问题的原因是没有以管理员⾝份运⾏CMD,于是重新以管理员⾝份启动CMD,再次输⼊net start MySQL57 ,结果如图:
服务启动成功,问题解决。
四、其它疑问
为什么我的MySQL服务名为MySQL57?这是因为我安装的是MySQL5.7,在⾃定义安装的过程默认服务名为MySQL57。
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
Linux安装mysql后systemctlstartmysqld.service不能启动。
在安装mysql的时候修改了 /etc/f 配置⽂件中的datadir的默认路径后,导致使⽤systemctl start mysqld.service命令启动不了:# 安装后启动mysql服务[root@localhost mysql]# systemctl start mysqld.serviceJob for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe"for details.在 /etc/f 中datadir 和log-error的路径修改为以下#datadir=/var/lib/mysqldatadir=/data/mysql/datasql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTIONlog-error=/data/mysql/log/mysqld.log# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0#log-error=/var/log/mysqld.log但是总是不能启动服务。
即使修改了 /data/mysql/data的所有权为mysql,连⽗⽬录都修改为mysql了,甚⾄连/data及其⼦⽬录都修改为777权限,也不能解决问题。
最后发现了⼀篇好⽂章:这个原因有⼆,其中任意的⼀个原因都会造成你被系统告知这个warning。
mysql自动关闭服务、连接限制等问题的解决方法2011-03-02 11:33通过mysql服务器端程序mysql Administrator调整连接参数。
将max_connections max_updates max_questions三项数据调整到很大的数字,那么你有限的操作将不会导致数据库服务的终止了在MySQL数据库中,如果一个连接8小时没有请求和操作,就会自动断开,从而导致一些基于数据库连接的应用程序,特别是 WEB 应用程序出错。
有三个方法可以解决这个问题:1:修改MySQL配置参数2:修改JDBC3:修改第三方的数据库连接池应用 Proxool.xml方法一:这个参数的名称是 wait_timeout,其默认值为 28800秒(8小时)。
其意义为关闭一个连接之前在这个连接上等到行动的秒数,也就是说,如果一个连接闲置超过这个选项所设置的秒数,MySQL 会主动断开这个连接。
修改操作:linux下打开/etc/f,在属性组mysqld下面添加参数如下:[mysqld]interactive_timeout=28800000wait_timeout=28800000windows下打开my.ini,增加:interactive_timeout=28800000wait_timeout=28800000有实践表明,没有办法把这个值设置成无限大,即永久。
因此如果你无法保证你的应用程序必定在设定的秒数内至少有一次操作,那么最好用第二个方法解决这个问题。
方法二:修改如下JDBC连接的 URL:jdbc:mysql://hostaddress:3306/schemaname?autoReconnect=true添加 autoReconnect=true 这个参数,即能解决这个问题。
方法三:配置文件(proxool.xml):<?xml version="1.0" encoding="UTF-8"?><!-- the proxool configuration can be embedded within your own application's. Anything outside the "proxool" tag is ignored. --><something-else-entirely><proxool><!-- proxool别名 --><alias>mysql</alias><!-- 数据库连接URL --><driver-url>jdbc:mysql://localhost/yourDatebase?useUnicode=true&characterEncoding=UTF-8</driver-url><!-- JDBC驱动名称 --><driver-class>com.mysql.jdbc.Driver</driver-class><!-- 数据库连接帐号 --><driver-properties><property name="user" value="root" /><property name="password" value="password" /></driver-properties><!-- proxool自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的连接就马上回收,超时的销毁 --><house-keeping-sleep-time>90000</house-keeping-sleep-time><!-- 指因未有空闲连接可以分配而在队列中等候的最大请求数,超过这个请求数的用户连接就不会被接受 --><maximum-new-connections>20</maximum-new-connections><!-- 最少保持的空闲连接数 --><prototype-count>3</prototype-count><!-- 允许最大连接数,超过了这个连接,再有请求时,就排在队列中等候,最大的等待请求数由maximum-new-connections决定 --><maximum-connection-count>20</maximum-connection-count><!-- 最小连接数 --><minimum-connection-count>3</minimum-connection-count><!-- 在分配连接前后是否进行有效性测试,这个是解决本问题的关键 --><test-before-use>true</test-before-use><test-after-use>true</test-after-use><!-- 用于测试的SQL语句一定要写(不知道问什么)--><house-keeping-test-sql>SELECT CURRENT_USER</house-keeping-test-sql> </proxool></something-else-entirely>三、开始菜单-运行-services.msc找到mysql的服务并双击点击恢复选项卡第一次失败:默认是“不操作”,改成"重新启动服务"。
在下方的“重新启动服务:___分钟后”添上“0”表示如果服务意外终止则立即重启动。
点击确定使设置生效。
MySQL服务无法启动系统发生1058错误现象:mysql服务无法启动,系统发生1058错误我的mysql原安装好的,后来用360安全卫士把服务禁掉,然后用mysqld-nt standalone启动,现在我想把服务重新启动,却无法启动.解决方法:◆1、运行D:\mysql\bin>mysqld-nt -removeService successfully removed.D:\mysql\bin>mysqld-nt -installService successfully installed.D:\mysql\bin>net start mysqlMySQL 服务正在启动 .MySQL 服务已经启动成功。
◆2、检查my.ini or f是否正常?试一试把%SystemRoot%\my.ini 改成这样[mysqld]basedir=D:/mysqldatadir=D:/mysql/datadefault-character-set= gbk[WinMySQLadmin]Server=D:/mysql/bin/mysqld-nt.exe◆3. 把my.ini 和 f 复制到系统盘XX:\WINDOWS\system32下, 注意在配置环境中的一些路径是否一致在手册的第二章2.3.14节有专门针对你所出现问题的描述及解决办法:---------------------------------------------------------------------------------------------------------------------------------下面具体说明了首次安装并启动MySQL服务时会遇到的最常见的错误消息:· System error 1067 has occurred.· Fatal error: Can't open privilege tables: Table 'mysql.host' doesn't exist·当MySQL服务器找不到MySQL权限数据库或关键文件时会出现这些消息。
当MySQL基本数据目录没有安装在默认位置(C:\mysql和 C:\ProgramFiles\MySQL\MySQL Server 5.1\data),而是安装到其它位置时通常会遇到该问题。
发生该问题的一种情况是对MySQL进行升级或安装到了新位置,但是没有对配置文件进行更新以对应新的安装位置。
此外还可能是新旧配置文件冲突,当升级MySQL时,一定要删除或重新命名旧的配置文件。
如果你没有将MySQL安装到C:\Program Files\MySQL\MySQL Server 5.1目录下,而是安装到了其它目录下,你需要通过使用配置(my.ini)文件让MySQL服务器知道安装目录。
my.ini文件应位于Windows 目录下,典型为C:\WINNT或C:\WINDOWS。
可以在命令提示符下输入下面的命令从WINDIR环境变量值中确定确切位置:C:\> echo %WINDIR%可以通过文本编辑器(例如记事本)来创建并修改选项文件。
例如,如果MySQL 安装在E:\mysql下,数据目录在D:\MySQLdata,你可以创建选项文件并设置[mysqld]来指定basedir和datadir参数的值:[mysqld]# set basedir to your installation pathbasedir=E:/mysql# set datadir to the location of your data directorydatadir=D:/MySQLdata请注意应使用(正)斜线而不是反斜线在选项文件中指定Windows路径名。
如果使用反斜线,则必须使用双斜线:[mysqld]# set basedir to your installation pathbasedir=C:\\Program Files\\MySQL\\MySQL Server 5.1# set datadir to the location of your data directorydatadir=D:\\MySQLdata如果在MySQL配置文件中更改datadir值,在重新启动MySQL服务器之前,必须移动已有MySQL数据目录中的内容。
1、备份好你的原始数据,在安装目录下的DATA目录里,把里面的所有东西拷出来放到别的一个地方;2、把你的安装目录彻底删除;3、去下一个服务删除工具:[url]:81/server/xp_sc.rar[/url]4、用这个工具把“MySQL”服务删除:sc delete mysql5、重新启动6、重新安装MySQL5.07、重新配置服务8、如果这一切都顺利,把第一步拷出来的DATA放回你现在的安装目录下,覆盖所有的文件9、完成似乎有MSSQL服务器,若MSSQL服务器在运行,应先停止其服务,再启动MySQL。