更改MariaDB 5.5的datadir

Pip*_*ipo 9 mysql configuration path mariadb

我想更改MariaDB的datadir.我的意思是我想要除了数据文件夹以外的所有文件

C:\ Program Files\MariaDB

5.5和我的数据文件

C:\用户\应用程序数据.

我不希望第一个路径中的任何数据文件(甚至是my.ini).当我进入我的命令行,并执行

C:\ Program Files\MariaDB 5.5\bin\mysqld

它不起作用,因为我在此路径中没有任何数据文件夹:

C:\ Program Files\MariaDB 5.5.

我知道我必须在my.ini中更改datadir,但问题是:如何更改my.ini的默认路径?我再说一遍,我不想要任何数据文件

C:\ Program Files\MariaDB 5.5

如果我可以更改此默认路径,那么我将只需要更改datadir.谢谢你们的答案,对不起我的英语:)

Min*_*Pan 9

我在Fedora 20中做过这个,但在你的Windows情况下,情况类似.

  1. 使用以下命令停止MariaDB:

    service mariadb stop
    
    Run Code Online (Sandbox Code Playgroud)

    或(对于最近的Fedora版本)

    sudo systemctl stop mariadb
    
    Run Code Online (Sandbox Code Playgroud)
  2. 确保新数据目录的父目录具有执行权限.

    namei -mo /path/to/directory
    chmod +x /path/to/parent
    
    Run Code Online (Sandbox Code Playgroud)
  3. 使用以下命令复制现有数据目录(默认位于/ var/lib/mysql):

    sudo cp -R -p /var/lib/mysql /newpath
    
    Run Code Online (Sandbox Code Playgroud)
  4. 使用以下命令编辑MariaDB配置文件:

    vim /etc/my.cnf.d/server.cnf
    
    Run Code Online (Sandbox Code Playgroud)

    或(对于更新的MariaDB版本)

    vim /etc/my.cnf.d/mariadb-server.cnf
    
    Run Code Online (Sandbox Code Playgroud)
  5. 查找datadir的条目,或在[mysqld]下创建一个条目,并将路径(应该是/ var/lib/mysql)更改为新的数据目录.

    datadir   = /newpath
    
    Run Code Online (Sandbox Code Playgroud)
  6. 使用以下命令重启MySQL:

    service mariadb start
    
    Run Code Online (Sandbox Code Playgroud)

    或(对于最近的Fedora版本)

    sudo systemctl start mariadb
    
    Run Code Online (Sandbox Code Playgroud)