如何将MySQL4迁移到MySQL5数据库
我有一个由MySQL4创建的数据库(db4)和一个由MySQL5创建的数据库(db5)。db4包含几个带有字符集latin1和几个索引的表,但没有使用MySQL“PASSWORD”函数加密的数据。db5是空的 我想将所有表和索引从db4迁移到db5(实际上在同一台服务器上)。理想情况下,这应该在不丢失任何信息的情况下在短时间内完成如何将MySQL4迁移到MySQL5数据库,mysql,database,linux,terminal,mysqldump,Mysql,Database,Linux,Terminal,Mysqldump,我有一个由MySQL4创建的数据库(db4)和一个由MySQL5创建的数据库(db5)。db4包含几个带有字符集latin1和几个索引的表,但没有使用MySQL“PASSWORD”函数加密的数据。db5是空的 我想将所有表和索引从db4迁移到db5(实际上在同一台服务器上)。理想情况下,这应该在不丢失任何信息的情况下在短时间内完成 我需要哪些终端命令从MySQL4下载完整的数据库,然后将数据插入db5?我必须重新创建索引吗?您可以使用mysqldump在mysql4中转储数据库。然后使用mysq
我需要哪些终端命令从MySQL4下载完整的数据库,然后将数据插入db5?我必须重新创建索引吗?您可以使用mysqldump在mysql4中转储数据库。然后使用mysql命令将其上传到MySQL5
mysqldump dbname > file
mysql dbname < file
mysqldump dbname>文件
mysql数据库名<文件
所有索引都将自动重新创建。您可以使用mysqldump在mysql4中转储数据库。然后使用mysql命令将其上传到MySQL5
mysqldump dbname > file
mysql dbname < file
mysqldump dbname>文件
mysql数据库名<文件
所有索引都将自动重新创建。Sven,我认为在db4中备份数据并在db5中恢复数据将对您有用 备份
mysqldump database_name > file_name.sql
恢复
mysql < file_name.sql
mysql
Sven,我认为在db4中备份数据并在db5中恢复数据对您很有用
备份
mysqldump database_name > file_name.sql
恢复
mysql < file_name.sql
mysql
也可以使用以下命令在一个步骤内完成:
mysqldump -u dbo4 --password="..." --default-character-set="latin1" db4 | mysql -S /tmp/mysql5.sock -u dbo5 --password="..." --default-character-set="latin1" db5
不幸的是,带有特殊字符的标准值没有正确导入,似乎没有办法避免这一点:。也可以使用以下命令在一个步骤内完成:
mysqldump -u dbo4 --password="..." --default-character-set="latin1" db4 | mysql -S /tmp/mysql5.sock -u dbo5 --password="..." --default-character-set="latin1" db5
不幸的是,带有特殊字符的标准值没有正确导入,而且似乎没有办法避免:。如果其他人需要将数据库从Mysql4移动到Mysql5,下面是我所做的
mysqldump -uuser -ppass db4 > db4.sql
#将注释样式从--更改为#
sed-r-i-e的/^--(.*)$/#\1/'db4.sql
#将类型声明关键字从“类型”更改为“引擎”
sed-i-e的/)TYPE=/)ENGINE=/'db4.sql
#自适应时间戳字段定义
sed-i-e的/timestamp(14)不为NULL,$/timestamp不为NULL更新当前时间戳时的默认当前时间戳,/'db4.sql
mysql -uuser -ppass db5 < db4.sql
mysql-uuser-ppass db5
如果其他人需要将数据库从Mysql4移动到Mysql5,下面是我所做的
mysqldump -uuser -ppass db4 > db4.sql
#将注释样式从--更改为#
sed-r-i-e的/^--(.*)$/#\1/'db4.sql
#将类型声明关键字从“类型”更改为“引擎”
sed-i-e的/)TYPE=/)ENGINE=/'db4.sql
#自适应时间戳字段定义
sed-i-e的/timestamp(14)不为NULL,$/timestamp不为NULL更新当前时间戳时的默认当前时间戳,/'db4.sql
mysql -uuser -ppass db5 < db4.sql
mysql-uuser-ppass db5
如果数据库非常庞大,您可以压缩这些文件,例如使用
mysqldump dbname | gzip>file.gz
然后使用gunzip-c file.gz | mysql dbname
如果数据库非常庞大,您可以压缩这些文件,例如使用mysqldump dbname | gzip>file.gz
然后使用gunzip-c file.gz | mysql dbname