修改mysql数据存储的地址

时间:2023-01-08 16:04:07

修改mysql数据存储的地址
修改步骤如下


1,修改前为默认路径/var/lib/mysql/,计划修改为/data/mysql/data

mysql> show variables like '%dir%';

+-----------------------------------------+----------------------------+

| Variable_name                           | Value                      |

+-----------------------------------------+----------------------------+

| basedir                                 | /usr                       |

| binlog_direct_non_transactional_updates | OFF                        |

| character_sets_dir                      | /usr/share/mysql/charsets/ |

| datadir                                 | /var/lib/mysql/            |

| innodb_data_home_dir                    |                            |

| innodb_log_group_home_dir               | ./                         |

| innodb_max_dirty_pages_pct              | 75                         |

| lc_messages_dir                         | /usr/share/mysql/          |

| plugin_dir                              | /usr/lib64/mysql/plugin/   |

| slave_load_tmpdir                       | /tmp                       |

| tmpdir                                  | /tmp                       |

+-----------------------------------------+----------------------------+

11 rows in set (0.00 sec)

2,关闭mysql服务

service mysql stop

3,新建目录,修改权限并cp相关文件到目标目录

新的数据存储路径为/data/mysql/data

mkdir -p /data/mysql/data

更改新路径权限宿主

chown  mysql:mysql /data/mysql/data

将原数据全部拷贝到新路径

cp  -a /var/lib/mysql/*  /data/mysql/data/

4,修改配置文件

[root@stmysql1 lib]# vi /etc/rc.d/init.d/mysql

basedir=

datadir=/data/mysql/data

5,启动mysql

service mysql start

6,修改后的地址如下,已修改成功

-bash-3.2$ mysql

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 1

Server version: 5.5.33 MySQL Community Server (GPL)

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show variables like '%dir%';

+-----------------------------------------+----------------------------+

| Variable_name                           | Value                      |

+-----------------------------------------+----------------------------+

| basedir                                 | /usr                       |

| binlog_direct_non_transactional_updates | OFF                        |

| character_sets_dir                      | /usr/share/mysql/charsets/ |

| datadir                                 | /data/mysql/data/          |

| innodb_data_home_dir                    |                            |

| innodb_log_group_home_dir               | ./                         |

| innodb_max_dirty_pages_pct              | 75                         |

| lc_messages_dir                         | /usr/share/mysql/          |

| plugin_dir                              | /usr/lib64/mysql/plugin/   |

| slave_load_tmpdir                       | /tmp                       |

| tmpdir                                  | /tmp                       |

+-----------------------------------------+----------------------------+

11 rows in set (0.00 sec)