mysql迁移到mariadb_从MySQL迁移到MariaDB(CentOS)

MySQL是世界上最流行的开源关系数据库。原来 MariaDB 的设计初衷之一就是完全兼容 MySQL,包括 API 和客户端协议,使之能轻松成为 MySQL 的代替品。MariaDB 与 MySQL 相比,MariaDB 的优势在于:可免费商业使用、、运行速度复制查询处理更快、线程池、更多的扩展功能模块和储存引擎、支持 Unicode 排序。

如果是相同的基础版本(如 5.5),可以直接卸载 MySQL 然后安装 MariaDB,这样就可以用了。甚至不需要备份然后还原数据库。当然,保险起见,升级前将所有的数据库都备份一下还是非常有必要的,以防万一。如果 MariaDB 的主版本高,在经过上面的卸载 MySQL 再安装 MariaDB 操作之后,需要使用 mysql_upgrade 升级一下。是的,甚至连命令行都与使用 MySQL的时候一样。

A. 先配置 MariaDB的安装源。

目前 MariaDB 的主版本是 10.1,将下面的安装源配置保存为MariaDB.repo,上传到服务器的 /etc/yum.repos.d 文件夹:

[mariadb]

name = MariaDB

enable=1

priority=3

baseurl = http://yum.mariadb.org/10.1/centos6-x86

gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

gpgcheck=1

其中 priority=3 是针对 YUM 的 PRIORITIES 优先级插件的。

B. 卸载原来的 MYSQL 及相关包。

# yum remove mysql*

上面用 * 来匹配删除所有 mysql 数据包(包括因包依赖而删除的别的包,如 postfix)。因为直接安装的时候会出现冲突,例如:

file /usr/share/mysql/ukrainian/errmsg.sys from install of MariaDB-server-***** conflicts with file from package mysql-libs-5.5.32-****

嗯,好像因为将 php-mysql 也给删除了(实际上这个不该删除的),所以 phpMyAdmin 也因为依赖关系而被删除了,我没仔细看。

所以最好不要用通配符 *,而是选择性删除几个主要的,

# yum remove mysql mysql-server mysql-libs

但是这个我没有再测试,因为后面有更好的方法。

C. 然后安装 MariaDB及相应 PHP 扩展。

也是指定几个主要的安装包,剩下的让 yum 自己进行依赖关系检查。

# yum install MariaDB-server MariaDB-client php-mysql

或者不安装 MariaDB-server 而改为具有同步多主群集特性(synchronous multi-master cluster)的 MariaDB Galera Cluster:

# yum install MariaDB-Galera-server MariaDB-client galera

这里比较搞笑的是,没注意前面把 php-mysql 给卸载了,结果运行数据库之后访问 WordPress,结果遭遇下面的错误:

Your PHP installation appears to be missing the MySQL extension which is required by WordPress.

D. 完成,修补MariaDB

不管版本是否升级了,执行一下数据库升级指令总没有坏处:

# mysql_upgrade -p

看看数据库版本是不是升级了:

# mysql -u root -p -e ‘show global variables like “version”;’

Enter password:

+—————+—————-+

| Variable_name | Value |

+—————+—————-+

| version | 5.5.31-MariaDB |

+—————+—————-+

将 MariaDB 加入随系统自启动列表,

# chkconfig –levels 345 mysql on

嗯,以前 MySQL 的时候是 mysqld,现在是 mysql,就差了一个字母 d。

启动MariaDB

# service mysql start

这个时候服务器上的网站应该已经可以正常工作了,访问数据库没有问题。

如果有必要,安装完 MariaDB 之后可以重新安装 postfix。如果发现 phpMyAdmin 提示无访问权限了,那就是被卸载了,需要重新安装和配置 phpMyAdmin。

另外,因为之前进行了卸载操作,所以原来的 MySQL 和 phpMyAdmin 的配置文件都被清除了,也需要重新配置。特别是 MySQL 的配置文件 /etc/my.cnf,因为 MariaDB 虽然创建了一个my.cnf.d 文件夹来存储自己的配置文件,但是它会首先加载 my.cnf,且原来 MySQL 的配置的 [mysqld] 那一节的内容还是有效的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
panelLeft = new JPanel(new BorderLayout()); panelLeft.add(new JLabel("在线用户列表"), BorderLayout.NORTH); panelLeft.add(new JScrollPane(list), BorderLayout.CENTER); panelTop = new JPanel(new GridLayout(2, 3, 10, 10)); panel如果你想将 MySQL 迁移MariaDB 上,可以按照以下步骤操作: 1.备份 MySQL 数据库 使用 mysTop.add(lblServer); panelTop.add(txtServer); panelTop.add(btnJoin); panelTop.add(lblPort); panelTop.add(txtPort); panelTop.add(btnLeave); panelMiddle = new JPanel(new GridLayout(1, 2, 10,qldump 命令备份 MySQL 数据库,例如: ``` mysqldump -u root -p dbname > dbname.sql 10)); panelMiddle.add(scrollPane); panelMiddle.add(panelLeft); panelBottom = new JPanel(new GridLayout(1,``` 其中,-u 表示用户名,-p 表示输入密码,dbname 为要备份的数据库名称,> dbname 5, 10, 10)); panelBottom.add(lblUsername); panelBottom.add(txtUsername); panelBottom.add(btnRefresh); panelBottom.add(txtMsg); panelBottom.add(btnSend); panelBottom.add(btnClear); panelBottom.add(btn.sql 表示将备份文件输出到 dbname.sql 文件中。 2.安装 MariaDB 安装 MariaDB 和相关的依Exit); panelRight = new JPanel(); add(panelTop, BorderLayout.NORTH); add(panelMiddle, BorderLayout.CENTER); add(panel赖包,例如: ``` sudo apt-get install mariadb-server mariadb-client libmariadb-dev ``` 3.恢复Bottom, BorderLayout.SOUTH); add(panelRight, BorderLayout.EAST); } @Override public void actionPerformed(ActionEvent e)备份文件 将备份文件恢复到 MariaDB 中,例如: ``` mysql -u root -p dbname < dbname.sql { if (e.getSource().equals(btnJoin)) { String server = txtServer.getText().trim(); int port = Integer.parseInt ``` 其中,-u 表示用户名,-p 表示输入密码,dbname 为要还原的数据库名称,<(txtPort.getText().trim()); username = txtUsername.getText().trim(); joinChat(server, port, username); } else if dbname.sql 表示从 dbname.sql 文件中读取备份数据。 4.验证数据 验证数据是否正确恢复到 MariaDB (e.getSource().equals(btnLeave)) { leaveChat(); } else if (e.getSource().equals(btnRefresh)) { refresh 中,例如: ``` mysql -u root -p dbname ``` 其中,-u 表示用户名,-p 表示输入List(); } else if (e.getSource().equals(btnSend)) { sendMsg(); } else if (e.getSource().equals(btnClear)) { txtMsg.setText(""); } else if (e.getSource().equals(btnExit)) { leaveChat(); System密码,dbname 为要验证的数据库名称。 以上就是将 MySQL 迁移MariaDB 的基本步骤,但是需要.exit(0); } } private void joinChat(String server, int port, String username) { try { client注意的是,在迁移过程中可能会遇到一些问题,需要根据具体情况进行调整。因Socket = new DatagramSocket(); serverAddress = InetAddress.getByName(server); serverPort = port; String joinMsg = "JOIN此,在实际操作中建议先进行测试和备份,确保数据的安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值