ubuntu mysql挂载盘变更

ubuntu mysql挂载盘变更

注:本章介绍,只是单纯修改数据库存储位置,其他mysql功能等功能未修改

1.查看服务器基本信息

命令:df -h

[email protected]:/home# df -h

Filesystem Size Used Avail Use% Mounted on

udev 7.9G 0 7.9G 0% /dev

tmpfs 1.6G 3.5M 1.6G 1% /run

/dev/vda1 40G 11G 27G 28% / <====a

tmpfs 7.9G 0 7.9G 0% /dev/shm

tmpfs 5.0M 0 5.0M 0% /run/lock

tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup

tmpfs 1.6G 0 1.6G 0% /run/user/0

/dev/vdb1 939G 319G 573G 36% /media/data <====b

<====a 中为原有mysql挂载位置

<====b 为需要转移挂载位置

2.查看mysql的配置文件

进入目录

[email protected]:/etc/mysql/mysql.conf.d# pwd

/etc/mysql/mysql.conf.d

cd /etc/mysql/mysql.conf.d

vim mysqld.cnf

[mysqld]
#
# * Basic Settings
#
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking

[datadir = /var/lib/mysql] 即为当前mysql存储路径

迁移

1.创建文件夹

[email protected]:/var/lib# ll /var/lib/
total 184
drwxr-xr-x 46 root  root  4096 Nov 23 16:31 ./
drwxr-xr-x 12 root  root  4096 Nov 23 16:31 ../
drwxr-x---  2 root  root  4096 Aug 28 15:59 metricbeat/
drwxr-xr-x  2 root  root  4096 Apr 13  2016 misc/
drwxr-xr-x  2 root  root  4096 Dec  3 06:25 mlocate/
drwx------ 10 mysql mysql 4096 Nov  5 20:53 mysql/
drwx------  2 mysql mysql 4096 Aug 28 14:21 mysql-files/
drwx------  2 mysql mysql 4096 Aug 28 14:21 mysql-keyring/
drwxr-xr-x  2 root  root  4096 Jul 28 01:55 mysql-upgrade/

看清楚 mysql文件的权限 为 700 且 用户和用户组 都为 mysql,接下来的创建 文件夹必须和这个一样:

修改所属用户 和所属用户组为 msyql

sudo chown -vR mysql:mysql /mysqldata/

修改权限

sudo chmod -vR 700 /mysqldata/

迁移文件

进入 /var/lib 建议使用cp命令 防止万一出现问题

使用su命令 切换到 root 因为 权限 为 700

[email protected]:~# cd /media/data/

[email protected]:/media/data# mkdir mysqldata

[email protected]:/media/data# chown -vR mysql:mysql mysqldata/

changed ownership of ‘mysqldata/‘ from root:root to mysql:mysql

[email protected]:/media/data# chmod -vR 700 mysqldata/

mode of ‘mysqldata/‘ changed from 0755 (rwxr-xr-x) to 0700 (rwx------)

[email protected]:/media/data# ll

total 40

drwxr-xr-x 7 root root 4096 Dec 3 18:21 ./

drwxr-xr-x 5 root root 4096 Aug 30 14:08 ../

drwx------ 2 root root 16384 Aug 30 14:08 lost+found/

drwx------ 2 mysql mysql 4096 Dec 3 18:21 mysqldata/ <====

drwxr-xr-x 5 root root 4096 Nov 14 19:02 Tianqiao_liu/

drwxr-xr-x 14 root root 4096 Dec 1 21:06 workplace/

drwxr-xr-x 14 root root 4096 Oct 28 11:48 workplace_backup/

2.复制文件到新文件中

为了保证 目录权限和属性 和以前的一致 ,加 av 后缀

[email protected]:/media/data# cp -av /var/lib/mysql/* /media/data/mysqldata/

3.修改mysql的配置文件:

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

[mysqld]
#
# * Basic Settings
#
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking

修改: datadir = /media/data/mysqldata

[mysqld]
#
# * Basic Settings
#
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /media/data/mysqldata
tmpdir          = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking

4.修改usr.sbin.mysqld的配置文件:

以上mysql的配置修改完毕

但是 还有 在ubuntu中 有些敏感操作受到了apparmor.d 的限制 ,mysql也受到了限制 所以要修改这个

vim /etc/apparmor.d/usr.sbin.mysqld

在这个文件里找到了修改之前的 mysql 数据库路径:/var/lib/mysql。

改成修改后的数据目录地址

按照示例修改

# Allow data dir access
  /var/lib/mysql/ r,
  /var/lib/mysql/** rwk,

修改为:

# Allow data dir access
  /media/data/mysqldata/ r,
  /media/data/mysqldata/** rwk,

5.重启

这里 配置和迁移已经修改完成

从新启动 apparmor 和 mssql

sudo service apparmor reload

sudo service mysql start

6.检测迁移成功

测试 是否迁移成功

a.navicat 建数据库zgc_test_temp

b. 看是否在 修改的 目录中 有 创建 文件夹,如果有说明迁移成功,同样 为了查看 要使用root 删除也要用root

[email protected]:/media/data/mysqldata# ll
total 188480
drwx------ 11 mysql mysql     4096 Dec  3 18:45 ./
drwxr-xr-x  7 root  root      4096 Dec  3 18:21 ../
-rw-r-----  1 mysql mysql       56 Aug 28 14:21 auto.cnf
-rw-r--r--  1 root  root         0 Aug 28 14:21 debian-5.7.flag
drwxr-x---  2 mysql mysql     4096 Sep  6 22:52 dev_koushuti/
-rw-r-----  1 mysql mysql    14097 Dec  3 18:12 ib_buffer_pool
-rw-r-----  1 mysql mysql 79691776 Dec  3 18:42 ibdata1
-rw-r-----  1 mysql mysql 50331648 Dec  3 18:42 ib_logfile0
-rw-r-----  1 mysql mysql 50331648 Dec  3 18:42 ib_logfile1
-rw-r-----  1 mysql mysql 12582912 Dec  3 18:46 ibtmp1
drwxr-x---  2 mysql mysql     4096 Aug 28 14:27 kou_shu_ti_url/
drwxr-x---  2 mysql mysql     4096 Aug 28 14:21 mysql/
drwxr-x---  2 mysql mysql     4096 Aug 28 14:21 performance_schema/
drwxr-x---  2 mysql mysql     4096 Sep  5 08:54 test/
drwxr-x---  2 mysql mysql     4096 Nov 25 21:26 test_koushuti/
drwxr-x---  2 mysql mysql     4096 Sep 26 18:03 user/
drwxr-x---  2 mysql mysql     4096 Dec  3 18:45 zgc_test_temp/
drwxr-x---  2 mysql mysql     4096 Nov  7 20:59 zlgc/

参考文献 https://blog.csdn.net/wang794686714/article/details/39273385

https://blog.csdn.net/pony_maggie/article/details/78753325

原文地址:https://www.cnblogs.com/zgcblog/p/10192126.html

时间: 2024-11-08 23:43:05

ubuntu mysql挂载盘变更的相关文章

Ubuntu下U盘文件只读的解决办法

Ubuntu下U盘文件只读的解决办法 解决方法: 1. 在Ubuntu终端运行如下命令 tail -f /var/log/syslog 2. 插入有只读文件系统故障的U盘 3. 观察命令行输出 输出局部如下: Jul816:44:50 cslouis-pc kernel:[15595.155904] FAT:Filesystem error (dev sdb4) Jul816:44:50 cslouis-pc kernel:[15595.155905] fat_get_cluster: inva

MySQL存盘阻塞“Lost connection to MySQL server during query”

公测以来的两次全服维护,都遇到了个别服务器停服时间异常长的情况,具体表现为停服流程阻塞在MySQL存盘,待存储数据一直不减少,持续大概一个小时到两个小时之后继续存储,成功停服,并SQLError报错“Lost connection to MySQL server during query”. 这两天同事查询一些资料大致弄清了问题原因,我们服务器停服瞬间会像MySQL发送大量数据进行存储,数据量过大触发了MySQL的net_read_timeout超时,MySQL报错断开连接,而服务器这边无法直接

使用虚拟机挂载盘权限问题

我有些项目是用virtualBox搭建的虚拟器来开发的,最近才遇到挂载盘文件权限问题. 进去挂载盘目录下,你会发现,无论怎么修改文件权限,里面的文件还是root所有者,vboxsf 权限组,770权限, 如果文件有些是需要修改权限的,这样程序会出错,但是文件权限又改不了.这个时候你可以将程序用户加入vboxsf权限组,问题就解决了. usermod -a -G vboxsf www(程序用户)

[实战]MVC5+EF6+MySql企业网盘实战(23)——文档列表

写在前面 上篇文章实现了图片列表,这篇文章实现文档列表将轻车熟路,因为逻辑基本相似,只是查询条件的不同.这里将txt,doc,docx,ppt,pptx,xls,xlsx的文件都归为文档列表中. 系列文章 [EF]vs15+ef6+mysql code first方式 [实战]MVC5+EF6+MySql企业网盘实战(1) [实战]MVC5+EF6+MySql企业网盘实战(2)——用户注册 [实战]MVC5+EF6+MySql企业网盘实战(3)——验证码 [实战]MVC5+EF6+MySql企业

[实战]MVC5+EF6+MySql企业网盘实战(13)——思考

写在前面 从上面更新编辑文件夹,就一直在思考一个问题,之前做的编辑文件名已经文件夹名称,只是逻辑上的修改,但是保存的物理文件或者文件夹名称并没有进行修改,这样就导致一个问题,就是在文件或者文件夹修改名称后就会找不到物理文件,因为路径或者文件名错误了.所以就有了这篇文章的思考.当然,修改物理文件确实能实现,但是会频繁的操作io,性能会非常的差,如果一个文件非常大,你可想而知这种效率有多么底下. 系列文章 [EF]vs15+ef6+mysql code first方式 [实战]MVC5+EF6+My

[实战]MVC5+EF6+MySql企业网盘实战(9)——编辑文件名

写在前面 上篇文章实现了文件的下载,本篇文章将实现编辑文件名的功能. 系列文章 [EF]vs15+ef6+mysql code first方式 [实战]MVC5+EF6+MySql企业网盘实战(1) [实战]MVC5+EF6+MySql企业网盘实战(2)——用户注册 [实战]MVC5+EF6+MySql企业网盘实战(3)——验证码 [实战]MVC5+EF6+MySql企业网盘实战(4)——上传头像 [Bootstrap]modal弹出框 [实战]MVC5+EF6+MySql企业网盘实战(5)——

更改ubuntu mysql data目录位置

更改ubuntu mysql data目录位置 很多时候,mysql的数据会非常大,数据默认放在/var/lib/mysql,由于/var所划分的空间不够大,所以我们需要将mysql数据存放路径修改一下,放到大分区里面,以便可以应付mysql数据增长. 1.设置新的存放路径 mkdir -p /data/mysql 2.复制原有数据 cp -R /var/lib/mysql/* /data/mysql 3.修改权限 chown -R mysql:mysql /data/mysql 4.修改配置文

ubuntu mysql install

http://cycnet.blog.51cto.com/117809/812625/ ubuntu mysql install,布布扣,bubuko.com

ubuntu mysql emma中文乱码问题解决

ubuntu mysql emma中文乱码问题解决 emma默认用apt-get 安装的话,emma是不支持中文的,配置文件或直接修改emma程序源文件(python). apt-get安装emma sudo apt-get install emma ubuntu的apt-get 安装emma是在/usr/share/emma目录下面. cd /usr/share/emma/emmalib sudo vim __init__.py 找到 "db_encoding": "lat