键入命令mysql -uroot -p密码
查看所有表:mysql> show databases;
进入表
use multidomain_db;
删除表:DROP table colour
执行sql文件
source /opt/web/11/colour.sql
SELECT * FROM colour
键入命令mysql -uroot -p密码
查看所有表:mysql> show databases;
进入表
use multidomain_db;
删除表:DROP table colour执行sql文件
source /opt/web/11/colour.sql
SELECT * FROM colour转载于:https://www.cnblogs.com/914556495wxkj/p/5995724.html
linux下数据库的备份可以通过命令来实行。下面由学习啦小编为大家整理了linux备份数据库命令的相关知识,希望大家喜欢!
linux备份数据库命令
mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql备份MySQL数据库为带删除表的格式备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql直接将MySQL数据库压缩备份
mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz备份MySQL数据库某个(些)表
mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql同时备份多个MySQL数据库
mysqldump -hhostname -uusername -ppassword –databases databasename1 databasename2 databasename3 > multibackupfile.sql仅仅备份数据库结构
mysqldump –no-data –databases databasename1 databasename2 databasename3 > structurebackupfile.sql备份服务器上所有数据库
mysqldump –all-databases > allbackupfile.sql还原MySQL数据库的命令
mysql -hhostname -uusername -ppassword databasename < backupfile.sql还原压缩的MySQL数据库
gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename将数据库转移到新服务器
mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename
今天从自己的电脑备份出了一组数据准备放到服务器上,按照我一贯的操作是吧以前的库删除掉,然后source导入备份的文件。可是今天在dropt database的时候 一直在等待,一直无法删除数据库,没有错误提示。然后我根据网上的一点点线索觉得可能是数据库锁了。因为我在删数据库之前,在本地给服务器做了个压力测试,强度有点大可能把数据库锁了。
进入mysql后,命令查看
show processlis
结果:
| 1459158 | root | localhost | tonghang1 | Query | 3 | Waiting for table metadata lock | drop database tonghang1 |
里面好像真的有一个lock日志(这个应该是被锁的意思吧?)
然后我用 kill把这个进程删掉了。
但是依旧无法删除。依旧是卡在那里。
现在求教怎么才能删掉数据库?
网上已经有部分关于Linux下定期备份mysql的方法,但是很多步骤不够详细,不适合新手,自己琢磨了很久,终于搞定了。
1.Linux服务器一般是ssh协议,如果本地也是Linux环境,可以直接通过shell连接,命令:
ssh -l root -p 8080 202.***.***.***
其中root为用户名,一般为root,8080为端口,202.***.***.***为服务器ip地址;
接下来会提示你输入密码,输入正确后即可进入服务器;
2.然后需要创建一个数据库备份数据存放的文件夹;
mkdir /mysql/mysqldata_bakeup
/mysql/mysqldata_bakeup为创建的路径,可以自定义;
3.创建并编辑文件在路径 /usr/sbin/bakmysql,命令:
vi /usr/sbin/bakmysql
此时会在/usr/sbin/路径下创建bakmysql文件,并进入bakmysql编辑状态,接着输入;
fn = ` date +%Y%m%d `
tar zcvf/mysql/mysqldata_bakeup/mysql$fn.tar.gz /mysql/data
或
mysqldump-u root -ppassword /mysql/data/yourdatabase > /mysql/mysqldata_bakeup/mysql$fn.sql
find /mysql/mysqldata_bakeup/ -type f -mtime +7 -exec rm -f {} \;
/mysql/mysqldata_bakeup/为备份数据保存路径,msql$fn.tar.gz为备份数据根据日期编号的名称,/mysql/data为服务器数据库的数据路径,yourdatabase为你要备份的数据库名;
注意其中第一句命令不是单引号,而是tab键上面的符号,且date前后需要有空格;
第二句命令有两种方法,第一种直接备份并压缩数据库数据源文件,第二种是利用mysql自带命令mysqldump导出数据库yourdatabase的sql文件;
第三句是删除7天前的备份文件,mtime是文件修改时间,如果没有修改过,则为创建时间;
4.修改文件bakmysql属性,使其可执行;
chmod +x /usr/sbin/bakmysql
5.修改/etc/crontab:
vi /etc/crontab
进入编辑状态,在最下面添加:
01 3 * * * root /usr/sbin/bakmysql
01 3 是每天凌晨3:01执行 bakmysql文件;
6.关于重启有时候并不需要,如果服务器在/etc/rc.d/init.d/路径下有crond服务,可以选择重启crond,命令:
/etc/rc.d/init.d/crond restart
7.最后退出服务器命令:exit