linux下迁移mysql数据库存放目录linux操作系统
“reganmian”通过精心收集,向本站投稿了9篇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操作系统






文档为doc格式