如何将phpstudy中的mysql迁移到Linux系统

分类:编程技术 时间:2024-02-20 15:22 浏览:0 评论:0
0
本文介绍如何将phpstudy中的mysql迁移到Linux系统。内容简洁易懂。绝对会让你眼前一亮。希望您能从本文的详细介绍中有所收获。

环境条件

新主机
系统平台:

CentOS版本7.4(最终)内核3.10.0-693.el7.x86_64

mysql环境:

mysql>状态
服务器版本:5.6.39-log MySQL Community Server (GPL)
服务器字符集:utf8
数据库字符集:utf8
客户端字符集:utf8
Conn。字符集:utf8

mysql> 显示类似 '%storage_engine%' 的变量;
+----------------- ----- ------+--------+
|变量名 |值 |
+-------------------------- --------+-------- +
|默认存储引擎 | InnoDB |
|默认_tmp_存储_引擎 | InnoDB |
|存储引擎 | InnoDB |
+-------------------------- ------+--------+

旧主机:
系统平台:

Windows 2012 R2 SE utf8
数据库字符集:utf8
客户端字符集:utf8
康涅狄格州字符集:utf8

mysql> 显示类似 '%storage_engine%' 的变量;
+----------------- -------+--------+
|变量名 |值 |
+------------------------+--------+
|默认存储引擎 | MyISAM |
|存储引擎MyISAM |
+--------------------------+--------+

表存储引擎

mysql> 显示数据库\G 中的表状态;
引擎:InnoDB
引擎:MyISAM
< /p>

迁移过程

1.使用phpstudy自带的工具导出各个数据库

图片

p>

我看到了,也是使用mysqldump操作的。

2.如果只保留原来的表引擎,可以直接执行以下操作

mysql> create database zentao;
mysql> use zentao;
mysql> source zentao20230413161534.sql;
mysql> 显示表;
+----------------- --+
| zentao中的表格 |
+--------------------------------+
| zt_action                                                                                       ...

原始表引擎保持不变。

mysql> 显示来自zentao\G的表状态;
************************ ***** 1. 行 *************************
       名称:zt_action
引擎:MyISAM< br/> 版本:10
Row_format:动态

3.更改原数据库中的表将引擎更改为InnoDB

在导出的表结构zentao.sql中找到ENGINE=MyISAM,并将其更改为ENGINE=InnoDB。至于用什么方法来替换,就看你喜欢什么了。

# vim zentao.sql
:%s/ENGINE=MyISAM/ENGINE=InnoDB/g

4.导入数据到指定数据库

mysql> use zentao;
mysql> source zentao.sql;

表引擎改为InnoDB

mysql > 显示来自zentao\G的表状态;
************************ ***** 1.行******** ********************
        名称:zt_action
        引擎:InnoDB< br/>     版本:10
    Row_format:紧凑
/>

5.但有一个问题。查看表的详细信息时,发现Data_free不为0,说明存在数据碎片,需要优化

mysql> select table_schema, table_name, data_free, engine from information_schema .tables 其中 table_schema 不在 ('information_schema', 'mysql') 中并且 data_free != 0;
+--------------+----------------+------------------------ +- -------+
|表模式 |表名 |数据免费|引擎 |
+--------------+-------- -----+------------+--- ---+
|正涛 | zt_bug | 4194304 | 4194304 InnoDB |
|正涛 | zt_历史 | 4194304 | 4194304 InnoDB |
+--------------+----------------+------------+-- ------ +

6。对碎片表进行碎片整理

mysql> use zentao;
mysql> 优化表 zt_bug,zt_history;
+-------------- ---+----------+-------- --+------------------------ ---------------------------- --------------------------------+< br/>|表|欧 |消息类型 | Msg_text                                           --+------------------------------------------------------------ ---- --------------------+
| zentao.zt_bug |优化|注意|表不支持优化,改为重新创建+分析 |
| zentao.zt_bug |优化|状态 |好的; zentao.zt_历史 |优化|注意|表不支持优化,改为重新创建+分析|
| zentao.zt_历史 |优化|状态 |好的                                           -----------------+----------+------------+-------- -------------------------------------------------- ----------+

提示该表没有n不支持优化,但是下面显示OK。事实上,已经执行成功了。 5.6.X版本实际上已经支持Innodb

mysql> select table_name,engine,table_rows,data_length+index_length length,DATA_FREE from information_schema.tables where TABLE_SCHEMA='zentao' and data_free =0;
+-------------------+--------+ ------------+----- ----+------------+
|表名 |发动机|表行 |长度|数据免费|
+--------------------+--------+------------+--- ------+------------+
| zt_bug | InnoDB | 1018 | 1018 1589248 | 0 |
| zt_历史 | InnoDB | 2584 | 2584 1589248 | 0 |< br/>

以上内容是如何将phpstudy中的mysql迁移到Linux系统。你学到了知识或技能了吗?如果您想学习更多技能或者丰富自己的知识库,请关注行业资讯频道。

1. 本站所有资源来源于用户上传或网络,仅作为参考研究使用,如有侵权请邮件联系站长!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 编程技术 > 如何将phpstudy中的mysql迁移到Linux系统

用户评论