您的位置:首页 > 数据库

数据库迁移

2016-12-05 14:24 92 查看
数据库迁移
一、 迁移前准备:

1. 申请新旧机器的root权限

2. 安装新机器mysql的server端和客户端

二、 迁出旧机器的数据库

1. 方法一:(此方法可不用申请旧的root权限)(简单)

  通过Navicat转储需要迁移的数据库

 

2方法二:

1、导出数据和表结构:

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

#/usr/local/mysql/bin/   mysqldump -uroot -p abc > abc.sql

敲回车后会提示输入密码

2、只导出表结构

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

#/usr/local/mysql/bin/   mysqldump -uroot -p -d abc > abc.sql

注:/usr/local/mysql/bin/  --->  mysql的data目录

三、 导入数据库

首先通过xshell连接数据库服务器,执行命令mysql -u root -p 命令,按照提示输入密码(默认密码为空),建议修改新密码。连接上数据库。

1、首先建空数据库

mysql>create database abc;(show databases;(查看数据库))

2、导入数据库

方法一:(简单)

mysql -u用户名 -p密码 数据库名 < 数据库名.sql

#mysql -uabc_f -p abc < abc.sql

方法二:
(1)选择数据库

mysql>use abc;
(2)设置数据库编码

mysql>set names utf8;
(3)导入数据(注意sql文件的路径)

mysql>source /home/abc/abc.sql;

四。、打开远程访问权限

MySQL> use MySQL; 
Database changed 
MySQL> grant all privileges on *.* to ‘yourUser’@'%' identified by ‘yourPassword’; 
Query OK, 0 rows affected (0.00 sec) 
*.*标示所有数据库下的所有表,’*’.*标示数据库*下的所有表
MySQL> grant all on *.* to ‘yourUser’@'%' identified by ‘yourPassword’;
Query OK, 0 rows affected (0.00 sec) 
%号出可以填写允许访问的IP地址或者主机名,%标示所有的IP
Flush privileges;
Query OK, 0 rows affected (0.00 sec) 
Mysql> exit;

五.重启mysql,即可生效

mysql重启命令 service mysqld restart

六.更改线下mysql路径

七、问题:service mysql start出错,mysql启动不了,解决mysql: unrecognized service错误

解决方法如下:

[root@ctohome.com ~]# service mysql start

mysql: unrecognized service

[root@ctohome.com ~]# service mysql restart

mysql: unrecognized service

 

[root@ctohome.com ~]# rpm -q mysql   查询发现mysql已经正常安装

mysql-5.1.52-jason.1

[root@ctohome.com ~]# /etc/rc.d/init.d/mysqld start  直接启动没问题

Starting mysqld:  [  OK  ]

[root@ctohome.com ~]# ls  /etc/rc.d/init.d/mysqld  -l

-rwxr-xr-x 1 root root 5509 Dec 18 02:31 /etc/rc.d/init.d/mysqld

[root@ctohome.com ~]# chkconfig mysqld on 设置mysql开机启动

[root@ctohome.com ~]# chmod 755 /etc/rc.d/init.d/mysqld  修改mysqld执行权限

[root@ctohome.com ~]# service mysqld start  搞定

Starting mysqld:  [  OK  ]

[root@ctohome.com ~]# service mysqld start

Starting mysqld:  [  OK  ]

[root@ctohome.com ~]# service mysqld status

mysqld (pid 9487) is running...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据库迁移