Mysql因意外情况,导致无法启动,数据库未做备份的情况下,如何将数据迁移至其他数据库中。

原数据库地址:192.168.1.100(以下简称A服务器)
新数据库地址:192.168.2.100(以下简称B服务器)
进入A服务器,输入命令
cat /etc/my.cnf
当前文件夹里面就是mysql中所有库的数据文件存放位置。
下面以bus文件夹中文件,演示具体如何恢复文件。
进入B服务器,创建与A服务器bus库,用户名,密码相同的库。创建成功后,通过上面方法,进入数据文件目录,也会出现一个bus文件夹。
停止B服务器mysql服务,将A服务器中bus文件夹中,除db.opt文件外的其他文件打包,发送至B服务器数据目录的bus文件夹中。解压。
通过命令行,将/www/server/data/bus文件夹的所有者和组,更改成mysql
更改成功后,启动B服务器数据库,进入数据库后,如提示
error: 1146: Table doesn't exist,
至此,数据文件恢复数据库工作完成,
注1:如未改动数据文件夹所有者和组,启动数据库后,进入bus库点击相应表名会出现 ERROR #1017 :Can't find file: '/xxx.frm' 错误或ERROR #1036 Table '表名' is read only
注2:如数据库较多,可能会发现,部分数据库文件中有.frm .MYD .MYI这三种文件,部分数据库中只有.frm文件,这是因为MySQL存储表的时候,使用的默认数据库存储引擎是InnoDB,而使用InnoDB存储引擎的时候,是不生成.MYD 和.MYI文件的。
1. 不一定必要。2. 因为MySQL是一种数据库管理系统,它的启动与否取决于服务器的需求。如果服务器需要在开机时立即访问MySQL,则需要将其设置为开机启动。但如果服务器不需要立即访问MySQL,那么MySQL的开机启动就不是必要的。3. 如果服务器需要在开机时立即访问MySQL,那么可以将MySQL设置为开机启动,这样可以省去手动启动MySQL的步骤,提高服务器的效率。但如果服务器不需要立即访问MySQL,那么可以将MySQL设置为手动启动,这样可以节省系统资源,提高服务器的性能。
在windows中一般情况下mysql安装好之后就是开机自动启动不需要设置,但是如果是通过yum安装MySQL后,默认开机时不会自动启动,需要手动设置MySQL让它开机自启动。 首先,通过chkconfig命令看看MySQL在不在可管理的列表中,命令是: chkconfig --list如果列表中没有mysqld这个,需要先用这个命令添加: chkconfig add mysqld 然后用这个命令设置开机启动: chkconfig mysqld on 最后确认一下是否设置成功