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/mycnf,这个也是需要su的:
sudo vi /etc/mycnf
里面有一个字段叫[mysqld],将datadir和socket修改成这样:
datadir=/data/mysql
socket=/data/mysql/mysqlsock
接下来,有的人说要修改/etc/initd/mysqld,但我的服务器不需要,直接通过
service mysqld start就可以启动SQL服务了,远程也可以连接上,但是:
当你使用终端mysql -u root -p的时候,就会报下面这个错:
Can't connect to local MySQL server through socket '/var/lib/mysql/mysqlsock'
这个时候,你有两种解决办法,一种是造一个软连接
ln -s /data/mysql/mysqlsock /var/lib/mysql/mysqlsock,原因是你已经删掉之前的mysql目录了
另外一种办法,是在/etc/mycnf下面新建一个新字段:
[mysql]
socket=/data/mysql/mysqlsock
第一种方法不需要重启mysql server,第二种方法需要重启mysql server,
然后,你就可以成功地从终端里进入mysql了
敲黑板,不要在[mysql]下面自做主张地写上datadir=/data/mysql,这样会导致本地命令行登录时报错:Unknown Variable: datadir=/data/mysql
可以分离数据库的数据和事务日志文件,然后将它们重新附加到同一或其他 SQL Server 实例。如果要将数据库更改到同一计算机的不同 SQL Server 实例或要移动数据库,分离和附加数据库会很有用。
分离数据库在 SQL Server Management Studio 对象资源管理器中,连接到 SQL Server 数据库引擎 的实例,然后再展开该实例。 展开“数据库”,并选择要分离的用户数据库的名称。 右键单击数据库名称,指向“任务”,再单击“分离”。将出现“分离数据库”对话框。要分离的数据库列出要分离的数据库。 数据库名称 显示要分离的数据库的名称。删除连接断开与指定数据库的连接。 注意不能分离连接为活动状态的数据库。
附加数据库,右键单击“数据库”,然后单击“附加”。其他步骤如分离数据库 在“附加数据库”对话框中,若要指定要附加的数据库,请单击“添加”,然后在“定位数据库文件”对话框中选择数据库所在的磁盘驱动器并展开目录树,以查找并选择数据库的 mdf 文件。例如C:\Program Fille\Microsoft SQL ServerMSSQL11MSSQLSERVER\MSSQL\DATA\AdventureWorks2012_Datamdf
首先,打开服务器上已经安装好的SQL Server 2005 服务器,并且用本地Windows身份登录。
2
打开SQL Server服务器以后,点击数据库--选择附加
3
打开附加数据库界面后,点击右小角的添加
4
打开电脑上,之前备份好的完成数据库文件,然后点击确认。
5
数据库文件和其数据库日志文件,就一并加载过来了,点击确认就可以了。
6
展开数据库,就可以了看到我
们刚刚附加过来的完整数据库了,现在就可以
使用
这个数据库。
1、打开SqlServer数据库,选中要备份的数据库,右键选择任务,点击备份。
2、输入数据集名称,选择备份路径,点击确定就完成了数据库的备份。
3、右键选择任务,点击还原,选择数据库。
4、选择之前备份的数据库,点击确定。
5、至此SqlServer备份还原的操作就已完成。
要看什么数据,比如文件存储服务器,可以买2块万兆光纤网卡,直接复制,或者用软件复制,速度很快就搞定
如果带数据库,不建议直接复制,容易出问题,
数据库通过使用数据库的软件备份,比如用友,金蝶的数据库,然后复制备份数据到新服务器,原则上,以数据,从小到大开始
如果数据库实在太大,可以给使用该数据库软件的公司联系,看能不能做数据库和软件分离,单独的一台服务器只做数据库,只存放数据库数据,不负载其他软件,或者做类似分布式存储,多台服务器存储数据库数据,不集中在某一台服务器
分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:
我的两个SQL SERVER数据库S1,S2存在相同数据:2004年1月~2006年10月之间的数据,06年10月以后的数据不同,S1保存了06年11月的数据,S2保存了06年12月的数据,现在需要将S1中11月的数据转移到S2,怎么做啊?(注:S1中11月的数据与S2中12月的数据可能有ID冲突)
解析:
1 在S2数据库中新建一个表SS,将S1 2006 11 的数据导到SS表,
2 然后将SS的主键列删掉(右键菜单,设计表,将主键ID删掉)。
3 把SS数据导入S2
难点就在于ID冲突,新建一个临时表SS存放导入的数据,然后把ID删掉再导入就OK了。
1、首先打开Navicat软件,右键点击左边空白的地方,点击New Connection下的MySQL,先创建一个服务器的连接。
2、确保服务器有开了对应的端口,能远程连接,在弹出的创建新连接的窗口里,输入服务器的IP,数据库账号,密码等信息。
3、创建好连接后,打开本地的数据库,右键点击需要转移数据的数据库,点击“Data Transfer”数据传输选项。
4、接着在点击后弹出窗口,最上方选择本地数据库名称和连接的数据库,下方选择本地需要转移的数据库表。
5、然后在右边的目标里,选择服务器的数据库连接,并选择服务器上的接受数据的数据库。
6、选择完成后按回车键确定转移,当转移完成的时候下方会提示转移成功。
0条评论