因为考虑使用mariadb的集群,尝试将centos6.8服务器中的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的路径