Home > Database > Mysql Tutorial > Detailed explanation of examples of changing database data storage location in mysql 5.7

Detailed explanation of examples of changing database data storage location in mysql 5.7

Y2J
Release: 2017-05-22 14:41:51
Original
2751 people have browsed it

As the data stored in the MySQL database gradually becomes larger, the original space for storing data has been filled up, causing mysql to be unable to connect. Therefore, we need to change the place where the stored data is stored. The following editor will share with you the solution to changing the data storage location of the database in MySQL 5.7. Let’s take a look.

As the data stored in the MySQL database gradually becomes larger, it has been The original space for storing data is full, causing mysql to be unable to connect. Therefore, it is necessary to change the place where the data is stored. Here are some steps in the process. Make a note of it and review it later.

1. Modify the directory where mysql data is stored

There are two places to modify. One is to modify the datadir in the /etc/my.cnf file. By default:

datadir=/var/lib/mysql
Copy after login

Because my /data/ directory is relatively large, I changed it to:

datadir=/data/mysql/
Copy after login

Also modify /etc/init.d/mysqldFile, change datadir="$result" to:

datadir=”/data/mysql”
Copy after login

2. Stop the mysql service

service mysql stop
Copy after login

3. Create New data storage directory

mkdir /data/mysql
Copy after login

4. Move the data to the new database storage directory

mv /usr/local/mysql/data/* /data/mysql
Copy after login

A few additional points here Knowledge, the data files of the innoDB engine and the MyISAM engine are different.

For the MyISAM engine, the data files are stored in the "/var/lib/mysql" directory in three files: "*.frm", "*.MYD", and "*.MYI" in the corresponding database folder under . Just move these files directly to the new data storage directory.

For the innoDB engine, the data is stored in the ibdata1 file of "$innodb_data_home_dir" (generally), and the structure file exists in table_name.frm.

5. Modify the mysql database directory permissions and configuration file

chown mysql:mysql -R /data/mysql/
Copy after login

6. Modify the socket

Modify the socket in two places, /etc/my.cnf

socket=/data/mysql/mysql.sock
Copy after login

Create a connection file to /var/lib/mysql/mysql.sock

ln -s /data/mysql/mysql.sock /var/lib/mysql/mysql.sock
Copy after login

7. Restart mysql Service

executes

service mysql restart
Copy after login

and starts reading and writing operations on the database. It is found that there is such a problem:

Reading and writing:

ERROR 1146 (42S02): Table ** doesn't exist
Copy after login

Create table :

ERROR 1005 (HY000): Can't create table ‘runoob_tbl' (errno: 13)
Copy after login

Solution:

In the /data/mysql directory, delete the ib_logfile* file, so that the innoDB engine table will be normal .

Execute again

mysql> REPAIR TABLE ***;
Copy after login

For tables with relatively large data volume, this process may be slower. After the execution is completed, the tables of the MyISAM engine are also normal.

Mysql related topics, friends in need can refer to

Database Operations in MySQLKnowledge Summary

Mysql Getting StartedTutorial

Mysql error reporting and solutions

Mysql root password operation method

[Related recommendations]

1. Mysql free video tutorial

2. Detailed explanation of how to import mysql big data into Navicat and report an error

3. Detailed explanation of examples of unlocking and locking tables in MYSQL

4. How to improve the query speed of millions of databases

5. 5 common database design mistakes

The above is the detailed content of Detailed explanation of examples of changing database data storage location in mysql 5.7. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template