欢迎来到个人简历网!永久域名:gerenjianli.cn (个人简历全拼+cn)
当前位置:首页 > 范文大全 > 实用文>linux下迁移mysql数据库存放目录linux操作系统

linux下迁移mysql数据库存放目录linux操作系统

2024-06-21 08:11:17 收藏本文 下载本文

“reganmian”通过精心收集,向本站投稿了9篇linux下迁移mysql数据库存放目录linux操作系统,以下是小编为大家整理后的linux下迁移mysql数据库存放目录linux操作系统,欢迎参阅,希望可以帮助到有需要的朋友。

linux下迁移mysql数据库存放目录linux操作系统

篇1:linux下迁移mysql数据库存放目录linux操作系统

在linux系统中更换或移动mysql数据库存储目录有两种办法,一种是修改改/etc/my.cnf,另一种是软连接方法,下面我们分别一看一下,

方法一:

参照windows下的方法,把/var/lib/mysql移到需要的目录,再修改/etc/my.cnf文件,指定数据目录。这方面的教程网上很多,大家可以去搜索一下。

停掉Mysql服务

在my.ini的[mysqld]里有三个设置,路径改成移动之后的路径

代码如下复制代码

basedir=”D:/MySQL-5.0.15b/”

datadir=”D:/MySQL-5.0.15b/data”

innodb_data_home_dir=”D:/MySQL-5.0.15b/data”

重新启动Mysql服务就好了。

这里分别对应的就是刚刚移动的那些文件夹里面对应的文件夹和文件

basedir,会影响bin目录,影响服务;

datadir,影响数据库存放路径;

其中basedir在迁移时一定要设置,否则基本会导致服务不能启动,ibdata1一般会在data文件夹的上一层。

另 外innodb的数据文件ibdata1如果没有放在默认位置,那么一定要设置,否则的话服务第一次可以启动,而且会在应该存放ibdata1的路径下新 建一个初始的ibdata1文件,看起来正常,但所有使用innodb存储引擎的数据库的数据都会丢失,而且再次重启时,有可能会无法启动,或者各种始料 不及的错误。

方法二:

使用linux下的软连接方法,具体操作如下:(以迁移到/home/mysql/目录为例)

先停止mysql:

代码如下复制代码

/etc/init.d/mysqld stop

移动数据:

