❶ 分别在linux和Windows下,如何使用MySql命令导入/导出*.sql文件
Ubuntu下使用MySql命令导入/导出*.sql文件 ( redhat的mysql命令在: /usr/local/mysql/bin/ 目录下面 )导出: 1.导出整个数据库 mysqlmp 数据库名 > 导出的文件名 -u 用户名 -p密码 2.导出一个表 mysqlmp 数据库名 表名 > 导出的文件名 -u 用户名 -p密码导入:在提示符下输入 mysql -u root -p 密码 进入MYSQL后: 先打开要导入的数据库 mysql>use test; 然后,设置要导入的数据的编码(如果MySQL默认编与要导入的数据编码一致,此步可省略) mysql>set names 编码格式(utf8或gbk); 最后,导入数据sql文件 mysql> source c:/test.sql; Windows下使用MySql命令导入/导出*.sql文件 1. 导出数据库: D:\mysql\bin> mysql 数据库名 > 导出的文件名 -u 用户名 -p密码 2. 导入数据库:
❷ linux系统下的mysql导入导出
1 不停数据库写的情况下,也可以使用 mysqlmp 导出,但因为 mysqlmp 导出时会加表锁(lock tables table_name read;),导出过程中会阻塞写(应用程序的写数据库或其他情况的写),不会影响读。
2 导入一个备份后,还要继续同步备份的操作,那必须结合同步来进行,先导出导入数据(导出时注意加上 --master-data 选项,或导出前 show master status 记下日志名称和位置),再配置同步,并启动同步;
3 日志记录的编号,也就是 position,可以在导出前查询,也可以在导出时加 --master-data 选项一并进行;
-- 几个注意事项:
1 导出会加表锁(这是服务器级的读锁),如果数据库较大,可能会影响业务;较小的话,可以在数据库本机进行导出,时间很快;
2 大数据库一定要做个备份机(即replication的slave),同步会涉及到数据的一致性(备份、启用同步)问题,可以深入理解下;
❸ MySQL下载只需要掌握几个命令就行mysql下载只有命令
MySQL下载:只需要掌握几个命令就行!
MySQL是一个免费、开源的关系型数据库管理系统(RDBMS),能够提供高效、可靠、稳定的数据存储和管理服务,广泛应用于企业应用程序、Web应用程序以及社区开源项目等领域。想要进行MySQL数据库开发或学习,就需要先下载MySQL库文件。此文将为您介绍MySQL下载的几个命令,并提供详细说明。
一、Linux系统MySQL下载
Linux系统是开发者最喜欢使用的操作系统之一,所以我们先从Linux系统的MySQL下载开始。在Linux系统中,可以通过命令行工具wget或curl来下载MySQL软件包。
1、使用wget下载MySQL:
`wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm`
上述命令将下载mysql80-community-release-el7-3.noarch.rpm文件到当前的工作目录下。
2、使用curl下载MySQL:
`curl -OL https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm`
上述命令将下载mysql80-community-release-el7-3.noarch.rpm文件到当前的工作目录下。
二、Windows系统MySQL下载
对于Windows系统用户来说,需进入MySQL的官网,选择最新版本的MySQL进行下载。
1、进入MySQL官网
通过以下URL进入MySQL官网:https://www.mysql.com/downloads/
2、选择MySQL版本并下载
选择MySQL Community Server版本并下载。该版本是最常用的数据库版本。
如果需要使用GUI工具,则可从MySQL Community Server页面的底部下载MySQL Workbench。
三、通过Docker下载MySQL
Docker是一种面向开发人员、系统管理员和DevOps的开放平台,用于构建、交付和运行现代应用程序。下面介绍一下如何使用Docker来下载MySQL。
1、Docker下载
首先安装Docker,并启动Docker。
2、下载MySQL Docker镜像
使用以下命令来下载MySQL Docker镜像:
`docker pull mysql/mysql-server:latest`
3、启动MySQL服务
使用以下命令启动MySQL服务并创建一个root用户:
`docker run -d -p 3306:3306 –name=my-mysql -e MYSQL_ROOT_PASSWORD=your_password mysql/mysql-server:latest`
其中,-d选项表示在后台运行,-p 3306:3306表示将容器的3306端口映射到主机的3306端口,-e MYSQL_ROOT_PASSWORD=your_password表示设置root用户密码为your_password。
四、总结
以上介绍了MySQL下载的几个命令,包括在Linux系统下使用wget或curl命令下载、在Windows系统下通过MySQL官网下载以及通过Docker下载MySQL。三种方式分别适用于不同的操作系统和不同的使用场景,开发者可以根据自己的需求选择相应的下载方式,简单易行。
如果您想要详细了解MySQL的更多内容和使用技巧,请参考相关文档和教程,或者加入MySQL开发和使用的社区,与各路MySQL玩家们来一场畅谈!
❹ 在linux下 如何使用mysqlmp进行mysql的完全备份 要完整命令 记得是完全备份不是某个库。。
mysqlmp命令
mysql数据库导出要用到MySQL的mysqlmp工具,基本用法是:
shell> mysqlmp [OPTIONS] database [tables]
如果你不给定任何表,整个数据库将被导出。
通过执行mysqlmp --help,你能得到你mysqlmp的版本支持的选项表。
注意,如果你运行mysqlmp没有--quick或--opt选项,mysqlmp将在导出结果前装载整个结果集到内存中,如果你正在导出一个大的数据库,这将可能是一个问题。
1.1、mysqlmp支持下列选项:
--add-locks
在每个表导出之前增加LOCK TABLES并且之后UNLOCK TABLE。(为了使得更快地插入到MySQL)。
--add-drop-table
在每个create语句之前增加一个drop table。
--allow-keywords
允许创建是关键词的列名字。这由表名前缀于每个列名做到。
-c, --complete-insert
使用完整的insert语句(用列名字)。
-C, --compress
如果客户和服务器均支持压缩,压缩两者间所有的信息。
--delayed
用INSERT DELAYED命令插入行。
-e, --extended-insert
使用全新多行INSERT语法。(给出更紧缩并且更快的插入语句)
-#, --debug[=option_string]
跟踪程序的使用(为了调试)。
--help
显示一条帮助消息并且退出。
LOAD DATA INFILE
--fields-terminated-by=...
--fields-enclosed-by=...
--fields-optionally-enclosed-by=...
--fields-escaped-by=...
--fields-terminated-by=...
这些选择与-T选择一起使用,并且有相应的LOAD DATA INFILE子句相同的含义。
LOAD DATA INFILE语法。
-F, --flush-logs
在开始导出前,洗掉在MySQL服务器中的日志文件。
-f, --force,
即使我们在一个表导出期间得到一个SQL错误,继续。
-h, --host=..
从命名的主机上的MySQL服务器导出数据。缺省主机是localhost。
-l, --lock-tables.
为开始导出锁定所有表。
-t, --no-create-info
不写入表创建信息(CREATE TABLE语句)
-d, --no-data
不写入表的任何行信息。如果你只想得到一个表的结构的导出,这是很有用的!
--opt
同--quick --add-drop-table --add-locks --extended-insert --lock-tables。
应该给你为读入一个MySQL服务器的尽可能最快的导出。
-pyour_pass, --password[=your_pass]
与服务器连接时使用的口令。如果你不指定“=your_pass”部分,mysqlmp需要来自终端的口令。
-P port_num, --port=port_num
与一台主机连接时使用的TCP/IP端口号。(这用于连接到localhost以外的主机,因为它使用 Unix套接字。)
-q, --quick
不缓冲查询,直接导出至stdout;使用mysql_use_result()做它。
-S /path/to/socket, --socket=/path/to/socket
与localhost连接时(它是缺省主机)使用的套接字文件。
-T, --tab=path-to-some-directory
对于每个给定的表,创建一个 table_name.sql文件,它包含SQL CREATE 命令,和一个table_name.txt文件,它包含数据。 注意:这只有在mysqlmp运行在mysqld守护进程运行的同一台机器上的时候才工作。.txt文件的格式根据--fields-xxx和 --lines--xxx选项来定。
-u user_name, --user=user_name
与服务器连接时,MySQL使用的用户名。缺省值是你的Unix登录名。
-O var=option, --set-variable var=option设置一个变量的值。可能的变量被列在下面。
-v, --verbose
冗长模式。打印出程序所做的更多的信息。
-V, --version
打印版本信息并且退出。
-w, --where=''''where-condition''''
只导出被选择了的记录;注意引号是强制的!
"--where=user=''''jimf''''" "-wuserid>1" "-wuserid<1"
1.2、最常见的mysqlmp的一个备份:
虽然mysqlmp支持的命令有很多,对于大多数人而言,我们只需要使用-opt这个命令就已经足够了,为你的数据库做一个完整的备份:
mysqlmp --opt database > backup-file.sql
但是它对用来自于一个数据库的信息充实另外一个MySQL数据库也是有用的:
mysqlmp --opt database | mysql --host=remote-host -C database
1.3、使用mysqlmp导出的文件恢复数据库
由于mysqlmp导出的是完整的SQL语句,所以用mysql客户程序很容易就能把数据导入了:
shell> mysqladmin create target_db_name
shell> mysql target_db_name < backup-file.sql
就是
shell> mysql 库名 < 文件名
二、使用mysqlmp定时备份数据库的脚本
2.1、备份脚本
使用脚本每天定期执行数据库备份操作,对每个使用mysql数据库的人来说都很有必要,这样的脚本网上有很多,这里摘抄一个朋友的脚本 dbbackup:
这个脚本每天最多只执行一次,而且只保留最近五天的备份在服务器上。
dbbackup代码:
#!/bin/bash
#This is a ShellScript For Auto DB Backup
#Powered by aspbiz
#2004-09
#Setting
#设置数据库名,数据库登录名,密码,备份路径,日志路径,数据文件位置,以及备份方式
#默认情况下备份方式是tar,还可以是mysqlmp,mysqldot
#默认情况下,用root(空)登录mysql数据库,备份至/root/dbxxxxx.tgz
DBName=mysql
DBUser=root
DBPasswd=
BackupPath=/root/
LogFile=/root/db.log
DBPath=/var/lib/mysql/
#BackupMethod=mysqlmp
#BackupMethod=mysqlhot
#BackupMethod=tar
#Setting End
NewFile="$BackupPath"db$(date +%y%m%d).tgz
DumpFile="$BackupPath"db$(date +%y%m%d)
OldFile="$BackupPath"db$(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
mysqlmp)
if [ -z $DBPasswd ]
then
mysqlmp -u $DBUser --opt $DBName > $DumpFile
else
mysqlmp -u $DBUser -p$DBPasswd --opt $DBName > $DumpFile
fi
tar czvf $NewFile $DumpFile >> $LogFile 2>&1
echo "[$NewFile]Backup Success!" >> $LogFile
rm -rf $DumpFile
;;
mysqlhot)
rm -rf $DumpFile
mkdir $DumpFile
if [ -z $DBPasswd ]
then
mysqlhot -u $DBUser $DBName $DumpFile >> $LogFile 2>&1
else
mysqlhot -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.2、放入crontab定期执行dbbackup
假定dbbackup在/root目录下。我们通过使用crontab命令,设置每天0点10分执行/root/dbbakup脚本。
1、 使用 crontab –e编辑crontab
2、 在crontab中加入:
#back for jabber database
10 0 * * * /root/dbbackup
❺ linux 进入mysql 命令行模式怎么导出
1、在终端中输入mysql -u用户名 -p密码命令可以进行mysql命令行
2、如果密码有特殊字符就先mysql -u用户名 -p回车,然后提示输入密码后,再输入密码回车即可
3、mysql 其它参数说明:
mysql命令行参数
Usage: mysql [OPTIONS] [database] //命令方式
-?, --help //显示帮助信息并退出
-I, --help //显示帮助信息并退出
--auto-rehash //自动补全功能,就像linux里面,按Tab键出提示差不多,下面有例子
-A, --no-auto-rehash //默认状态是没有自动补全功能的。-A就是不要自动补全功能
-B, --batch //ysql不使用历史文件,禁用交互
(Enables --silent)
--character-sets-dir=name //字体集的安装目录
--default-character-set=name //设置数据库的默认字符集
-C, --compress //在客户端和服务器端传递信息时使用压缩
-#, --debug[=#] //bug调用功能
-D, --database=name //使用哪个数据库
--delimiter=name //mysql默认命令结束符是分号,下面有例子
-e, --execute=name //执行mysql的sql语句
-E, --vertical //垂直打印查询输出
-f, --force //如果有错误跳过去,继续执行下面的
-G, --named-commands
/*Enable named commands. Named commands mean this program's
internal commands; see mysql> help . When enabled, the
named commands can be used from any line of the query,
otherwise only from the first line, before an enter.
Disable with --disable-named-commands. This option is
disabled by default.*/
-g, --no-named-commands
/*Named commands are disabled. Use \* form only, or use
named commands only in the beginning of a line ending
with a semicolon (;) Since version 10.9 the client now
starts with this option ENABLED by default! Disable with
'-G'. Long format commands still work from the first
line. WARNING: option deprecated; use
--disable-named-commands instead.*/
-i, --ignore-spaces //忽视函数名后面的空格.
--local-infile //启动/禁用 LOAD DATA LOCAL INFILE.
-b, --no-beep //sql错误时,禁止嘟的一声
-h, --host=name //设置连接的服务器名或者Ip
-H, --html //以html的方式输出
-X, --xml //以xml的方式输出
--line-numbers //显示错误的行号
-L, --skip-line-numbers //忽略错误的行号
-n, --unbuffered //每执行一次sql后,刷新缓存
--column-names //查寻时显示列信息,默认是加上的
-N, --skip-column-names //不显示列信息
-O, --set-variable=name //设置变量用法是--set-variable=var_name=var_value
--sigint-ignore //忽视SIGINT符号(登录退出时Control-C的结果)
-o, --one-database //忽视除了为命令行中命名的默认数据库的语句。可以帮跳过日志中的其它数据库的更新。
--pager[=name] //使用分页器来显示查询输出,这个要在linux可以用more,less等。
--no-pager //不使用分页器来显示查询输出。
-p, --password[=name] //输入密码
-P, --port=# //设置端口
--prompt=name //设置mysql提示符
--protocol=name //使用什么协议
-q, --quick //不缓存查询的结果,顺序打印每一行。如果输出被挂起,服务器会慢下来,mysql不使用历史文件。
-r, --raw //写列的值而不转义转换。通常结合--batch选项使用。
--reconnect //如果与服务器之间的连接断开,自动尝试重新连接。禁止重新连接,使用--disable-reconnect。
-s, --silent //一行一行输出,中间有tab分隔
-S, --socket=name //连接服务器的sockey文件
--ssl //激活ssl连接,不激活--skip-ssl
--ssl-ca=name //CA证书
--ssl-capath=name //CA路径
--ssl-cert=name //X509 证书
--ssl-cipher=name //SSL cipher to use (implies --ssl).
--ssl-key=name //X509 密钥名
--ssl-verify-server-cert //连接时审核服务器的证书
-t, --table //以表格的形势输出
--tee=name //将输出拷贝添加到给定的文件中,禁时用--disable-tee
--no-tee //根--disable-tee功能一样
-u, --user=name //用户名
-U, --safe-updates //Only allow UPDATE and DELETE that uses keys.
-U, --i-am-a-mmy //Synonym for option --safe-updates, -U.
-v, --verbose //输出mysql执行的语句
-V, --version //版本信息
-w, --wait //服务器down后,等待到重起的时间
--connect_timeout=# //连接前要等待的时间
--max_allowed_packet=# //服务器接收/发送包的最大长度
--net_buffer_length=# //TCP / IP和套接字通信缓冲区大小。
--select_limit=# //使用--safe-updates时SELECT语句的自动限制
--max_join_size=# //使用--safe-updates时联接中的行的自动限制
--secure-auth //拒绝用(pre-4.1.1)的方式连接到数据库
--server-arg=name //Send embedded server this as a parameter.
--show-warnings //显示警告