mysql5 转换 mariaDB10.3 小记

因为考虑使用mariadb的集群,尝试将centos服务器中的mysql转换为 mariadb,小记一下:

1、因为服务器数据是已经运行的系统,数据量比较大,希望能直接进行数据迁移而无需进行导入导出,也不想修改现有数据表---- 当然最好是备份一下数据,尤其是innodb数据表的数据!
注:mariadb是可以无缝升级mysql并确保相关系统兼容性的,因为mariadb现在才应该是真正的mysql了

2、在服务器配置yum源(对centos6环境):
vi /etc/yum.repos.d/mariadb.repo

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

3、直接安装:
yum install MariaDB-server MariaDB-client

4、安装中会提示会替换升级原有的 mysql相关包,于是继续…
但安装中,却提示 mysql-server无法被替换… 其他的包安装成功

5、自己干掉MySQL-server,再来:
yum remove mysql-server
yum install MariaDB-server

=====成功…

6、启动服务问题:
想修改mysql的数据存储位置,于是修改配置文件:

[server]
socket=/opt/mysql/mysql.sock
datadir=/opt/mysql

启动时报错:
InnoDB: The Auto-extending innodb_system data file ‘./ibdata1’ is of a different size 640 pages

于是 在server.cnf加上 innodb的设置:

[server]
socket=/opt/mysql/mysql.sock
datadir=/opt/mysql
innodb_data_file_path = ibdata1:10M:autoextend

再次报错,系统表缺失,于是
执行mysql到mariadb的升级:
mysql_upgrade --socket=/opt/mysql/mysql.sock -uroot -p

修改数据库路径后php报找不到mysql的socket!
这就需要修改php.ini中mysql socket的路径!

总结一下:

  1. 先删除原来安装的服务端mysql-server(其他部分会在安装mariadb时自动被替换)!
  2. 安装好mariadb的server和client端
  3. 修改配置文件,让数据库程序能读取到原来的数据文件
  4. 运行mysql_upgrade,这样才能实现数据库文件的更新!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值