我被设置为在ubuntu机器上创建多个实例。当我启动mysql实例时,mysqld1正在运行,但mysqld2没有运行。
root@ubuntu:/var/lib# mysqld_multi report
Reporting MySQL servers
MySQL server from group: mysqld1 is running
MySQL server from group: mysqld2 is not running
Below is my my.cnf file :
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld]
basedir = /usr
tmpdir = /tmp
skip-external-locking
bind-address = 127.0.0.1
key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 8
myisam-recover = BACKUP
query_cache_limit = 1M
query_cache_size = 16M
expire_logs_days = 10
max_binlog_size = 100M
[mysqld_multi]
mysqld = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin
log = /var/log/mysqld_multi.log
user = multi_admin
password = admin123
[mysqld1]
port = 3306
datadir = /var/lib/mysql
pid-file = /var/lib/mysql/mysqld.pid
socket = /var/lib/mysql/mysql.sock
user = mysql
log-error = /var/log/mysql1.err
[mysqld2]
port = 3307
datadir = /var/lib/mysql-databases/mysqld2
pid-file = /var/lib/mysql-databases/mysqld2/mysql.pid
socket = /var/lib/mysql-databases/mysqld2/mysql.sock
user = mysql
log-error = /var/log/mysql2.err
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
[mysql]
[isamchk]
key_buffer = 16M
!includedir /etc/mysql/conf.d/当我检查错误日志文件mysql2.err时,错误是,
130120 18:41:59 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql-databases/mysqld2
130120 18:41:59 [Warning] Can't create test file /var/lib/mysql-databases/mysqld2/ubuntu.lower-test
130120 18:41:59 [Warning] Can't create test file /var/lib/mysql-databases/mysqld2/ubuntu.lower-test
130120 18:41:59 [Note] Plugin 'FEDERATED' is disabled.
/usr/sbin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13)
130120 18:41:59 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
130120 18:41:59 InnoDB: Initializing buffer pool, size = 8.0M
130120 18:41:59 InnoDB: Completed initialization of buffer pool
130120 18:41:59 InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./ibdata1
InnoDB: File operation call: 'create'.
InnoDB: Cannot continue operation.
130120 18:41:59 mysqld_safe mysqld from pid file /var/lib/mysql-databases/mysqld2/mysql.pid ended下面是我的幻影档案。
#include <tunables/global>
/usr/sbin/mysqld {
capability dac_override,
capability sys_resource,
capability setgid,
capability setuid,
network tcp,
/etc/hosts.allow r,
/etc/hosts.deny r,
/etc/mysql/*.pem r,
/etc/mysql/conf.d/ r,
/etc/mysql/conf.d/* r,
/etc/mysql/*.cnf r,
/usr/lib/mysql/plugin/ r,
/usr/lib/mysql/plugin/*.so* mr,
/usr/sbin/mysqld mr,
/usr/share/mysql/** r,
/var/log/mysql.log rw,
/var/log/mysql.err rw,
/var/lib/mysql/ r,
/var/lib/mysql/** rwk,
/var/log/mysql/ r,
/var/log/mysql/* rw,
/{,var/}run/mysqld/mysqld.pid w,
/{,var/}run/mysqld/mysqld.sock w,
/sys/devices/system/cpu/ r,
}我的第二个实例数据目录路径是:/var/lib/mysql-database/mysqld2 2/mysql请让我知道如何解决这个问题。提前谢谢。
发布于 2013-01-21 05:21:57
我看了看这个
/usr/sbin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13)这是文件权限问题。
请访问Linux并运行
cd /var/lib/mysql-databases/
chown -R mysql:mysql mysqld2现在,您应该能够重新启动端口3307的mysql。
发布于 2013-01-20 17:59:03
我认为您需要两个不同的my.cnf文件-每个mysql实例一个。
对于端口、套接字、pid文件数据,您将需要在每个文件中分别设置值(如果您计划使用复制;服务器id、中继日志、中继日志-信息文件、中继日志索引)。
创建这两个文件,然后像这样启动实例;
/usr/bin/mysqld_defaults默认值-file=/etc/mysql/my1.cnf
/usr/bin/mysqld_defaults默认值-file=/etc/mysql/my2.cnf
https://dba.stackexchange.com/questions/33239
复制相似问题