【问题标题】:Start Mysql when Mysql cluster is installed安装Mysql集群时启动Mysql
【发布时间】:2015-08-19 14:30:34
【问题描述】:

当我在单个服务器上安装了 mysql 集群时,我在启动 mysql 时遇到了问题。

我在某处读到,如果您安装 Mysql 集群,您不必下载 MySQL 服务器或客户端(apt-get install mysql-server / client) 因为这些最终会发生冲突。 Mysql数据包应该在我从here下载的mysql-cluster-gpl-7.4.7-linux-glibc2.5-x86_64文件中。

但是如何在不安装 mysql-server 或客户端的情况下启动 mysql?

如果我在提示中写 mysql,我会收到以下错误消息:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

如果我搜索“mysql-cluster-gpl-7.4.7-linux-glibc2.5-x86_64”,那么我找不到任何与 mysqld.sock 匹配的文件

我也尝试过启动 mysqld,但我得到了很多错误。

2015-08-19 14:52:00 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2015-08-19 14:52:00 4208 [ERROR] Can't find messagefile '/usr/local/mysql-cluster-gpl-7.4.7-linux-glibc2.5-x86_64/share/mysql/errmsg.sys'
2015-08-19 14:52:00 4208 [Warning] Can't create test file /usr/local/mysql/data/Idrottskoll.lower-test
2015-08-19 14:52:00 4208 [Warning] Can't create test file /usr/local/mysql/data/Idrottskoll.lower-test
2015-08-19 14:52:00 4208 [Warning] Buffered warning: Changed limits: max_open_files: 1024 (requested 5000)

2015-08-19 14:52:00 4208 [Warning] Buffered warning: Changed limits: table_cache: 431 (requested 2000)

2015-08-19 14:52:00 4208 [Note] Plugin 'FEDERATED' is disabled.
mysqld: Unknown error 1017
2015-08-19 14:52:00 4208 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
2015-08-19 14:52:00 4208 [Note] InnoDB: Using atomics to ref count buffer pool pages
2015-08-19 14:52:00 4208 [Note] InnoDB: The InnoDB memory heap is disabled
2015-08-19 14:52:00 4208 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2015-08-19 14:52:00 4208 [Note] InnoDB: Compressed tables use zlib 1.2.8
2015-08-19 14:52:00 4208 [Note] InnoDB: Using Linux native AIO
2015-08-19 14:52:00 4208 [Note] InnoDB: Using CPU crc32 instructions
2015-08-19 14:52:00 4208 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2015-08-19 14:52:00 4208 [Note] InnoDB: Completed initialization of buffer pool
2015-08-19 14:52:00 4208 [ERROR] InnoDB: ./ibdata1 can't be opened in read-write mode
2015-08-19 14:52:00 4208 [ERROR] InnoDB: The system tablespace must be writable!
2015-08-19 14:52:00 4208 [ERROR] Plugin 'InnoDB' init function returned error.
2015-08-19 14:52:00 4208 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2015-08-19 14:52:00 4208 [ERROR] mysqld: unknown option '--ndbcluster'
2015-08-19 14:52:00 4208 [ERROR] Aborting

