安全的办法是在旧环境导出表数、在新环境建立数据库后导入表,可以使用SQL或者TXT为中间文件。
B. CentOS7下mysql数据库的迁移
想知道你的mysql装在哪里吗?CentOS7一般是装在/var/lib/mysql中的
在完成迁移之前,先用下面的指令来停止mysqld服务
service mysqld stop,或者直接点sudo systemctl stop mysqld
然后用df-h指令看服务器上剩余空间是多少,假设我们新挂了一块500G的硬盘到/data上
那么请把mysql整个文件夹拷贝到/data中,像下面这样:
sudo cp -rf /var/lib/mysql /data/mysql,拷完以后原来的mysql文件夹就可以删除了
然后再修改/etc/my.cnf,这个也是需要su的:
sudo vi /etc/my.cnf
里面有一个字段叫[mysqld],将datadir和socket修改成这样:
datadir=/data/mysql
socket=/data/mysql/mysql.sock
接下来,有的人说要修改/etc/init.d/mysqld,但我的服务器不需要,直接通过
service mysqld start就可以启动SQL服务了,远程也可以连接上,但是:
当你使用终端mysql -u root -p的时候,就会报下面这个错:
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
这个时候,你有两种解决办法,一种是造一个软连接
ln -s /data/mysql/mysql.sock /var/lib/mysql/mysql.sock,原因是你已经删掉之前的mysql目录了
另外一种办法,是在/etc/my.cnf下面新建一个新字段:
[mysql]
socket=/data/mysql/mysql.sock
第一种方法不需要重启mysql server,第二种方法需要重启mysql server,
然后,你就可以成功地从终端里进入mysql了
敲黑板,不要在[mysql]下面自做主张地写上datadir=/data/mysql,这样会导致本地命令行登录时报错:Unknown Variable: datadir=/data/mysql
C. mysql有没有好的据库之间数据转移的方法或思路呢
gh-ost 是 GitHub 发布的一款用于 MySQL 的无触发器在线模式迁移解决方案。它是可测试的,并提供暂停,动态控制/重新配置,审计和许多操作特权。它在整个迁移过程中,对主服务器产生的工作量很少,与已迁移表上的现有工作分离。
gh-ost与所有现有的在线模式更改工具都以类似的方式操作:它们以与原始表相似的方式创建幽灵表,将数据从原始表缓慢且增量地复制到幽灵表,同时应用正在进行的更改(INSERT,DELETE,UPDATE)到幽灵表。最后,在适当的时候,它用幽灵表替换了原始表。gh-ost使用相同的模式。但是,它与所有现有工具的不同之处在于不使用触发器。取而代之的是,gh-ost使用二进制日志流捕获表的更改,然后将其异步应用到幽灵表。
gh-ost 承担一些其他工具留给数据库执行的任务。gh-ost 可以更好地控制迁移过程;可以真正暂停它;可以真正将迁移的写入负载与主服务器的工作负载分离。此外,它还提供了许多可操作的特权,使其更安全、可信赖且易于使用。
D. mysql数据库迁移服务器,迁移包括所有数据库(200个左右)和账户信息(200个左右)。一数据库对应一账户。
你好,通过第二种方式导入了数据库,没有帐户,其实很简单。
你将原数据库里,mysql 库里的 user 表和 db 表导出过去就行了。因为所有的用户信息都记录在这2个表里。
user 表记录的是用户帐号及密码等,db 记录的是用户对应库和权限等。
你可以通过转储为.sql文件的方式,也可以直接在线迁移,甚至可以直接停止数据库直接拷贝这几个文件就行了。。
虽然用户密码是加密的,但整个过程中,根本也不需要知道用户的密码,直接迁移就行了。
E. 如何迁移MySQL数据库
MySQL数据库迁移
MySQL数据库迁移(数据文件直接迁移)
在今年10月下旬的时候,公司的服务器需要迁移,其中涉及到了MySQL数据库迁移。查看了一下MySQL数据文件的大小,接近60G的大小(实际数据并没用那么多)。由于服务器上业务需要,要尽量减少服务器迁移时的损失。所以迁移时间选在了晚上零点开始,而且要尽量减少迁移所用的时间。
在迁移之前有三种方案:
数据库直接导出,拷贝文件到新服务器,在新服务器上导入。
使用【MySQL
GUI
Tools】中的
MySQLMigrationTool。
数据文件和库表结构文件直接拷贝到新服务器,挂载到同样配置的MySQL服务下。
我在我的电脑上用虚拟机测试后,选中了占用时间最少的第三种方案。下面是三种方案的对比:
第一种方案的优点:会重建数据文件,减少数据文件的占用空间。
第一种方案的缺点:时间占用长。(导入导出都需要很长的时间,并且导出后的文件还要经过网络传输,也要占用一定的时间。)
第二种方案的优点:设置完成后传输无人值守
第二种方案的缺点:
设置繁琐。
传输中网络出现异常,不能及时的被发现,并且会一直停留在数据传输的状态不能被停止,如不仔细观察不会被发现异常。
传输相对其他fang时间长。
异常后很难从异常的位置继续传输。
第三种方案的优点:时间占用短,文件可断点传输。操作步骤少。(绝大部分时间都是在文件的网络传输)
第三种方案的缺点:可能引起未知问题,暂时未发现。
下面介绍一下第三种方案d迁移步骤:
保证Mysql版本一致,安装配置基本一致(注意:这里的数据文件和库表结构文件都指定在同一目录data下)
停止两边的Mysql服务(A服务器--迁移-->B服务器)
删除B服务器Mysql的data目录下所有文件
拷贝A服务器Mysql的data目录下除了ib_logfile和.err之外的文件到B服务器data下
启动B服务器的Mysql服务,检测是否发生异常
迁移完成后,服务启动正常,未发现其他异常问题。
备注:经测试,源mysql的安装目录及数据文件目录
可以与
目标Mysql的安装目录及数据文件目录
不一致。
此时,只需要拷贝您所需移动的dbname(如上:pa、testdb)及'mysql'和'ibdata1',即可。
F. MYSQL数据库如何迁移
可以找到其安装文件夹,记得你的数据库名吧.有个文件夹中就放着你的数据库直接复制出来拷贝到你新的数据库就可以使用了.
G. 如何复制MySQL数据库或表到另外一台服务器
使用这种方法前,我们需要先下载一个MySQL客户端工具SqlYog。点击这里下载并安装x0dx0ax0dx0a下面我们开始复制数据库:x0dx0a1、打开SqlYog community Edition,分别在不同的选项卡中打开源数据库服务器与目标数据库服务器,这一点很重。x0dx0ax0dx0a在源数据库服务器选项卡中你将看到所有数据库列表。x0dx0a2、在需要复制迁移的数据库上右击,在弹出菜单中选择“Copy Database to Different Host/Database”x0dx0a3、在弹出对话框中,我们能看到源数据库服务器及目标服务器,在左边,通过勾选复选框来选择需要复制迁移的对象,如表、函数、触发器等,也可以选择所有对象。x0dx0a4、在右边选择需要迁移的目标服务器或数据库x0dx0a5、根据你的需要选择复制类型:“Structure and Data”或“Structure only”,即“结构和数据”或“仅结构”。x0dx0a6、选择结束后点击“Copy”按钮开始复制,知道数据迁移结束。
H. centos 7.2 迁移 mysql 数据库文件
原目录:/var/lib/mysql
新目录:/data/mysql
1.将/smp/mysql/mysql.sock文件复制到/data/db/mysql.sock,并停止运行mysql(注意,需将
mysql.sock文件复制后,才能停止mysql)
/smp/mysql/bin/mysqladmin -uroot -p shutdown
2.data目录迁移
cp -a /var/lib/mysql/* /data/mysql
3.修改/etc/my.cnf
socket=/data/db/mysql.sock(注意将原来的socket文件注释掉,方便回滚)
datadir=/data/db/data
4.建立软链接
ln -s /data/db/mysql.sock /var/lib/mysql/mysql.sock
I. MySQL数据库如何进行云端迁移
直接用木浪科技的多备份,轻松实现数据的云端迁移,操作简单,去多备份网站注册个账号基本上就OK了。