AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 81346
Accepted
dpaks
dpaks
Asked: 2014-10-24 23:08:37 +0800 CST2014-10-24 23:08:37 +0800 CST 2014-10-24 23:08:37 +0800 CST

服务器运行 - mysqladmin 错误 - 开发源代码树

  • 772

我很沮丧!我在 Ubuntu 14.04 32 位中使用开发源代码树(版本 5.7.5)安装了 mysql。

开始

  • 我使用以下命令以安全模式启动 mysql :

    mysqlnew@dpaks:~$ mysqld_safe &
    [1] 4548
    mysqlnew@dpaks:~$ 141024 11:18:58 mysqld_safe Logging to'/usr/local/mysql/data/dpaks.err'.
    141024 11:18:58 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
    

    但是,在输入'mysqladmin version'时,出现以下错误:

    mysqladmin: connect to server at 'localhost' failed
    error: 'Access denied for user 'deepaks'@'localhost' (using password: NO)'
    
  • 如果我给出前缀“--skip-grant-tables”,mysqladmin 将启动并提供以下内容:

    mysqladmin Ver 8.42 Distrib 5.7.5-m15,适用于 i686 上的 Linux

    版权所有 (c) 2000、2014,Oracle 和/或其附属公司。版权所有。

    Oracle 是 Oracle Corporation 和/或其附属公司的注册商标。其他名称可能是其各自所有者的商标。

    服务器版本 5.7.5-m15

    协议版本 10

    通过 UNIX 套接字连接本地主机

    UNIX 套接字 /tmp/mysql.sock

    正常运行时间:7 秒

    线程:1 问题:2 慢速查询:0 打开:84 刷新表:1 打开表:79 每秒平均查询数:0.285

    那么,grants 表发生了什么?

权限:

  • 为了运行 mysql,我创建了一个用户和一个名为 mysqlnew 的组。
  • 我在 /usr/local/mysql 的整个安装都归 mysqlnew 所有。除数据目录外,整个目录的权限递归设置为 777。
  • 数据目录为 744。
  • my.cnf为用户 mysqlnew 设置为 755。它的临时文件归 root 所有。
  • mysql.sock有权限 777

服务器正在运行? 是的!

它列在进程状态中。

mysqlnew  5022  4341  0 12:22 pts/8    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe
mysqlnew  5154  5022  3 12:22 pts/8    00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/usr/local/mysql/data/dpaks.err --pid-file=/usr/local/mysql/data/dpaks.pid --socket=/tmp/mysql.sock --port=3306

另外,netstat 命令给了我以下信息:

tcp        0      0 localhost:mysql         *:*                     LISTEN      4680/mysqld

错误日志错误日志 说明如下:

2014-10-24T05:49:00.835656Z 0 [Note] InnoDB: 5.7.5 started; log sequence number 1296682
2014-10-24T05:49:00.854718Z 0 [Warning] Failed to setup SSL
2014-10-24T05:49:00.854736Z 0 [Warning] SSL error: SSL context is not usable without certificate and private key
2014-10-24T05:49:00.854757Z 0 [Note] Server hostname (bind-address): '127.0.0.1'; port: 3306
2014-10-24T05:49:00.854795Z 0 [Note]   - '127.0.0.1' resolves to '127.0.0.1';
2014-10-24T05:49:00.864657Z 0 [Note] Server socket created on IP: '127.0.0.1'.
2014-10-24T05:49:01.399455Z 0 [Note] Event Scheduler: Loaded 0 events
2014-10-24T05:49:01.399499Z 0 [Note] /usr/local/mysql/bin/mysqld: ready for connections.
Version: '5.7.5-m15'  socket: '/tmp/mysql.sock'  port: 3306  Source distribution

这意味着服务器正在运行!正确的?

Conf 文件以下是我位于 etc 目录中的my.cnf文件的摘录:

[client]

port=3306
socket=/tmp/mysql.sock

[mysqld]

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
user = mysql
bind-address = 127.0.0.1
port = 3306
socket = /tmp/mysql.sock

我还验证了 mysql.sock 是在 /tmp 目录中创建的。

问题:为什么在服务器运行时启动 mysqladmin 而未使用前缀“--skip-grant-tables”时出现错误?

任何帮助将不胜感激

PS:我已经仔细阅读并尝试了此处类似问题中给出的所有解决方案,但无济于事。


更新 1

当我给出 --skip-grants-table 然后运行“mysql”时,它工作了!但是我为什么要跳过它呢?

mysql mysqladmin
  • 1 1 个回答
  • 387 Views

1 个回答

  • Voted
  1. Best Answer
    dpaks
    2014-10-28T10:13:14+08:002014-10-28T10:13:14+08:00

    我的天啊!我不敢相信我解决了它!

    我启动了mysqld。但是,无法启动客户端。当我给出命令“mysql”时,显示以下错误:

    错误 1045 (28000):拒绝用户 'root'@'localhost' 访问(使用密码:NO)mysqlnew@dpaks:/usr/local/mysqlnew/bin$ ./mysql

    为什么不在 mysql 中创建一个用户帐户?!因此,我通过将以下内容写入名为init-file的文本文件并将其放置在用户mysqlnew具有访问权限的位置,创建了一个以“root”作为密码的用户帐户“root” 。请注意,它们必须在不同的行中。另外,确保服务器未运行。

    更新 mysql.user SET Password=PASSWORD('root') WHERE User='root';
    冲洗特权;

    我通过以下方式启动服务器:

    ./mysqld --basedir=/usr/local/mysqlnew --datadir=/usr/local/mysqlnew/data --query_cache_type=1 --init-file=/home/mysqlnew/init-file &

    然后我开始了客户端

    mysqlnew@dpaks:/usr/local/mysqlnew/bin$ ./mysql -u root -p
    输入密码:

    因为我现在已经在 mysql 中创建了一个用户帐户,所以我不需要再使用--skip-grant-tables来启动服务器。

    然而,它还没有完成!

    mysql> 选择 1+1;
    ERROR 1820 (HY000): 在执行此语句之前必须设置密码

    所以,现在我需要纠正这个!

    mysql> SET PASSWORD = PASSWORD('root');
    查询正常,0 行受影响(0.28 秒)

    就是这样!:)

    • 0

相关问题

  • 是否有任何 MySQL 基准测试工具?[关闭]

  • 我在哪里可以找到mysql慢日志?

  • 如何优化大型数据库的 mysqldump?

  • 什么时候是使用 MariaDB 而不是 MySQL 的合适时机,为什么?

  • 组如何跟踪数据库架构更改?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve