Linux Centos 迁移Mysql 数据位置

Linux Centos 迁移Mysql 数据位置

由于业务量增加导致安装在系统盘(20G)磁盘空间被占满了, 现在进行数据库的迁移. Mysql 是通过 yum 安装的.

Centos6.5Mysql5.1

yum 安装的 mysql 服务

查看 mysql 的安装路径

执行查询 SQL

show variables like ‘%dir%‘;

datadir 就是数据路径

转移操作

  • 新建 mysql 数据目录

    mkdir /data/mysqlData
    
  • 停止mysql服务
    service mysqld stop

    输入密码, 等待停止

  • 把 /var/lib/mysql 整个目录复制到 /data/mysqlData
    cp -rf /var/lib/mysql /data/mysqlData/
    
  • 修改 my.cnf 文件
    cp /etc/my.cnf /etc/my.cnf.bak
    vim /etc/my.cnf
    

    文件内容如下, 需要修改 datadir , socket 对应的目录

    [mysqld]
    default-character-set=utf8
    #datadir=/var/lib/mysql
    datadir=/data/mysqlData/mysql ####
    #socket=/var/lib/mysql/mysql.sock
    socket=/var/lib/mysql/mysql.sock ####
    user=mysql
    # Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0
    
    [mysqld_safe]
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid
    
     [mysql]
           default-character-set=utf8
    [client]
           default-character-set=utf8
    
  • 修改MySQL启动脚本 /etc/init.d/mysqld
    vim /etc/init.d/mysqld
    
修改文件中`datadir`路径

#get_mysql_option mysqld datadir "/var/lib/mysql"
get_mysql_option mysqld datadir "/data/mysqlData/mysql"

因为是通过`yum`安装的需要修改`/usr/lib64/mysql/mysql_config`文件

vim /usr/lib64/mysql/mysql_config

修改内容

#ldata=‘/var/lib/mysql‘
ldata=‘/data/mysqlData/mysql‘
#socket=‘/var/lib/mysql/mysql.sock‘
socket=‘/data/mysqlData/mysql/mysql.sock‘
  • 修改权限

    [root@sample ~]# chown -R mysql:mysql /data/mysqlData/mysql/ ← 改变数据库的归属为    mysql
    

重启mysql服务

service mysqld restart

执行一下查询 sql

show variables like ‘%dir%‘;

发现 datadir 的路径变了, 可以正常的运行 sql , 证明可以正常的获取数据了.

总结

这次操作是在测试服务器上操作的, 心情还是很紧张, 如果需要操作线上的数据库, 一定要谨慎, 一定要谨慎, 一定要谨慎. 一定要注意备份. 这次迁移要保证在20分钟完成, 这样减少一下损失.

注意:warning:

:warning: 通过 yum 安装的需要修改/usr/lib64/mysql/mysql_config文件

原文地址:https://www.cnblogs.com/zmdComeOn/p/11385834.html

时间: 2024-10-10 13:20:28

Linux Centos 迁移Mysql 数据位置的相关文章

迁移mysql数据到oracle上

转自:http://www.cnblogs.com/Warmsunshine/p/4651283.html 我是生成的文件里面的master.sql里面的sql,一个一个拷出来的. 迁移mysql数据到oracle上 一.   服务器本地安装Oracle11G或10G 二.   在运行中输入sqlplus /nolog,oracle中创建表空间. 三.   安装完成后在运行中输入 sql developer打开sql developer (就是本机自带的) 四.   选择jdk版路径(jdk版本

阿里云 CentOS下面 Mysql 数据迁移

本次Mysql数据迁移, 只是从阿里云的CentOS系统盘中,把mysql的data数据, 迁移到非系统盘中. 起因: 由于购买阿里云时候,  默认的系统盘只有20G.  后又购买了100G磁盘空间, 这时, 需要把原mysql数据, 迁移到新的磁盘分区中. 所有的操作步骤记录如下: 1. 新挂载磁盘分区: mount, 并设置为重启后自动加载. 2. 暂时关闭nginx服务器. 再关闭mysql服务器. 3. 修改/etc/my.cnf配置文件, 将里面的路径, 修改为新磁盘中的, 需要保存m

linux上改变mysql数据文件的位置

用软连接改变了/var/lib/mysql的位置,并设置好mysql.mysql的权限,但是发现还是不能启动. 发现/var/log/mysqld.log 150308 16:16:02 [Warning] Can't create test file /var/lib/mysql/Gadget.lower-test 150308 16:16:02 [Warning] Can't create test file /var/lib/mysql/Gadget.lower-test/usr/libe

Linux上检查MySQL数据表的存储引擎类型三板斧

MySQl主要使用两种存储引擎:MyISAM 和 Innodb.MyISAM是非事务的,因此拥有读取更快,然而InnoDB完全支持细颗粒度的事务锁定(比如:commit/rollback).当你创建一张新的MySQL表时,你要选择它的类型(也就是存储引擎).如果没有选择,你就会使用与预设置的默认引擎. 如果你想要知道已经存在的MySQL数据表的类型,这里有几种方法达到. 方法一 如果你可以访问phpMyAdmin,你可以从phpMyAdmin找出默认的数据库类型.从phpMyAdmin中选中数据

centos下mysql数据迁移方法

第一种: 原始数据库不需要重新安装: 默认mysql会安装在/var/lib/mysql这里,若将数据迁移到/data/mysql目录下,步骤如下: 1.停止mysql服务 2.#cp /var/lib/mysql/* /data/mysql/ #chown -R mysql.mysql /data/mysql 3.修改my.cnf文件 basedir = /usr datadir = /data/mysql socket = /data/mysql/mysql.sock pid-file =

Centos更改mysql数据存储文件位置

问题: 1,出现了问题[[email protected] mysql]# service mysql restart MySQL server PID file could not be found![失败] Starting MySQL...The server quit without updating PID file (/usr/local/mysql/data/rekfan.pid).[失败] 我的解决方式: /usr/local/mysql/data/rekfan.pid文件没有写

Linux centos安装mysql(解压手动安装)

系统版本: [[email protected] ~]# uname -r 2.6.32-358.el6.i686 [[email protected] ~]# cat /etc/issue CentOS release 6.4 (Final) Kernel \r on an \m 下载linux generic 32bit的mysql包(http://dev.mysql.com/downloads/mysql/ ). 步骤开始: 1,直接wget下载,或者下载后上传到服务器端. 2,解压. 3

Linux - centos 7 mysql安装

安装 CentOS Linux release 7.1.1503 (Core)下载地址链接:https://pan.baidu.com/s/1c2rWsbm 密码:5nrt #yum -y install mysql#yum -y install mysql-devel#yum -y install wget# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm# rpm -ivh mysql-commun

Linux(CentOS) 安装MySQL 5.7

#MySQL简介 (1)MySQL行业主流版本 - 5.6 - 5.7 (2)企业版本选择 - Oracle:   MySQL官方版本 - RedHat:  MariaDB - Percona: PerconaDB (3)版本选择 - 一般选择 5.6 或 5.7 - GA - 6-12月的产品版本 #下载MySQL - From官网: https://dev.mysql.com/downloads/ - 本文选择: https://cdn.mysql.com/archives/mysql-5.