2015-08-19 14:52:00 4208 [Note] Binlog end
2015-08-19 14:52:00 4208 [Note] Shutting down plugin 'partition'
2015-08-19 14:52:00 4208 [Note] Shutting down plugin 'INNODB_SYS_DATAFILES'
2015-08-19 14:52:00 4208 [Note] Shutting down plugin 'INNODB_SYS_TABLESPACES'
2015-08-19 14:52:00 4208 [Note] Shutting down plugin 'INNODB_SYS_FOREIGN_COLS'
2015-08-19 14:52:00 4208 [Note] Shutting down plugin 'INNODB_SYS_FOREIGN'
2015-08-19 14:52:00 4208 [Note] Shutting down plugin 'INNODB_SYS_FIELDS'
2015-08-19 14:52:00 4208 [Note] Shutting down plugin 'INNODB_SYS_COLUMNS'
2015-08-19 14:52:00 4208 [Note] Shutting down plugin 'INNODB_SYS_INDEXES'
2015-08-19 14:52:00 4208 [Note] Shutting down plugin 'INNODB_SYS_TABLESTATS'
2015-08-19 14:52:00 4208 [Note] Shutting down plugin 'INNODB_SYS_TABLES'
2015-08-19 14:52:00 4208 [Note] Shutting down plugin 'INNODB_FT_INDEX_TABLE'
2015-08-19 14:52:00 4208 [Note] Shutting down plugin 'INNODB_FT_INDEX_CACHE'
2015-08-19 14:52:00 4208 [Note] Shutting down plugin 'INNODB_FT_CONFIG'
2015-08-19 14:52:00 4208 [Note] Shutting down plugin 'INNODB_FT_BEING_DELETED'
2015-08-19 14:52:00 4208 [Note] Shutting down plugin 'INNODB_FT_DELETED'
2015-08-19 14:52:00 4208 [Note] Shutting down plugin 'INNODB_FT_DEFAULT_STOPWORD'
2015-08-19 14:52:00 4208 [Note] Shutting down plugin 'INNODB_METRICS'
2015-08-19 14:52:00 4208 [Note] Shutting down plugin 'INNODB_BUFFER_POOL_STATS'
2015-08-19 14:52:00 4208 [Note] Shutting down plugin 'INNODB_BUFFER_PAGE_LRU'
2015-08-19 14:52:00 4208 [Note] Shutting down plugin 'INNODB_BUFFER_PAGE'
2015-08-19 14:52:00 4208 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX_RESET'
2015-08-19 14:52:00 4208 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX'
2015-08-19 14:52:00 4208 [Note] Shutting down plugin 'INNODB_CMPMEM_RESET'
2015-08-19 14:52:00 4208 [Note] Shutting down plugin 'INNODB_CMPMEM'
2015-08-19 14:52:00 4208 [Note] Shutting down plugin 'INNODB_CMP_RESET'
2015-08-19 14:52:00 4208 [Note] Shutting down plugin 'INNODB_CMP'
2015-08-19 14:52:00 4208 [Note] Shutting down plugin 'INNODB_LOCK_WAITS'
2015-08-19 14:52:00 4208 [Note] Shutting down plugin 'INNODB_LOCKS'
2015-08-19 14:52:00 4208 [Note] Shutting down plugin 'INNODB_TRX'
2015-08-19 14:52:00 4208 [Note] Shutting down plugin 'ARCHIVE'
2015-08-19 14:52:00 4208 [Note] Shutting down plugin 'PERFORMANCE_SCHEMA'
2015-08-19 14:52:00 4208 [Note] Shutting down plugin 'BLACKHOLE'
2015-08-19 14:52:00 4208 [Note] Shutting down plugin 'CSV'
2015-08-19 14:52:00 4208 [Note] Shutting down plugin 'MRG_MYISAM'
2015-08-19 14:52:00 4208 [Note] Shutting down plugin 'MEMORY'
2015-08-19 14:52:00 4208 [Note] Shutting down plugin 'MyISAM'
2015-08-19 14:52:00 4208 [Note] Shutting down plugin 'sha256_password'
2015-08-19 14:52:00 4208 [Note] Shutting down plugin 'mysql_old_password'
2015-08-19 14:52:00 4208 [Note] Shutting down plugin 'mysql_native_password'
2015-08-19 14:52:00 4208 [Note] Shutting down plugin 'binlog'
2015-08-19 14:52:00 4208 [Note] 

我显然是编程新手,真的可以利用你的帮助来解释 mysql 如何与 mysql 集群一起工作。

我已按照以下link安装mysql集群:

Mysql 集群似乎可以工作:

[ndbd(NDB)] 1 node(s)
id=2    @46.21.99.140  (mysql-5.6.25 ndb-7.4.7, Nodegroup: 0, *)

[ndb_mgmd(MGM)] 1 node(s)
id=1    @46.21.99.140  (mysql-5.6.25 ndb-7.4.7)

[mysqld(API)]   1 node(s)
id=3    @46.21.99.140  (mysql-5.6.25 ndb-7.4.7)

如果我输入:ps aux | grep mysql

root      3800  0.0  0.0   4440   752 ?        S    14:24   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/myname.pid

mysql     3951  0.4  5.7 1514076 465052 ?      Sl   14:24   0:05 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/data/myname.err --pid-file=/usr/local/mysql/data/myname.pid --socket=/tmp/mysql.sock


my.cnf

[mysqld]
# Options for mysqld process:
ndbcluster                      # run NDB storage engine

basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
#socket= /tmp/mysql.sock


[mysql_cluster]
# Options for MySQL Cluster processes:
ndb-connectstring=xx.xx.xx.xxx  # location of management server

【问题讨论】:

  • sock 文件由正在运行的进程创建,通常不打包在 .tar.gz 中。要么你的客户端被告知在错误的位置寻找 mysql 套接字文件,要么 mysql 服务器没有运行,因此没有创建套接字文件。
  • 但是当我输入 ps aux | grep mysql mysqld 在那里并且正在运行。如果我检查 Mysql 集群,并且 [mysqld(API)] 正在运行。 ??
  • 注意 #socket 文件 - 它已被注释掉,因此服务器正在使用编译位置,该位置与客户端试图查看的位置不同。
  • 感谢您的回复, #socket= /tmp/mysql.sock 引用的行的问题在于它与 mysql 正在搜索的文件不同。 Mysql 正在搜索 mysqld.sock
  • 完全正确。 mysql 客户端希望找到错误消息所说的文件,但服务器将它放在其他地方。您需要取消注释该套接字行并放入相同的路径。

标签: mysql linux ubuntu


【解决方案1】:

现在可以了!我用 socket=/var/run/mysqld/mysqld.sock 替换了 #socket= /tmp/mysql.sock 并删除了注释。创建了一个名为 mysqld 的文件夹,并在该文件夹中创建了一个名为 mysqld.sock 的新文件。

重启后mysql就开始了!

感谢 Marc B 的帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-05
    • 2020-06-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多