MySQL启动不了,无法启动MySQL服务解决技巧

最近在Windows2003上的MySQL出现过多次正常运行时无法连接数据库故障,现象是无法连接数据库,也无法停止MySQL或重启MYSQL,重启机子也没有效果,由于每次都是草草尝试各种方法搞定即可,一直没有深入研究,下次一定把图和故障现象系统归纳一下。本文先列一下常见的解决方法。

一、确认MYSQL已经配置且正确

重新配置
如果是重新安装的MYSQL,请确认安装后的MYSQL经过第一次配置,否则会缺少my.ini文件,配置方法,可以在安装到最后一步时选择,现在开始配置MYSQL,或在程序组中运行MYSQL配置向导。配置完成后,要确保my.ini文件中[mysqld]字段下至少有basedir安装目录路径和datadir数据库路径。

配置之前,如果原来已经有过MySQL配置,可以先在MYSQL向导中进行执行一次REMOVEINSTANCE,然后再重新配置。

覆盖数据表

默认的MYSQL数据库会安装到MyDocument下,所以如果您的数据库目录在其它路径下,可以先把MYSQL停止掉,然后把数据库剪切到其它路径,然后拷贝相关数据表进入同一目录即可。
如果MYSQL数据表使用不同的账户,还需要在MYSQL创建账户,或直接使用原来的MYSQL数据表覆盖(需确认之前的MSYQL数据表是未损坏的)。

解决无法启动

遇到无法启动MYSQL时常见解决方法:
A、先使用命令C:Programfilesmysqlinmysqladmin-uroot-pshutdown来关闭MYSQL
B、再在cmd命令行下,执行netstartmysql启动mysql。

二、1067错误常见解决方法

故障现象
如果在停止MYSQL(netstopmysql)或启动MYSQL时,出现1067错误,错误信息“MySql服务正在停止…系统出错(Asystemerrorhasoccurred.)…系统发生1067错误(Systemerror1067hasoccurred.),进程意外终止(Theprocessterminatedunexpectedly.)”等。

常见解决方法
如果以前一直运行OK的,请先按照上面的“无法启动”解决方法执行一次看看。
如果进行过RemoveInstance操作,再次重建时后,一定要检查my.ini文件中的datadir是否已被还原了,如果该地址下数据库不存在,也将报告1067错误,只需要修改成真实的数据库目录地址,然后手动启动即可。

检查MYSQL目录权限

检查my.ini文件中[mysqld]字段下是否有basedir安装目录路径和datadir数据库路径,my.ini可能需要出现在两个地方,MYSQL的安装目录和Windows目录(假设是windows环境)下,都要检查一下。

有时候删除%windir%/my.ini文件然后再重新配置也可以解决,再次配置后检查一下Windir目录下是否有my.ini文件,有时把安装目录下最新的my.ini拷贝过去覆盖一下也能解决问题。

如果是Linux环境,试一下把mysql.server拷贝至/etc/rc.d/init.d/下,然后再运行chkconfigmysql.server,之后就可以在命令行中设置PATH、使用命令执行mysql启动。

三、非法关机造成的MYSQL无法启动问题

如果是因为非法关机等原因导致MYSQL无法启动或启动有问题的,最好使用重新安装的或确认是OK的MYSQL数据表及ibdata1、mysql.pid、ib_logfile0等文件进行覆盖,天缘试过遇到过多次这种情况,就是原来的MYSQL表有问题了,总是无法启动,但是更换成新表就可以。

四、重装MYSQL
发现MYSQL有问题时,最便捷的方法,是先把mysql卸载掉,然后重装重新配置,具体方法如下:
1、卸载MYSQL,清理掉安装目录和Windows目录下的my.ini文件。
2、检查任务管理器中是否还有mysql进程,如果有,可以把mysqld.exe杀掉,或者先杀掉再卸载也可以。
3、在cmd命令窗口,执行:scdeletemysql,该命令是清理注册服务命令。
3.重装mysql

如果是安全设置以后出现这个问题,可能是因为mysql以低权限运行的时候因为密码策略等问题导致,大家看恶意将mysql的启动用户更下下密码,然后在服务项里设置下即可。

文章来源:http://www.sogua2008.com/1533.html

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现MySQL的远程实时同步,你可以考虑使用MySQL的复制功能。MySQL复制是一种将数据从一个数据库服务器(称为主服务器)复制到另一个数据库服务器(称为从服务器)的方法。 以下是一些基本的步骤来设置MySQL的实时同步: 1. 配置主服务器:在主服务器上,你需要启用二进制日志(binary log)。你可以通过在主服务器的配置文件中设置`log_bin`参数来实现。确保设置了一个唯一的服务器ID,可以在配置文件中使用`server_id`参数。 2. 创建用于复制的专用用户:在主服务器上,创建一个专门用于复制的用户,并为其授予适当的权限。例如,你可以使用以下命令创建用户并授予复制权限: ``` CREATE USER 'replication_user'@'%' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%'; FLUSH PRIVILEGES; ``` 3. 备份主服务器数据:在开始复制之前,你需要确保从服务器处于与主服务器相同的初始状态。可以使用适当的工具(如`mysqldump`)将数据从主服务器备份到从服务器。 4. 配置从服务器:在从服务器上,你需要配置它作为主服务器的复制从属。编辑从服务器的配置文件,并设置以下参数: ``` server_id = unique_server_id_for_slave replicate-do-db = database_name_to_replicate master-host = master_server_ip master-user = replication_user master-password = replication_user_password ``` 确保将`unique_server_id_for_slave`替换为从服务器的唯一服务器ID,`database_name_to_replicate`替换为要复制的数据库名称,`master_server_ip`替换为主服务器的IP地址,`replication_user`和`replication_user_password`替换为在第2步中创建的复制用户的用户名和密码。 5. 启动服务器复制:在从服务器上,启动MySQL服务,并连接到MySQL实例。然后运行以下命令开始复制过程: ``` CHANGE MASTER TO MASTER_HOST='master_server_ip', MASTER_USER='replication_user', MASTER_PASSWORD='replication_user_password', MASTER_LOG_FILE='binary_log_file_from_master', MASTER_LOG_POS=binary_log_position_from_master; START SLAVE; ``` 确保将`master_server_ip`替换为主服务器的IP地址,`replication_user`和`replication_user_password`替换为在第2步中创建的复制用户的用户名和密码,`binary_log_file_from_master`和`binary_log_position_from_master`替换为主服务器当前的二进制日志文件和位置。 至此,你的MySQL远程实时同步设置完成。主服务器上的更改将自动复制到从服务器,并保持两个数据库之间的一致性。请注意,这只是基本设置,还有其他高级配置选项和优化技巧可供你探索。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值