• mysql 5.7更改数据库的数据存储位置


    1.修改mysql数据存放的目录

    要修改两个地方,其一是修改/etc/my.cnf文件中的datadir。默认情况下:

    datadir=/var/lib/mysql

    因为我的/data/目录比较大,所以将其改为:

    datadir=/data/mysql/

    还要修改/etc/init.d/mysqld文件,将datadir=”$result”改为:

    datadir=”/data/mysql”
    

    2.停止mysql服务

    service mysql stop

    3.创建新的数据存放目录

    mkdir /data/mysql

    4.将数据移动到新的数据库存放目录里面

    mv /usr/local/mysql/data/* /data/mysql

    针对MyISAM引擎, 数据文件以”*.frm”,”*.MYD”,”*.MYI”三个文件存储于”/var/lib/mysql”目录下的对应数据库文件夹中。直接将这些文件移动到新的数据存放目录里面,就可以。

    针对innoDB引擎,数据则存储在”$innodb_data_home_dir” 的ibdata1文件中(一般情况),结构文件存在于table_name.frm中。

    5.修改mysql数据库目录权限以及配置文件

     
    chown mysql:mysql -R /data/mysql/

    6.修改socket

    在两个地方修改socket,/etc/my.cnf

    socket=/data/mysql/mysql.sock
    

    创建一个连接文件到/var/lib/mysql/mysql.sock

    ln -s /data/mysql/mysql.sock /var/lib/mysql/mysql.sock

    7.重启mysql服务

    service mysql restart

    读写:

    1
    ERROR 1146 (42S02): Table ** doesn't exist

    创建表:

    1
    ERROR 1005 (HY000): Can't create table ‘runoob_tbl' (errno: 13)

    解决办法:

    在/data/mysql目录下,删掉ib_logfile*文件,这样innoDB引擎的表就正常了。

    再执行

    mysql> REPAIR TABLE ***;
  • 相关阅读:
    Office2007界面风格的绿色软件针式个人知识库管理系统[V3.5]
    Mentor工具简介
    Xilinx网站资源导读
    FPGA时钟问题的探讨汇总
    FPGA中竞争冒险问题的研究
    一些IC前端设计工具
    SPI协议简介
    USB接口定义
    TTL与CMOS电平的区别
    Synopsys工具简介
  • 原文地址:https://www.cnblogs.com/heitaoq/p/8798241.html
Copyright © 2020-2023  润新知