mv /var/lib/mysql/* /home/mysql/

创建软连接:

ln -s /home/mysql/ /var/lib/mysql/

启动mysql:

/etc/init.d/mysqld start

移动数据:

mv /var/lib/mysql /home/mysql

创建软连接:

ln -s /home/mysql /var/lib/mysql

这两句命令的意思是: 将 /var/lib/ 目录下的 mysql 整个移动到 /home/ 目录,并保留原始目录属性

在 /var/lib/ 目录下创建个链接到 /home/mysql/ 目录的软连接 mysql 目录.

总结

在网上有很多朋友说了使用

移动数据:

mv /var/lib/mysql/* /home/mysql/

创建软连接:

ln -s /home/mysql/ /var/lib/mysql/

大家需要注意再注意啊,这个种方法不是不可行是不安全,

篇2:在linux下如何进行mysql命令行 创建数据库linux操作系统

我们除了可以在mysql数据库或phpmyadmin中登陆数据库我们还可以使用linux中命令进行创建,下面我来给大家介绍一个简单的数据库创建方法吧,

首选用putty连接linux服务器,进行命令行

输入mysql -u+数据库用户 -p+数据库密码

架设数据库用户是root 密码是123,应该是像下面这样才是正确的:

mysql -uroot -p123

-u和-p连接数据库用户和密码中间是不能有空格的

下面来创建数据库mydatabase

create database mydatabase;

这样一个名叫mydatabase的数据库就创建好了

show databases; 显示所有数据库列表

drop database mydatabase; 删除数据库mydatabase

那么如何退出mysql命令行呢?

在终端输入exit; 知道完全退出mysql命令行为止

附后一些常用的命令

(4) 制定TestDB数据库为当前默认数据库

mysql>use TestDB;

(5) 在TestDB数据库中创建表customers

mysql>create table customers(userid int not null, username varchar(20) not null);

(6) 显示数据库列表

mysql>show databases;

(7)显示数据库中的表

mysql>show tables;

(8)删除表customers

mysql>drop table customers;

(9)显示customers表的结构

mysql>desc customers;

(10) 向customers表中插入一条记录

mysql>insert into customers(userid, username) values(1, 'hujiahui');

(11) 让操作及时生效;

mysql>commit;

(12) 查询customers中的记录

mysql>select * from customers;

(12) 更新表中的数据

mysql>update customers set username='DennisHu' where userid=1;

(13) 删除表中的记录

mysql>delete from customers;

(14)授予hjh用户访问数据库的权限

# grant select, insert, update, delete on *.* to hjh@localhost indentified by “123456”;

备注:hjh是Linux用户名,123456是访问mysql的密码

(15)采用用户名和密码登录mysql

# mysql -uhjh -p123456

篇3:linux卸载mysql数据库步骤详解linux操作系统

linux下彻底卸载mysql 图解教程

1、查找以前是否装有mysql

命令:rpm -qa|grep -i mysql

可以看到如下图的所示:

说明之前安装了:

MySQL-client-5.5.25a-1.rhel5

MySQL-server-5.5.25a-1.rhel5

2、停止mysql服务、删除之前安装的mysql

删除命令:rpm -e –nodeps 包名

# rpm -ev MySQL-client-5.5.25a-1.rhel5

# rpm -ev MySQL-server-5.5.25a-1.rhel5

3、查找之前老版本mysql的目录、并且删除老版本mysql的文件和库

find / -name mysql

查找结果如下:

[root@localhost ~]# find / -name mysql

/var/lib/mysql

/var/lib/mysql/mysql

/usr/lib64/mysql

删除对应的mysql目录

rm -rf /var/lib/mysql

rm -rf /var/lib/mysql

rm -rf /usr/lib64/mysql

具体的步骤如图:查找目录并删除

注意:卸载后/etc/my.cnf不会删除,需要进行手工删除

rm -rf /etc/my.cnf

4、再次查找机器是否安装mysql

rpm -qa|grep -i mysql

无结果,说明已经卸载彻底、接下来直接安装mysql即可

篇4:Linux shell操作mysql数据库详解linux操作系统

代码如下复制代码

mysql -uuser -ppasswd -e “insert user values(...)”

优点:语句简单

缺点:支持的sql相对简单

篇5:Linux shell操作mysql数据库详解linux操作系统

新建一个shell脚本,格式如下:

代码如下复制代码

#!/bin/bash

mysql -u* -h* -p* <

Your SQL script.

EOF

例如:

代码如下复制代码

#!/bin/bash

mysql -uroot -ppassword <

use chbdb;

CREATE TABLE user (

id varchar(36) NOT NULL,

username varchar(50) NOT NULL,

password varchar(50) NOT NULL,

createdate date NOT NULL,

age int(11) NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

EOF

缺点:

1>表名、字段不能使用单引号,需要修改原有sql语句

篇6:Linux shell操作mysql数据库详解linux操作系统

准备一个sql脚本,如update.sql,然后执行如下命令:

代码如下复制代码

mysql -uroot -ppassword < update.sql

方案4,更新数据库

代码如下复制代码

#shell mysql

****************************************

#!/bin/bash

lname=erik ##旧值,也就是要替换掉的值

nwname=erik ##新值,也就是要替换为的值

domain=@set-china.net ##后缀,此处是用来操作邮件的,其它用途可以不要或替换成其它

mysql -u root -p password <

##操作数据库的开始,此处输入用户名及密码,<

##<

use extmail;

show tables;

update alias set goto=REPLACE(goto,'$olname','$nwname$domain');

EOF

exit 0;

****************************************

##语句少的情况下可以如下使用

#!/bin/bash

mysql -u root -p password -e “use mysql;select * from user(SQL语句)”;

exit 0;

篇7:linux mysql数据库备份脚本代码linux操作系统

可以将这个脚本放进crontab,他的配制文件在 /etc/crontab中每天凌晨执行一次,自动备份 这个脚本每天最多只执行一次,而且只保留最近五天的备份在服务器上。

代码如下复制代码

#!/bin/bash

#This is a ShellScript. For Auto DB Backup

#Powered by aspbiz

#-09

#Setting

#设置数据库名,数据库登录名,密码,备份路径,日志路径,数据文件位置,

#以及备份方式

#默认情况下备份方式是tar,还可以是mysqldump,mysqldotcopy

#默认情况下,用root(空)登录mysql数据库,备份至/root/namexxxxx.tgz

DBName=mysql

DBUser=root

DBPasswd=password

BackupPath=/root/

LogFile=/root/db.log

DBPath=/var/local/mysql5/var/

#BackupMethod=mysqldump

#BackupMethod=mysqlhotcopy

#BackupMethod=tar

#Setting End

NewFile=“$BackupPath”“$DBName”$(date +%y%m%d).tgz

DumpFile=“$BackupPath”“$DBName”$(date +%y%m%d)

ldFile=“$BackupPath”“$DBName”$(date +%y%m%d –date=’5 days ago’).tgz

echo “——————————————-” >>$LogFile

echo $(date +“%y-%m-%d %H:%M:%S”) >>$LogFile

echo “————————–” >>$LogFile

#Delete Old File

if [ -f $OldFile ]

then

rm -f $OldFile >>$LogFile 2>&1

echo “[$OldFile]Delete Old File Success!” >>$LogFile

else

echo “[$OldFile]No Old Backup File!” >>$LogFile

fi

if [ -f $NewFile ]

then

echo “[$NewFile]The Backup File is exists,Can’t Backup!” >>$LogFile

else

case $BackupMethod in

mysqldump)

if [ -z $DBPasswd ]

then

mysqldump -u $DBUser –opt $DBName >$DumpFile

else

mysqldump -u $DBUser -p$DBPasswd –opt $DBName >$DumpFile

fi

tar czvf $NewFile $DumpFile >>$LogFile 2>&1

echo “[$NewFile]Backup Success!” >>$LogFile

rm -rf $DumpFile

;;

mysqlhotcopy)

rm -rf $DumpFile

mkdir $DumpFile

if [ -z $DBPasswd ]

then

mysqlhotcopy -u $DBUser $DBName $DumpFile >>$LogFile 2>&1

else

mysqlhotcopy -u $DBUser -p $DBPasswd $DBName $DumpFile >>$LogFile 2>&1

fi

tar czvf $NewFile $DumpFile >>$LogFile 2>&1

echo “[$NewFile]Backup Success!” >>$LogFile

rm -rf $DumpFile

;;

*)

/etc/init.d/mysqld stop >/dev/null 2>&1

tar czvf $NewFile $DBPath$DBName >>$LogFile 2>&1

/etc/init.d/mysqld start >/dev/null 2>&1

echo “[$NewFile]Backup Success!” >>$LogFile

;;

esac

fi

echo “——————————————-” >>$LogFile

例2.如果对上面脚本不满意可参考下面mysql数据库备份脚本哦

代码如下复制代码

#!/bin/bash

#Mysql autobackup shell#write by tuspark.cn

#-------------------数据库相关的用户名、密码、需要备份的数据库名、备份目录等

dbuser=root

dbpasswd=XXXXX

dbserver=localhost

dbname=XXXXX

dbopt=--opt

backupdir=/dcbackup/

#-------------------是否开启FTP远程备份,0为否,1为是。

copytoftp=1

ftpserver=XXXXX

ftpuser=XXXXX

ftppasswd=XXXXX

#-------------------以下参数

fileprefix=dcradiusdump

filename=$backupdir`date +%F`.sql

newfile=$fileprefix-`date +%F`.tar.gz

keepdays=10

#-------------------以下为备份时的日志

logfile=/var/log/mysqlbackup.log

logtmp=/var/log/mybackup.tmp

#===============================================

if [ ! -d $backupdir ]

then

echo “$backupdir is not exist, then make ...” >>$logfile

mkdir -p $backupdir

fi

echo “start====================================>”>>$logfile

echo “Beginning backup `date '+%F %T'`” >>$logfile

echo “Delete $keepdays days ago files ...” >>$logfile

find $backupdir -name $fileprefix* -mtime +$keepdays -fls $logtmp -exec rm {} ;

echo “Deleted Backup file is :”>>$logfile

cat $logtmp >>$logfile

echo “Delete old file Success!” >>$logfile

if [ -f $backupdir$newfile ]

then

echo “$newfile backup exist, backup stop ...” >>$logfile

else

if [ -z $dbpasswd ]

then

mysqldump -u$dbuser -h$dbserver $dbopt $dbname >$dumpfilename

else

mysqldump -u$dbuser -p$dbpasswd -h$dbserver $dbopt $dbname >$dumpfilename

fi

tar czvf $backupdir$newfile $dumpfilename >>$logfile 2>&1

echo “$backupdir$newfile Backup Success!” >>$logfile

rm -fr $dumpfilename

if [ $copytoftp = 1 ]; then

if [ -z $ftpserver ];then

echo “Ftp Server not set,Copy to Ftp Failed ...” >>$logfile

exit 1

elif [ -z $ftpuser ];then

echo “Ftp user not set, Copy to Ftp Failed ...” >>$logfile

exit 2

elif [ -z $ftppasswd ]; then

echo “Ftp password not set, Copy to Ftp Failed ...” >>$logfile

exit 3

else

echo “Start copy to Ftp server ....” >>$logfile

ftp -n>$logfile

fi

实例三

代码如下复制代码

第一步:在服务器上配置备份目录代码:

--------------------------------------------------------------------------------

mkdir /var/lib/mysqlbackup

cd /var/lib/mysqlbackup

--------------------------------------------------------------------------------

第二步:编写备份脚本代码:

--------------------------------------------------------------------------------

vi dbbackup.sh

--------------------------------------------------------------------------------

粘帖以下代码,务必更改其中的username,password和dbname,

代码:

--------------------------------------------------------------------------------

#!/bin/sh #Username to access the MySQL server USERNAME=“username” # Username to access the MySQL server PASSWORD=“password” # List of DBNAMES for Backup DBNAME=“dbname” #date timestamp for log message DATE=`/bin/date +%Y-%m-%d_%Hh%Mm` #output file UTDIR=“/var/lib/mysqlbackup/” UTFILE=“ip_bindass”.$DATE.“sql.gz” #working directory DIR=“/var/lib/mysqlbackup/”#cd $DIR # MySQL Backup /usr/bin/mysqldump --database $DBNAME --opt --single-transaction -u$USERNAME -p$PASSWORD | /usr/bin/gzip -9 >$OUTDIR$OUTFILE

--------------------------------------------------------------------------------

更改备份脚本权限

代码:

--------------------------------------------------------------------------------

chmod +x dbbackup.sh

--------------------------------------------------------------------------------

第三步:用crontab定时执行备份脚本代码:

--------------------------------------------------------------------------------

crontab -e

--------------------------------------------------------------------------------

若每天下午3点20备份,添加如下代码,

代码:

--------------------------------------------------------------------------------

20 15 * * * /var/lib/mysqlbackup/dbbackup.sh

--------------------------------------------------------------------------------

搞定!

篇8:linux中mysql数据库备份与恢复linux操作系统

在linux中对数据库或表进行备份与恢复我们会要用于数据库常用命令mysqldump,下面我来利用mysqldump对mysql数据库进行备份与恢复操作,

备份与恢复

比如我们要备份mysql中已经存在的名为linux的数据库,要用到命令mysqldump

命令格式如下:

[root@linuxsir01 root]# mysqldump -u root -p linux >/root/linux.sql

Enter password:在这里输入数据库的密码

例如:将上例创建的aaa库备份到文件back_aaa中

1、备份

代码如下复制代码

[root@test1 root]# cd /home/data/mysql (进入到库目录,本例库已由val/lib/mysql转到/home/data/mysql,见

上述第七部分内容)

代码如下复制代码

[root@test1 mysql]# mysqldump -u root -p –opt aaa >back_aaa

2、恢复

代码如下复制代码

[root@test mysql]# mysql -u root -p ccc < back_aaa

篇9:linux下如何备份还原mysql数据库数据库教程

本文介绍了linux下如何备份与恢复mysql数据库,

数据库备份是非常重要的。如果定期做好备份,这样就可以在发生系统崩溃时恢复数据到最后一次正常的状态,把损失减小到最少。

一、用命令实现备份

MySQLl提供了一个mysqldump命令,我们可以用它进行数据备份。

按提示输入密码,这就把tm数据库所有的表结构和# mysqldump -u root -p tm >tm_050519.sql数据备份到tm_050519.sql了,因为要总进行备份工作,如果数据量大会占用很大空间,这时可以利用gzip压缩数据,命令如下:

# mysqldump -u root -p tm gzip >tm_050519.sql.gz

系统崩溃,重建系统时,可以这样恢复数据:

# mysqldump -u root -p tm < tm_050519.sql

从压缩文件直接恢复:

#gzip < tm_050519.sql.gz mysqldump -u root -p tm

当然,有很多MySQL工具提供更直观的备份恢复功能,比如用phpMyAdmin就很方便。但我认为,mysqldump是最基本、最通用的。

二、利用crontab,系统每天定时备份mysql数据库

利用系统crontab来定时执行备份文件,按日期对备份结果进行保存,达到备份的目的,

1、创建保存备份文件的路径/var/backup/mysqlbak

# mkdir -p /var/backup/mysqlbak

2、创建/usr/sbin/bakmysql文件

#vi /usr/sbin/bakmysql.sh

#!/bin/bash# mysql备份脚本cd /var/backup/mysqlbak/dateDIR=`date +“%y-%m-%d”`mkdir -p $dateDIR/datafor i in `/usr/local/www/mysql/bin/mysql -uroot -plin31415926 -e “show databases” grep -v “Database” grep -v “information_schema”`do /usr/local/www/mysql/bin/mysqldump -uroot -plin31415926 $i gzip >/var/backup/mysqlbak/$dateDIR/${i}_${dateDIR}.gzdone

3、修改文件属性,使其可执行

# chmod +x /usr/sbin/bakmysql

4、修改/etc/crontab

# crontab -e在下面添加01 3 * * * root /usr/sbin/bakmysql

#表示每天3点钟执行备份

这样每天就可以在/var/backup/mysqlbak下看到备份的sql文件 了!

【linux下迁移mysql数据库存放目录linux操作系统】相关文章:

1.windows下计划任务自动备份mysql数据库方法Windows服务器操作系统

2.Ubuntu Server下MySql数据库备份脚本代码

3.linux下使用rsync实现文件目录同步linux操作系统

4.如何关闭MySQL数据库中错误提示音

5.在Linux/Unix平台下安装MySQL数据库

6.Windows操作系统下文件夹怎么加密

7.如何保护MySQL 中的重要数据数据库教程

8.Linux 下查找大文件或目录

9.Linux系统定时备份数据库和网站例子linux操作系统

10.Linux VPS/服务器上轻松导入、导出MySQL数据库linux服务器应用

下载word文档
《linux下迁移mysql数据库存放目录linux操作系统.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度: 评级1星 评级2星 评级3星 评级4星 评级5星
点击下载文档

文档为doc格式

最新推荐
猜你喜欢
  • 返回顶部