首页 养生问答 疾病百科 养生资讯 女性养生 男性养生

如何将MySQL的数据迁移到MariaDB里面去

发布网友 发布时间:2022-04-20 16:38

我来回答

2个回答

热心网友 时间:2022-04-07 17:55

  本来 MariaDB 的描绘初衷之一即是彻底兼容 MySQL,包含 API 和客户端协议,使之能轻松变成 MySQL 的代替品,所以由 MySQL 搬迁到
  MariaDB 基本上能够称之为“晋级”,就如同软件晋级版别一样。MariaDB 的技能文档上是这样写的:
  若是是一样的根底版别(如
  5.5),能够直接卸载 MySQL 然后装置
  MariaDB,这样就能够用了。乃至不需求备份然后复原数据库。当然,稳妥起见,晋级前将一切的数据库都备份一下仍是十分有必要的,以防万一。
  若是
  MariaDB 的主版别高,在通过上面的卸载 MySQL 再装置 MariaDB 操作之后,需求运用 mysql_upgrade
  晋级一下。是的,乃至连命令行都与运用 MySQL 的时分一样。
  一切原先的客户端和连接器(PHP、Perl、Python、Java
  等)都不需求做任何改动就能正常作业,由于 MariaDB 与 MySQL 运用的是一样的客户端协议,而且客户端库文件也是二进制兼容的。
  上面用 *
  来匹配删去一切 mysql 数据包(包含因包依靠而删去的别的包,如 postfix)。由于直接装置的时分会呈现抵触,例如:
  file
  /usr/share/mysql/ukrainian/errmsg.sys from install of
  MariaDB-server-5.5.31-1.i686 conflicts with file from package
  mysql-libs-5.5.32-1.el6.remi.i686
  嗯,如同由于将 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.
  完结,修补
  不论版别是不是晋级了,履行一下数据库晋级指令总没有害处:
  # 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。
  发动它,
  # service mysql start

  这个时分服务器上的网站大概现已能够正常作业了,拜访数据库没有疑问。
  若是有必要,装置完 MariaDB 之后能够重新装置 postfix。若是发现
  phpMyAdmin 提示无拜访权限了,那即是被卸载了,需求重新装置和装备 phpMyAdmin。
  别的,由于之前进行了卸载操作,所以本来的 MySQL
  和 phpMyAdmin 的装备文件都被清除了,也需求重新装备。特别是 MySQL 的装备文件 /etc/my.cnf,由于 MariaDB
  尽管创建了一个my.cnf.d 文件夹来存储自个的装备文件,可是它会首要加载 my.cnf,且本来 MySQL 的装备的 [mysqld]
  那一节的内容仍是有用的。
  3. 较好的晋级办法
  仍是在上面介绍的体系装备下,先增加 MariaDB 装置源,然后直接履行体系晋级,
  # yum
  update --skip-broken
  MariaDB 有关装置包会被装置,不需求的 MySQL
  包将被卸载,而且晋级之后不需求对体系进行修补了。看看输出的前面一部分:
  
  ==============================================================================================================

  Package Arch Version Repository Size
  
  ==============================================================================================================

  Installing:
  MariaDB-Galera-server i686 5.5.29-1 mariadb 19 M

  replacing mysql.i686 5.5.21-1.el6.remi
  replacing
  mysql-server.i686 5.5.21-1.el6.remi
  MariaDB-server i686 5.5.31-1 mariadb
  32 M
  replacing mysql-server.i686 5.5.21-1.el6.remi
  
  MariaDB-shared i686 5.5.31-1 mariadb 1.0 M
  replacing
  mysql-libs.i686 5.5.21-1.el6.remi
  kernel i686 2.6.32-358.11.1.el6
  updates 24 M
  libjpeg-turbo i686 1.2.1-1.el6 base 176 k
  replacing
  libjpeg.i686 6b-46.el6
  Updating:
  .........
  到这里才感觉到 MariaDB
  的描绘思维那个无缝代替 MySQL 不是噱头,而是实实在在的技能。所以我也就不急着给 VPS 晋级到 MariaDB 了,横竖过不了多久 CentOS
  就会选用 MariaDB,到时分再自然而然地搬迁吧。转载

热心网友 时间:2022-04-07 19:13

迁移步骤:
1、停止正在运行的Mysql服务
# systemctl stop mysqld

2、安装mariadb及升级工具等
# pacman -S mariadb libmariadbclient mariadb-clients

3、重启Mysql服务
# systemctl start mysqld

4、对已存在的库进行升级
# mysql_upgrade -p

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com