2016-07-06 169 views
0

如何在没有root权限/写入权限的情况下启动mysql? 我收到以下错误没有root权限的Mysql

host13:~/JS> mysqld start 
160706 18:06:31 [Warning] Can't create test file /tool/p64/.package/mysql-5.5.21/data/host13.lower-test 
160706 18:06:31 [Warning] Can't create test file /tool/p64/.package/mysql-5.5.21/data/host13.lower-test 
mysqld: Table 'mysql.plugin' doesn't exist 
160706 18:06:31 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it. 
160706 18:06:31 InnoDB: The InnoDB memory heap is disabled 
160706 18:06:31 InnoDB: Mutexes and rw_locks use GCC atomic builtins 
160706 18:06:31 InnoDB: Compressed tables use zlib 1.2.3 
160706 18:06:31 InnoDB: Initializing buffer pool, size = 128.0M 
160706 18:06:31 InnoDB: Completed initialization of buffer pool 
160706 18:06:31 InnoDB: Operating system error number 30 in a file operation. 
InnoDB: Error number 30 means 'Read-only file system'. 
InnoDB: Some operating system error numbers are described at 
InnoDB: http://dev.mysql.com/doc/refman/5.5/en/operating-system-error-codes.html 
InnoDB: File name ./ibdata1 
InnoDB: File operation call: 'create'. 
InnoDB: Cannot continue operation. 
+0

只读文件系统不是特权问题。这意味着文件系统使用“ro”选项进行安装,因此无人可以写入。 – Barmar

回答

1

您可以将MySQL数据目录到你能写到哪,然后在/etc/my.cnf指定它(或可能取决于你的系统默认的另一个位置),参数为datadir

如果你的数据目录尚未初始化(在这种情况下mysqld会抱怨缺少授权表),你可以这样创建它们:

mysql_install_db --datadir=$path_to_new_datadir 
+0

谢谢..我能用这个建议取得一些进展。 但是打到 '[错误]无法打开mysql.plugin表。请运行mysql_upgrade来创建它。 [错误]致命错误:无法打开并锁定权限表:表'mysql.host'不存在' 是否有推荐的阅读材料可以帮助我? – Jean

+0

编辑中包含的解决方案。 –

0

总结答案:

# Setup DB 
mysql_install_db --datadir=<FULL PATH TO STORE DB FILES> 

# Start server 
mysqld --datadir=<FULL PATH TO STORE DB FILES> 

# Shutdown server 
mysqladmin -u root shutdown 

备注:
1. =datadir之后 - 没有这些命令将失败
2.完整路径d被使用