一、MariaDB介绍:
MariaDB是MySQL关系数据库管理系统的一个复刻,由社区开发,有商业支持,旨在继续保持在GNU、GPL下
开源。MariaDB的开发是由MySQL的一些原始开发者领导的,他们担心甲骨文公司收购MySQL后会有一些隐患。
MariaDB打算保持与MySQL的高度兼容性,确保具有库二进制奇偶校验的直接替换功能,以及与MySQL API和命
令的精确匹配。MariaDB自带了一个新的存储引擎Aria,它可以替代MyISAM,成为默认的事务和非事务引擎。
它最初使用XtraDB作为默认存储引擎, 并从10.2版本切换回InnoDB。【维基百科】
个人理解:简单来说因为mysql被oracle公司收购后可能会闭源社区,从而产生了一个新的替代品MariaDB完美兼
容mysql的所有特性。
二、安装:
下载地址:https://MariaDB.org官网
1.tar -xzvf mariadb-10.5.6-linux-systemd-x86_64.tar.gz
2.mv mariadb-10.5.6-linux-systemd-x86_64 /usr/local/mysql/
3.useradd -M -s /sbin/nologin mysql
#-M不创建家目录,-s /sbin/nologin 该账户只提供服务 ,/bin/false 不仅无法登陆,也不提供服务
4.mkdir -p /usr/local/data/mysql #创建一个存放data的目录
5. chown -R mysql:mysql /usr/local/mysql/ chown -R mysql:mysql /usr/local/data/mysql
6. vim /etc/my.cnf
定义:[mysqld]
port=3306 #端口可任意设定 超过1024即可(1024是系统端口,总端口65535),默认端口3306
datadir=/usr/local/data/mysql #data路径
socket=/usr/local/mysql/mysql.sock #sock路径
[mysqld_safe]
log-error=/usr/local/data/log/mariadb.log#日志存放路径
pid-file=/usr/local/data/mysql/mariadb.pid#pid路径
7.cp /usr/local/mysql/support-files/mysq/mysql.server /etc/init.d/mysql
8.vim /etc/init.d/mysql
定义 :basedir=/usr/local/mysql #定义mariadb数据库目录
datadir=/usr/local/data/mysql #data路径
9. /usr/local/mysql/scripts/mysql_install_db --datadir=/usr/local/data/mysql
--basedir=/usr/local/mysql --user=mysql --defaults-file=/etc/my.cnf
10. systemctl start mysql
三、报错问题:
1.error while loading shared libraries: libaio.so.1: cannot open shared object file:
No such file or directory
解决: yum install -y libaio libaio-devel
2. /tmp/mysql.sock not find 问题
解决:ln -s /usr/local/mysql/mysql.sock /tmp/mysql.sock
#软链接到 /tmp目录下,MariaDB 会去 /tmp目录下找soket
四、开机自启
chkconfig --list
chkconfig --add mysql #chkconfig --add 开启(默认level3-5 on),chkconfig --del 关闭
chkconfig --level 234 mysql on #level 234开启
五、MariaDB定义环境变量
1.ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
2.echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile #定义环境变量
source /etc/profile