我有一个.sql文件,里面有一些数据库备份。现在我想将它们恢复到MySQL。我怎么能使用MySqL的命令行呢?我发现了这个:
mysql -u username -p -h localhost database_name < dumpfile.sql
但我不知道用户名应该是什么,database_name应该是什么以及如何浏览到另一个文件夹中的.sql文件。
答案 0 :(得分:1)
您需要将username替换为您的数据库用户名,它会提示您输入密码。如果转储文件具有“create database [name];”和“使用[名称];”说明那么你不需要指定database_name属性。
要从另一个文件夹中提取.sql,您只需指定路径(例如/home/user/Downloads/file.sql)。
您也可以尝试从mysql网站下载mysql管理员。
检查此链接
http://www.techiecorner.com/31/how-to-restore-mysql-database-from-sql-dump-file/
答案 1 :(得分:0)
将.sql
文件重定向到MySQL CLI是有效的,因为这是mysqldump
生成的格式。人们通常会调用mysqldump
来转储整个数据库,因此他们之后会得到一个文件。
用户名和密码取决于您要在其中重新加载数据的数据库实例上设置的内容。在干净的空安装中,MySQL root用户将工作(并且可能没有密码)。在已建立的安装中,您应找到合适的用户。您使用的用户需要大量权限,因为它需要创建和写入表。
.sql
文件可能在顶部附近有CREATE database
和USE database
个语句。如果存在,则在管道文件之前确保数据库不存在。如果不存在,则需要找出将使用该数据库的任何程序所期望的名称。
至于在另一个目录中管道另一个文件,这是简单的shell表示法。 < filename
表示法完全支持路径,因此您可以执行< some/other/path/filename.sql
或< ~/sql/filename.sql
。 (请注意,我假设你使用的是Unix shell。)
答案 2 :(得分:0)
您可以使用public static byte[] Decrypt(string base64)
{
byte[] cipherTextBytes = Convert.FromBase64String(base64);
byte[] keyBytes = new Rfc2898DeriveBytes(PasswordHash, Encoding.ASCII.GetBytes(SaltKey)).GetBytes(256 / 8);
var symmetricKey = new RijndaelManaged() { Mode = CipherMode.CBC, Padding = PaddingMode.None };
var decryptor = symmetricKey.CreateDecryptor(keyBytes, Encoding.ASCII.GetBytes(VIKey));
using (var memoryStream = new MemoryStream(cipherTextBytes))
{
using (var cryptoStream = new CryptoStream(memoryStream, decryptor, CryptoStreamMode.Read))
{
using (BinaryReader srDecrypt = new BinaryReader(cryptoStream))
{
return srDecrypt.ReadBytes(cipherTextBytes.Length);
}
}
}
}