• linux下迁移mysql数据库目录


    今天收到告警zabbix服务器硬盘满

     查看硬盘,发现mysql数据文件目录是在var/lib/mysql下,查看硬盘

    [root@zabbix_server ~]# df -h
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/mapper/VolGroup-lv_root
                           50G   45G  2.3G  96% /
    tmpfs                 7.8G  888K  7.8G   1% /dev/shm
    /dev/sda1             477M   40M  412M   9% /boot
    /dev/mapper/VolGroup-lv_home
                          492G   46G  422G  10% /home

    发现/目录只有2.3G可用空间了,而/home目录下有422G可用空间,于是打算把mysql数据库目录迁移到home下

    一、在home下建立mysql_data目录

    [root@zabbix_server home]# mkdir mysql_data

    二、停止mysql服务

    [root@zabbix_server lib]# service mysqld stop
    停止 mysqld: [确定]

    三、切换到/var/lib/mysql目录下,复制数据文件

    [root@zabbix_server lib]# cp -a mysql /home/mysql_data/

    四、修改/etc/my.cnf文件里相应的目录

    #datadir=/var/lib/mysql
    datadir=/home/mysql_data/mysql
    #socket=/var/lib/mysql/mysql.sock
    socket=/home/mysql_data/mysql/mysql.sock

    五、修改/etc/init.d/mysqd配置文件里相应的目录

    [root@zabbix_server home]# vim /etc/init.d/mysqld 
    #get_mysql_option datadir "/var/lib/mysql" mysqld
     get_mysql_option datadir "/home/mysql_data/mysql" mysqld

    六、为/home/mysql_data/mysql/mysql.sock建立/var/lib/mysql/mysql.sock软连接

    [root@zabbix_server home]# ln -s /home/mysql_data/mysql/mysql.sock /var/lib/mysql/mysql.sock

    七、启动mysql服务

    [root@zabbix_server home]# service mysqld start
    正在启动 mysqld: [确定]

    八、查看mysql进程

    [root@zabbix_server home]# ps -ef|grep msyqld
    root     17186 11579  0 10:17 pts/3    00:00:00 grep msyqld
    [root@zabbix_server home]# ps -ef|grep mysqld
    root     16740     1  0 10:15 pts/3    00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/home/mysql_data/mysql --socket=/home/mysql_data/mysql/mysql.sock --pid-file=/var/run/mysqld/mysqld.pid --basedir=/usr --user=mysql
    mysql    16934 16740 23 10:15 pts/3    00:00:26 /usr/sbin/mysqld --basedir=/usr --datadir=/home/mysql_data/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/home/mysql_data/mysql/mysql.sock
    root     17189 11579  0 10:17 pts/3    00:00:00 grep mysqld

    发现--datadir已经设置成了/home/mysql_data/mysql

  • 相关阅读:
    八数码
    狂神说笔记——多线程05
    狂神说笔记——Java SE基础03
    从零开始的卷积神经网络
    深度学习与机器学习的区别
    模型的评估与选择
    经验风险VS风险函数
    常见的损失函数
    Erlang聊天室
    uniapp APP端 清除缓存
  • 原文地址:https://www.cnblogs.com/sky-cheng/p/12195461.html
Copyright © 2020-2023  润新知