请教linux mysql 迁移下mysql迁移问题

用户名:风之linux
文章数:29
评论数:25
访问量:144234
注册日期:
阅读量:1297
阅读量:3317
阅读量:582171
阅读量:466780
51CTO推荐博文
db01:10.10.10.101
db03:10.10.10.103
将db01上mysql做完整移植,迁移到db03
1. 打包db01上/app目录并scp到db03上:
&&& #tar -cvzf mysql.tar.gz /app/;scp mysql.tar.gz 10.10.10.103:/root/
2. copy db01上/etc/ld.so.conf.d/mysql.conf到db03相应目录下,即/etc/ld.so.conf.d/
&&& #scp /etc/ld.so.conf.d/mysql.conf 10.10.10.103:/etc/ld.so.conf.d/
3. 在db03上根目录下解压缩mysql.tar.gz: cd /;tar -xvf /root/mysql.tar.gz
4. 修改db03上/app/conf/f 配置文件(这里主要注销slave相应配置以正常启动mysql)
&&& #*** slave ***
&&& #master-host = 10.10.10.101
&&& #master-USER = slave_user
&&& #master-password = 123456
&&& #master-port = 3306
&&& #replicate-ignore-db=mysql,test
&&& #replicate-do-db = &dataname&
&&& #relay-LOG = relay-LOG
&&& #log-slave-updates
&&& server-id = 3 ##修改为异于其它server id的数值
5. 根据/app/conf/f配置文件新建相应目录:
&&& #mkdir -p& /log/mysql/&&& /data/mysql
&&& #mysql_install_db&& --datadir=/data/mysql/
&&& #chown mysql:mysql /log/mysql/ /data/mysql/ -R
&&& #mysql_install_db --datadir=/data/mysql/
&&& #mysql_install_db --datadir=/data/mysql/
6. 将mysql加入开机启动行列并检查:
&&& ln -s /app/init.d/mysql& /etc/init.d/chkconfig mysql on
&&& # chkconfig --list | grep mysql
&&&&& mysql&&& &&& &0:off&& &1:off&& &2:on&& &3:on&& &4:on&& &5:on&& &6:off
7. 将mysql加入PATH环境变量并使之生效:
&&& #vi /root/.bash_profile
&&& PATH=$PATH:$HOME/bin:/app/mysql/SHARE/mysql:/app/mysql/bin
&&& # source /root/.bash_profile
8. 安全起见手动加载lib库:
&&& #ldconfig
9. 测试mysql看是否能正常起动
&&& #mysql
--迁移过程如出现意外报错,请根据/var/log/messages& /log/mysql/mysqld.log错误提示信息排查本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:未分类┆阅读(0)┆评论(0)查看: 4692|回复: 11
请教linux下mysql迁移问题
论坛徽章:1
公司内部有个部门培训网站使用的是mysql数据库,占用一台高配置、大容量的物理服务器;可以预想将来的数据增长不会大到哪里去,现想把数据库迁移到一台VMware vSphere虚拟机上,将硬件资源释放出来作其他项目使用。
系统和数据库信息如下:
[root@localhost etc]# uname -a
Linux localhost.localdomain 2.6.18-194.32.1.el5PAE #1 SMP Wed Jan 5 18:43:13 EST
i686 i386 GNU/Linux
[root@localhost etc]# cat /etc/issue
CentOS release 5.5 (Final)
Kernel \r on an \m
[root@localhost etc]# mysql --version
mysql&&Ver 14.12 Distrib 5.0.77, for redhat-linux-gnu (i686) using readline 5.1
[root@localhost etc]# f
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
# Disabling symbolic-links is recommended to prevent ass
# to do so, uncomment this line:
# symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[root@localhost bin]# pwd
[root@localhost bin]# find mysql*
mysqlaccess
mysqladmin
mysqlbinlog
mysqlcheck
mysql_config
mysql_convert_table_format
mysqld_multi
mysqld_safe
mysqldumpslow
mysql_explain_log
mysql_find_rows
mysql_fix_extensions
mysql_fix_privilege_tables
mysqlhotcopy
mysqlimport
mysql_install_db
mysql_secure_installation
mysql_setpermission
mysql_tableinfo
mysqltestmanager
mysqltestmanagerc
mysqltestmanager-pwgen
mysql_tzinfo_to_sql
mysql_upgrade
mysql_upgrade_shell
mysql_waitpid
数据库是默认安装的,目录在/var/lib/mysql下
我的想法步骤如下:
一、部署一台同版本CentOS系统虚拟机,安装系统时选上Mysql服务器项目,默认安装。
二、深夜关停物理机mysql服务
三、把物理机下mysql相关的数据一概打包SCP到虚拟机上,解压覆盖
四、将物理机IP修改为其他IP后将虚拟机IP值修复为原来物理机使用的IP
五、重启虚拟机,确保mysql数据库运行正常,观察应用网站运行情况,并作详细测试使用。
六、出现异常情况,回退到最初的物理机生产环境
论坛徽章:1
之前使用VMware P2V工具成功将物理机转为虚拟机了,但虚拟机启动时文件系统故障,不能正常使用。
所以考虑迁移
认证徽章论坛徽章:8
第一 你要确定 你的是哪个存储引擎。
myisam 直接copy 即可
innodb&&假设数据不大用工具mysqldump 备份&&拷贝过去还原 ,数据大 用mydumper&&或者 innobackupex
其中 mydumper mysqldump&&都可以在 你要迁移的目的主机上面操作(远程备份) 就省下 cp过程 但是这个需要主要影响是带宽 io
innobackupex&&也可以备份文件放到远程
第四 :直接做主从也是一种,但是 备份在还原快点
第五:启动mysql 测试
论坛徽章:1
yi_yin 发表于
第一 你要确定 你的是哪个存储引擎。
myisam 直接copy 即可
我这边mysql默认引擎是myisam。这样可以直接copy了吧
(60.7 KB, 下载次数: 17)
10:52 上传
认证徽章论坛徽章:8
你要去确定 你没有新建 别的引擎的哦。
论坛徽章:1
本帖最后由 春木夏火 于
11:52 编辑
yi_yin 发表于
你要去确定 你没有新建 别的引擎的哦。
查看里面的数据表类型,除了一个session表是MEMORY外,其他都是MyISAM这种情况能适用于直接copy操作不?
认证徽章论坛徽章:8
这个显示的是默认的存储引擎 但是 你新建表的时候可以指定 存储引擎的 ,一般是不会有的 你 先复制测试下咯!或者你先去 确认所有表的存储方式!
论坛徽章:0
虚拟机mysql版本与原mysql版本一致吗?
如果数据量不大(dump文件&1G),建议锁表全库mysqldump一份,虚拟机导入数据。
如果数据量巨大,一次性迁移的话,务必保证操作系统版本、mysql版本一致;检查所有数据表存储引擎为myisam;另外要检查有没有使用存储过程、函数等
论坛徽章:0
别忘记虚拟机的my.cnf
论坛徽章:1
hurricane_old 发表于
虚拟机mysql版本与原mysql版本一致吗?
如果数据量不大(dump文件
都是CentOS 5.5 X86版本的,mysql数据库都是系统安装时连带安装的
里面一个session表是MEMORY外,其他都是MyISAM
itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有    
 北京市公安局海淀分局网监中心备案编号:10 广播电视节目制作经营许可证:编号(京)字第1149号在linux中导入sql文件的方法分享(使用命令行转移mysql数据库)
字体:[ ] 类型:转载 时间:
为使用阿里云主机,没有装ftp,也没有装phpmyadmin,所以一切都得靠命令行。转移网站的重要一步就是转移数据库,这里简单介绍一下如何在这种情况下导入sql文件
因导出sql文件
在你原来的网站服务商处利用phpmyadmin导出数据库为sql文件,这个步骤大家都会,不赘述。
上传sql文件
前面说过了,我们没有在云主机上安装ftp,怎么上传呢?
打开ftp客户端软件,例如filezilla,使用服务器IP和root及密码,连接时一定要使用SFTP方式连接,这样才能连接到linux。注意,这种方法是不安全的,但我们这里没有ftp,如果要上传本地文件到服务器,没有更好更快的方法。
我们把database.sql上传到/tmp目录。
连接到linux,登录mysql
使用putty连接到云主机。putty的使用方法这里就不介绍了。
连接之后,登录mysql
代码如下:&mysql -u root -p&password:注意,如果你之前建立了其他的mysql用户,可以选择合适的用户登录。关于mysql的命令行,你可以在其他地方学习。
把上传上去的sql导入到数据库中
按照下面的三个步骤,快速导入这个sql文件 代码如下:mysql&mysql&set names utf8;mysql&source /tmp/database.
然后屏幕上就会不断的滚,最后提示导入成功。
最后,记得将database.sql删除。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具linux下,mysql的数据文件迁移方法
当mysql安装是或者因磁盘满需要将较大的数据文件迁移到其他磁盘时,我遇到了各种困难。
不过目前算是完好的解决了
起因是,我的mysql默认是用centos的yum安装的。
数据文件默认是在:
/var/lib/mysql
文件夹下。该区域是在系统盘上(20G)。我在home下挂载了一块数据盘data。
需要把mysql数据迁移到data下。
1、数据迁移,将系统盘上的数据拷贝
cp -rf /var/lib/mysql
/home/data/
2、权限修改,修改数据权限,此时需要将/home/data/mysql赋予与原文件相同的权限
chown mysql:mysql /home/data/mysql
chown mysql:mysql
/home/data/mysql*
chmod 660&/home/data/mysql/ib*
chmod 755 home/data/mysql
660&/home/data/mysql/mysql
。。。。。。总之自己对照的把权限全部改成相同的
3、服务端配置文件修改;客户端配置文件修改;
注意:需要改的
配置文件为:
/f &(服务端、客户端配置)
修改文件:
/etc/init.d/mysqld (服务端启动文件)
到此,迁移圆满结束;
俺在实验期间,主要是权限问题卡了好久,其次是忘记写客户端配置文件,导致启动服务后,客户端找不到sock。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 linux mysql 迁移 的文章

 

随机推荐