MySQL / MariaDB 转移到新主机


以下文章会介绍将 MySQL / MariaDB 转移到新主机的方法, 在转移前最好确定两台主机安装的 MySQL / MariaDB 版本相同, 这样出问题的机会会较少。

要完整转移 MySQL 服务器, 包括所有 MySQL 数据库、使用者帐号及权限到新主机, 只需将 MySQL 的资料目录及 my.cnf 复制到新主机, 并设定权限即可, 复制资料到新主机可以用 Rsync 完成, 可以参考以下文章:

rsync 透过 SSH 传送及备份档案
Rsync 备份本地及远端目录

以下假设 MySQL 的资料目录在 /var/lib/mysq/, 而 my.cnf 在 /etc/my.cnf, 在旧主机执行以下指令:

先关闭 MySQL 服务器:

# systemctl stop mysqld

# systemctl stop mariadb

现在可以复制资料:

# rsync -avz /var/lib/mysql/* username@new-server-ip:/var/lib/mysql/
# rsync -avz /etc/my.cnf username@new-server-ip:/var/lib/mysql/

以上指令会以 username 作为登入帐号,new-server-ip 是新主机的 ip.

资料复制到新主机后, 在新主机设定。

将 my.cnf 放到 /etc/

# mv /var/lib/mysql/my.cnf /etc/

执行 chown 设定正确的权限:

# chown mysql:mysql -R /var/lib/mysql/

现在可以启动新主机的 MySQL 服务器:

# systemctl start mysqld

# systemctl start mariadb

成功启动 MySQL Server 后, 登入 MySQL 检视资料是否转移成功:

# mysql -u user -p
# show databases;

Leave a Reply