首页 数据库 mysql教程 在ubuntu环境下mysql数据库启动异常排除_MySQL

在ubuntu环境下mysql数据库启动异常排除_MySQL

Jun 01, 2016 pm 01:26 PM
mysql ubuntu 数据库

Ubuntu

bitsCN.com

今天在ubuntu 12.04安装了mysql , 使用命令:

sudo apt-get install mysql-server mysql-client 
登录后复制
安装

安装以后启动正常,但是发现mysqld 服务只监听3306端口的127.0.0.1 ip地址,

sudo netstat -ntlptcp        0      0 127.0.0.1:3306            0.0.0.0:*               LISTEN      5459/mysqld  
登录后复制

于是上网查了一下,发现时由于my.cnf配置文件中

bind-address =  127.0.0.1
登录后复制

这说明它之间听来自127.0.0.1的请求,于是,我停掉了mysql 服务,然后修改了该配置文件。

bind-address = 0.0.0.0

这代表mysql 会监听来自任何IP地址的请求(当然,端口号必须是3306) .

修改的时候我发现该文件为只读文件,于是,我直接将文件权限改为777

sudo chmod 777 my.cnf
登录后复制

然后,我重启mysql服务,发现,服务无法重启,报错,无日志

无奈之下,我只好卸载mysql 然后重新安装

sudo apt-get remove mysql-server mysql-client
登录后复制
我发现这种方式无法完全卸载mysql,通过查询github,我得知,必须加purge参数,从而完整卸载包括配置文件在内的所有文件,同时,必须加上mysql-common
sudo apt-get install remove --purge mysql-server mysql-client mysql-common
登录后复制

重新安装后,问题依旧:只要更改了配置文件my.cnf, mysql就无法重启了。

经过多方排查,我发现这是由于我更改了my.cnf权限,使得该文件能够被任何用户读取和修改,这是mysql不允许的。于是,我在更改了my.cnf之后,

重新把权限改回默认权限644,再次重启mysql,成功

这时候,我用sudo netstat -nltp 查看3306端口监听情况,发现已经变成:

sudo netstat -ntlptcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 5459/mysqld

这意味着mysqld服务已经开始监听外部ip地址的请求了,但是这不意味着来自外部ip地址的请求有权限操作mysql数据库,必须为其添加权限:

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;FLUSH   PRIVILEGES;
登录后复制
这时候,就可以从外部ip地址访问数据库了。 bitsCN.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

phpmyadmin怎么打开 phpmyadmin怎么打开 Apr 10, 2025 pm 10:51 PM

可以通过以下步骤打开 phpMyAdmin:1. 登录网站控制面板;2. 找到并点击 phpMyAdmin 图标;3. 输入 MySQL 凭据;4. 点击 "登录"。

MySQL:世界上最受欢迎的数据库的简介 MySQL:世界上最受欢迎的数据库的简介 Apr 12, 2025 am 12:18 AM

MySQL是一种开源的关系型数据库管理系统,主要用于快速、可靠地存储和检索数据。其工作原理包括客户端请求、查询解析、执行查询和返回结果。使用示例包括创建表、插入和查询数据,以及高级功能如JOIN操作。常见错误涉及SQL语法、数据类型和权限问题,优化建议包括使用索引、优化查询和分表分区。

MySQL的位置:数据库和编程 MySQL的位置:数据库和编程 Apr 13, 2025 am 12:18 AM

MySQL在数据库和编程中的地位非常重要,它是一个开源的关系型数据库管理系统,广泛应用于各种应用场景。1)MySQL提供高效的数据存储、组织和检索功能,支持Web、移动和企业级系统。2)它使用客户端-服务器架构,支持多种存储引擎和索引优化。3)基本用法包括创建表和插入数据,高级用法涉及多表JOIN和复杂查询。4)常见问题如SQL语法错误和性能问题可以通过EXPLAIN命令和慢查询日志调试。5)性能优化方法包括合理使用索引、优化查询和使用缓存,最佳实践包括使用事务和PreparedStatemen

为什么要使用mysql?利益和优势 为什么要使用mysql?利益和优势 Apr 12, 2025 am 12:17 AM

选择MySQL的原因是其性能、可靠性、易用性和社区支持。1.MySQL提供高效的数据存储和检索功能,支持多种数据类型和高级查询操作。2.采用客户端-服务器架构和多种存储引擎,支持事务和查询优化。3.易于使用,支持多种操作系统和编程语言。4.拥有强大的社区支持,提供丰富的资源和解决方案。

apache怎么连接数据库 apache怎么连接数据库 Apr 13, 2025 pm 01:03 PM

Apache 连接数据库需要以下步骤:安装数据库驱动程序。配置 web.xml 文件以创建连接池。创建 JDBC 数据源,指定连接设置。从 Java 代码中使用 JDBC API 访问数据库,包括获取连接、创建语句、绑定参数、执行查询或更新以及处理结果。

docker怎么启动mysql docker怎么启动mysql Apr 15, 2025 pm 12:09 PM

在 Docker 中启动 MySQL 的过程包含以下步骤:拉取 MySQL 镜像创建并启动容器,设置根用户密码并映射端口验证连接创建数据库和用户授予对数据库的所有权限

centos安装mysql centos安装mysql Apr 14, 2025 pm 08:09 PM

在 CentOS 上安装 MySQL 涉及以下步骤:添加合适的 MySQL yum 源。执行 yum install mysql-server 命令以安装 MySQL 服务器。使用 mysql_secure_installation 命令进行安全设置,例如设置 root 用户密码。根据需要自定义 MySQL 配置文件。调整 MySQL 参数和优化数据库以提升性能。

phpMyAdmin全面使用指南 phpMyAdmin全面使用指南 Apr 10, 2025 pm 10:42 PM

phpMyAdmin不仅仅是数据库管理工具,它能让你深入理解MySQL,提升编程技巧。核心功能包括CRUD和SQL查询执行,理解SQL语句的原理至关重要。高级技巧包括导出/导入数据和权限管理,需要深入的安全理解。潜在问题包括SQL注入,解决方案是参数化查询和备份。性能优化涉及SQL语句优化和索引使用。最佳实践强调代码规范、安全实践和定期备份。

See all articles