MySQL 安装和启动服务,“本地计算机 上的 MySQL 服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止。

本文详细介绍了MySQL 5.7.13版本在Windows系统下的安装步骤及常见启动问题的解决办法,包括如何配置正确的初始化文件my.ini、解决权限问题等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MySQL 安装和启动服务,以及遇到的问题

MySQL版本: mysql-5.7.13-winx64.zip (免安装,解压放到程序文件夹即可,比如 C:\Program Files\mysql-5.7.13-winx64)

下载地址:http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.13-winx64.zip

遇到的问题:

1. MySQL service 已经安装成功,创建了空的data文件夹,也填了初始化ini文件,但是无法启动

2. cmd 执行指令 “mysql -uroot -p” 时提示:“ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)”

3. Windows服务管理启动MySQL服务时提示:“本地计算机 上的 MySQL 服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止。”

4. mysql 日志文件提示:“2016-07-12T08:14:12.661749Z 0 [Note] Plugin 'FEDERATED' is disabled. MySQL: Table 'mysql.plugin' doesn't exist”

解决问题:

其实这几个问题都是因为mysql 的初始化ini文件不正确导致,请注意以下几点

1. 不能使用原有的初始化文件my-default.ini直接修改,那个只是给我们参考,在当前文件夹复制创建一个新的my.ini文件,填写好basedir和datadir 然后保存。

# These are commonly set, remove the # and set as required.
# basedir = C:\Program Files\mysql-5.7.13-winx64
# datadir = C:\Program Files\mysql-5.7.13-winx64\data

2. 创建data文件夹,且必须是空文件夹,如果已经有跑出一些mysql日志文件在这里,请删掉全部文件。

3. 注册服务时CMD必须进bin目录,要不然会出错。执行cmd 命令:mysqld –initialize -insecure –user=mysql 

C:\Program Files\mysql-5.7.13-winx64\bin

 

 

4. mysql启动问题access denied for user 'root'@'localhost'(using password:YES)

【转】http://www.cnblogs.com/gogly/p/3293328.html

安装Mysql后利用SQLyogEnt启动是提示“access denied for user 'root'@'localhost'(using password:YES)”,开始我还为是因为是密码问题,后来上网查了查才知道root权限问题,我想可能是因为win7系统我在安装时没用以管理员身份进行安装,所以root角色没有权限,从网上找了一个解决方案解决了,在这里记录一下:

1. 管理员登陆系统,停止mysql服务或者结束mysqld-nt进程;

2. 进入命令行,来到mysql的安装目录.假设安装目录为 d:\mysql\ , CMD进入命令行;

3. 运行 D:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld-nt --skip-grant-tables启动mysql,关闭权限的检查;

4. 运行 D:\Program Files\MySQL\MySQL Server 5.5\bin\mysqladmin -u root flush-privileges password "newpassword" 重设root密码;

5. 重新启动mysql服务;

MySQL 8.0服务启动后立即停止个常见问题,可能由多种原因导致。以下是些可能的原因解决方案: ### 1. **检查错误日志** MySQL通常会生成详细的错误日志,帮助诊断问题的根本原因。这些日志通常位于MySQL的数据目录中,默认路径为 `/var/log/mysql/error.log` 者 `/var/log/mysqld.log`。 - 在Linux系统上,可以使用以下命令查看日志: ```bash sudo tail -n 50 /var/log/mysqld.log ``` - 如果日志显示类似 `Can't start server: Bind on TCP/IP port: Address already in use` 的错误,则表示端口冲突,需要更改MySQL的端口配置关闭占用3306端口的服务[^1]。 ### 2. **端口冲突** MySQL默认使用3306端口进行通信。如果该端口被其他进程占用,MySQL服务将无法启动并立即停止。 - 可以通过以下命令检查端口占用情况: ```bash sudo netstat -tulnp | grep :3306 ``` - 如果发现其他进程占用了3306端口,可以通过终止该进程修改MySQL的配置文件(`my.cnf``my.ini`)中的端口设置来解决冲突: ```ini [mysqld] port = 3307 ``` ### 3. **数据目录权限问题** MySQL需要对数据目录具有适当的读写权限。如果权限不正确,可能导致服务无法启动。 - 确保MySQL的数据目录(通常为`/var/lib/mysql`)的权限正确: ```bash sudo chown -R mysql:mysql /var/lib/mysql sudo chmod -R 755 /var/lib/mysql ``` - 此外,如果之前手动移动过数据目录,可能需要更新MySQL的配置文件,确保`datadir`指向正确的路径。 ### 4. **InnoDB存储引擎问题** InnoDB是MySQL的默认存储引擎。如果InnoDB相关的文件损坏配置不当,可能导致服务无法正常启动。 - 错误日志中可能会出现类似 `InnoDB: Unable to lock ./ibdata1, error: 11` 的信息。这可能是由于多个MySQL实例同尝试访问相同的InnoDB文件,者文件权限不正确。 - 解决方法包括删除重命名InnoDB文件(如`ibdata1`、`ib_logfile0`、`ib_logfile1`),然后重新初始化数据库: ```bash sudo rm /var/lib/mysql/ibdata1 sudo rm /var/lib/mysql/ib_logfile* sudo mysqld --initialize ``` ### 5. **内存不足** MySQL 8.0相比之前的版本对内存的需求更高。如果系统的可用内存不足,可能导致MySQL服务无法启动。 - 检查系统内存使用情况: ```bash free -h ``` - 如果内存不足,可以尝试优化MySQL的配置,减少某些缓冲池的大小,例如在`my.cnf``my.ini`中调整以下参数: ```ini [mysqld] innodb_buffer_pool_size = 128M key_buffer_size = 32M ``` ### 6. **重新安装MySQL** 如果以上方法都无法解决问题,可以尝试卸载并重新安装MySQL。 - 卸载MySQL: ```bash sudo apt-get remove --purge mysql-server mysql-client mysql-common sudo apt-get autoremove sudo apt-get autoclean ``` - 重新安装MySQL: ```bash sudo apt-get install mysql-server ``` ### 7. **使用Docker运行MySQL** 如果本地环境难以解决此问题,可以考虑使用Docker来运行MySQL。Docker提供了个隔离的环境,避免了许多常见的配置问题。 - 使用Docker运行MySQL 8.0的示例命令: ```bash docker run --name mysql8 -e MYSQL_ROOT_PASSWORD=your_password -d -p 3306:3306 mysql:8.0 ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值