mysql数据迁移

最近刚做完mysql数据库的迁移,简单来说就是,把一个环境的库整体搬到另外一个环境中。

1、把要搬迁的数据库dump成一个sql文件

进入mysql安装目录的bin目录:

到处表和数据:

mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql
mysqldump -uroot -p dbname > dbname .sql

导出表结构:

mysqldump -u用户名 -p密码 -d 数据库名 > 数据库名.sql
mysqldump -uroot -p -d dbname > dbname .sql

遇到的问题:

mysqldump: Got error: 2002: Can't connect to local MySQL server through socket '/data/mysql/mysql.sock' (2) when trying to connect

这是说明在连接mysql的时候需要套接字文件:

netstat -ln | grep mysql查看mysql套接字文件

使用mysqldump --socket=/data/mysql/data/mysql.sock -u用户名 -p密码 数据库名 > 数据库名.sql,导出数据库

2、在新库上查看,发现非root用户没有使用库的权限,解决方法如下

使用root登录数据库

grant all privileges on 想授权的数据库.* to 'user1'@'%';

flush privileges;刷新权限才能生效。

3、在新库导入导出的数据

使用scp 数据库.sql [email protected]:/root/xxxx,将数据文件拷贝到新库的主机上

首先建空数据库

使用show databases和show tables查看当前用户的数据库和表

mysql>create database dbname ;

导入数据库
方法一:
(1)选择数据库
mysql>use dbname ;
(2)设置数据库编码
mysql>set names utf8;
(3)导入数据(注意sql文件的路径)
mysql>source /home/xxxx/dbname .sql;
方法二:
mysql -u用户名 -p密码 数据库名 < 数据库名.sql

 

 

 

 

你可能感兴趣的:(mysql数据迁移)