ubuntu下mysql使用ntfs格式的datadir问题

先叙述一下背景,本机硬盘2块,

120G SSD  = 60(linux ext4) + 60 (win7 NTFS)

2T 机械硬盘  = 600G NTFS + 600G NTFS + 700G NTFS

当初为了照顾win7对于ext分区兼容性的问题,将2T的3个分区都设为了NTFS的,如今就遇到了麻烦

由于mysql要处理大数据,SSD不够用,于是要转移datadir,开始使用的是ln的办法,但是怎么搞都不行

后来发现,ntfs分区的文件的owner不能更改,即使用chown更改了(没有报错),实际owner还是当前分区的挂载者(root)

试图解决这个问题,于是修改了fstab,将根据 /dev/sda1 这种格式的挂载改为UUID挂载,但是还是没有解决这个问题

于是改了datadir之后重启mysql总是报错,

zs@linux:/media/linux/lnRoot$ sudo /etc/init.d/mysql start
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mysql start

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the start(8) utility, e.g. start mysql
start: Job failed to start

于是上网搜啊搜……………..

ntfs挂载在ubuntu下面的文件权限都是777的,具体操作过程遇到的问题和解决如下:

 1. 修改 /etc/mysql/my.cnf

 代码如下 复制代码

datadir        = /var/lib/mysql

改为

datadir        = /media/MyDocuments/mysql

 尝试重启mysql

 代码如下 复制代码

sudo /etc/init.d/mysql stop

sudo /etc/init.d/mysql start

结果mysql怎么也重启不来

 查看日志,/var/log/mysql/error.log,如下:

100819 15:10:20 [Note] Plugin 'FEDERATED' is disabled.
^G/usr/sbin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13)
100819 15:10:20 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
100819 15:10:20  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: 'open'.
InnoDB: Cannot continue operation.

查了很久,基本都是说apparmor的问题,其实这个在my.cnf里面也有提到过了,

 代码如下 复制代码
# * IMPORTANT
#   If you make changes to these settings and your system uses apparmor, you may
#   also need to also adjust /etc/apparmor.d/usr.sbin.mysqld.

ok,这样的话,就明白很多了,修改/etc/apparmor.d/usr.sbin.mysqld即可。

 代码如下 复制代码
/var/lib/mysql/ r,
/var/lib/mysql/** rwk,

改为

 代码如下 复制代码
#/var/lib/mysql/ r,
#/var/lib/mysql/** rwk,
/media/MyDocuments/mysql/ r,
/media/MyDocuments/mysql/** rwk,

再运行一下:

 代码如下 复制代码
/etc/init.d/apparmor reload
时间: 2024-09-20 19:40:05

ubuntu下mysql使用ntfs格式的datadir问题的相关文章

在不格式化硬盘的前提下转成NTFS格式

  故障问题:在不格式化硬盘的前提下转成NTFS格式 故障处理:在"开始"菜单中单击"运行"命令,打开"运行"对话框,输入"cmd"并回车,在打开的命令提示符窗口中输入命令"convert X: /FS:NTFS",其中X代表欲转换文件的分区盘符.比如要将C盘从FAT32格式转换为NTFS格式,就在命令提示符窗口中输入"convert C: /FS:NTFS",然后回车.

utf-8-跪求各位大神解答!!ubuntu下mysql编码改为utf8之后中文还是乱码

问题描述 跪求各位大神解答!!ubuntu下mysql编码改为utf8之后中文还是乱码 大神们请莫先喷我为何要问这种幼稚问题TAT 情况如下: ubuntu14.04下安装mysql5.5(最简单的安装方法:apt-get install...) 考虑到mysql默认编码为latin,会出现中文乱码,所以按照网上的方法修改了 my.cnf 如下: 之后重启mysql,查看了编码 本以为一切搞定,事与愿违,我试了试插入中文的字段,结果乱码 在workbench中也是这样 apply之前: appl

关于ubuntu下mysql的使用

问题描述 关于ubuntu下mysql的使用 yiranblade@ubuntu:~$ gcc -Wall mysql_test.c -o mysql_test -lmysqlclient yiranblade@ubuntu:~$ ./mysql_test Access denied for user 'root'@'localhost' (using password: YES) yiranblade@ubuntu:~$ 进入mysql什么的都没有问题,不知道为何运行这个C文件会这样 帐号是对

windows下fat和ntfs格式的区分方法和用途

  在win98之前的DOS/Windows 95系统时,我们系统磁盘广泛使用的fat16格式,fat32格式是从windows98系统以后,被广泛使用者,现如今的XP系统也还在使用该格式,不过随着windows系统的不断更新,磁盘容量也越来越大,而fat格式却无法满足用户的需求,故此在win7/win8/win10系统下用户都使用的ntfs磁盘格式, 不同格式用途 fat16格式:这种磁盘分区容量最大为2gb,但是随着时代的发展电脑硬件都在不停的更新换代,硬盘空间也从最初非常小的空间到之后的几

Ubuntu下mysql安装和操作图文教程_Mysql

ubuntu上安装mysql非常简单只需要几条命令就可以完成. 1. sudo apt-get install mysql-server 2. apt-get isntall mysql-client 3.  sudo apt-get install libmysqlclient-dev 安装过程中会提示设置密码什么的,注意设置了不要忘了,安装完成之后可以使用如下命令来检查是否安装成功:sudo netstat -tap | grep mysql 通过上述命令检查之后,如果看到有mysql 的s

ubuntu下mysql不能远程连接数据库

MySQL远程访问的命令 格式: mysql -h主机地址 -u用户名 -p用户密码 示例: yanggang@host:~$ mysql -h192.168.1.11 -uroot -p123456 ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.1.11' (111) 出现错误!无法连接远程的MySQL数据库 MySQL远程连接数据库,有两种方式: mysql.sock和TCP/IP,前者比后者连接访问速度更快,但仅

解决ubuntu下mysql不能远程连接数据库的问题

Ubuntu10.04上自带的MySQL,执行了 root@ubuntu:~#sudo apt-get install mysql 安装完mysql-server 启动mysql root@ubuntu:~#/etc/init.d/mysql start 本地可以连接进入数据库. root@ubuntu:~#mysql -uroot -p 设置了远程访问权限: mysql> grant all PRIVILEGES on *.* to admin@'%' identified by '12345

Ubuntu下MySQL中文乱码的问题解决

发现问题 最近一段时间学习Django,在进行与MySQL数据联合使用的插入数据的时候遇到下边的问题: /usr/local/lib/python2.7/dist-packages/Django-1.11.dev20170117002028-py2.7.egg/django/db/backends/mysql/base.py:109: Warning: Incorrect string value: '\xE6\x88\x90\xE5\x8A\x9F...' for column 'json'

ubuntu下Mysql+sphinx+中文分词安装配置

一.编译先前条件 确认是否已经安装以下软件,有些也许不是必须的,但建议还是都装上. apt-get install autoconf automake autotools-dev cpp curl gawk gcc lftp libc6-dev linux-libc-dev make libpcre3-dev libpcrecpp0 g++ libtool libncurses5-dev aptitude install libmysql++-dev libmysqlclient15-dev c