科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道4.16.4 升级到其他体系结构

4.16.4 升级到其他体系结构

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

如果你正在使用MySQL3.23,你能在不同的支持同样浮点格式的体系结构之间拷贝.frm、.MYI和.MYD。(MySQL考虑了任何字节交换的问题)。

作者:天极软件 来源:天极软件 2008年1月22日

关键字: 体系结构 升级 MySQL

  • 评论
  • 分享微博
  • 分享邮件

如果你正在使用MySQL3.23,你能在不同的支持同样浮点格式的体系结构之间拷贝.frm.MYI.MYD。(MySQL考虑了任何字节交换的问题)。

MySQL ISAM数据“ *.ISD”和索引文件“ *.ISM”文件是依赖于系统结构并在某些情况下依赖于OS。如果你想要移动你的应用程序到有与你当前系统不同的体系结构或OS的其他机器上,你不应该试图通过简单地拷贝文件到另外的机器上来移动一个数据库,相反使用mysqldump

缺省地,mysqldump将创建一个满是SQL语句的文件,然后你可以把文件转移到其他机器上并且把它作为mysql客户的输入。

试一试mysqldump --help看可得到什么选项。如果你正在移动数据到一个更新的MySQL版本,你应该用得到的更新的版本使用mysqldump --opt得到一个快速、紧凑的倒出(dump)。

最容易(尽管不是最快)的在2台机器之间移动一个数据库的方法是在数据库所在的机器上运行下列命令:

shell> mysqladmin -h 'other hostname' create db_name
shell> mysqldump --opt db_name \
        | mysql -h 'other hostname' db_name

如果你想要在一个慢的网络上从一台远程机器上拷贝一个数据库,你可以使用:

shell> mysqladmin create db_name 
shell> mysqldump -h 'other hostname' --opt --compress db_name \ 
	| mysql db_name

你也可以在一个文件中存储结果, 然后把文件转移到目标机器并且在那里装载文件到数据库。例如,你能象这样在源机器上倾倒一个数据库到一个文件:

shell> mysqldump --quick db_name | gzip > db_name.contents.gz 

(本例创建的文件被压缩) 转移包含数据库内容的文件到目标机器,并且在那里运行这些命令:

shell> mysqladmin create db_name
shell> gunzip < db_name.contents.gz | mysql db_name

你也可以使用mysqldumpmysqlimport完成数据库转移。对大数据库表,这比简单地使用mysqldump更快。在下列命令中,DUMPDIR代表你用来存储来自mysqldump的输出的目录的完整的路径。

首先,为输出文件和倾倒数据库创建目录:

shell> mkdir DUMPDIR
shell> mysqldump --tab=DUMPDIR db_name

然后转移在DUMPDIR目录下的文件到目标机器的一些相应目录并且在那里装载文件到MySQL

shell> mysqladmin create db_name           # create database
shell> cat DUMPDIR/*.sql | mysql db_name   # create tables in database
shell> mysqlimport db_name DUMPDIR/*.txt   # load data into tables

另外,别忘记拷贝mysql数据库,因为那是授权表(userdb、host)被存储的地方。你可能必须作为MySQL root用户在新机器上运行命令,直到你让mysql数据库到位。

当你在新机器上导入mysql数据库后,执行mysqladmin flush-privileges以便服务器再次装入授权表信息。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章