Mysql分支MariaDB简介
2013-03-26MariaDB是一个采用Maria存储引擎的MySQL分支版本,是由原来MySQL的作者 Michael Widenius 创办的公司所开发的免费开源的数据库服务器。
MySQL之父Widenius先生离开了Sun之后,觉得依靠Sun/Oracle来发展MySQL,实在很不靠谱,于是决定另开分支,这个分支的名字叫做MariaDB。
MariaDB跟MySQL在绝大多数方面是兼容的,对于开发者来说,几乎感觉不到任何不同。 目前MariaDB是发展最快的MySQL分支版本,新版本发布速度已经超过了Oracle官方的MySQL版本。
在Oracle控制下的MySQL开发,有两个主要问题:
1. MySQL核心开发团队是封闭的,完全没有Oracle之外的成员参加。很多高手即使有心做贡献,也没办法做到。
2. MySQL新版本的发布速度,在Oracle收购Sun之后大为减缓。Widenius有一个ppt,用数据比较了收购之前和之后新版本的发布速度。有很多bugfix和新的feature,都没有及时加入到发布版本之中。
以上这两个问题,导致了各个大公司,都开发了自己定制的MySQL版本,包括Yahoo!/Facebook/Google/阿里巴巴+淘宝网等等。
MySQL是开源社区的资产,任何个人/组织都无权据为己有。为了依靠广大MySQL社区的力量来更快速的发展MySQL,另外开分支是必须的。
MariaDB默认的存储引擎是Aria,不是MyISAM。Aria可以支持事务,但是默认情况下没有打开事务支持,因为事务支持对性能会有影响。可以通过以下语句,转换为支持事务的Aria引擎。
ALTER TABLE tablename ENGINE=MARIA TRANSACTIONAL=1;
与 MySQL 相比较,MariaDB 更强的地方在于:
Maria 存储引擎
PBXT 存储引擎
XtraDB 存储引擎
FederatedX 存储引擎
更快的复制查询处理
线程池
更少的警告和bug
运行速度更快
更多的 Extensions (More index parts, new startup options etc)
更好的功能测试
数据表消除
慢查询日志的扩展统计
支持对 Unicode 的排序
官方网站:
https://mariadb.org/
下载地址:
https://downloads.mariadb.org/interstitial/mariadb-5.5.30/kvm-tarbake-jaunty-x86/mariadb-5.5.30.tar.gz
ftp://61.135.158.309/pub/mariadb-5.5.30.tar.gz
linux使用和编译mariadb的方法同mysql几乎一样一样的:
#!/bin/bash
export LNMP=/opt/LNMP
cd $LNMP
tar zxf untar/cmake-2.8.8.tar.gz
pushd cmake-2.8.8
./bootstrap && gmake && gmake install
popd
groupadd mysql
useradd -g mysql mysql
mkdir -p /usr/local/mysql
mkdir -p /var/lib/mysql
chown -R mysql.mysql /usr/local/mysql
chown -R mysql.mysql /var/lib/mysql
tar zxf untar/mariadb-5.5.30.tar.gz
pushd mariadb-5.5.30
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=all \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/var/lib/mysql \
-DMYSQL_USER=mysql
make;make install;
cp ./support-files/my-large.cnf /usr/local/mysql/my.cnf
cp ./support-files/mysql.server /etc/init.d/mysqld
popd
cd /usr/local/mysql
./scripts/mysql_install_db --datadir=/var/lib/mysql --user=mysql
chmod +x /etc/init.d/mysqld
chkconfig mysqld on
/etc/init.d/mysqld start
mysqladmin -u root password 'newpassword'
netstat -ntlp |grep 3306
cat >> ~/.bash_profile << EOF export PATH=$PATH:/usr/local/mysql/bin EOF source ~/.bash_profile cat >> /etc/ld.so.conf.d/mysql.conf << EOF /usr/local/mysql/lib EOF #删除不必要的用户 mysql -uroot -ppassword -e"drop user ''@'localhost'" mysql -uroot -ppassword -e"drop user ''@'`hostname`'" mysql -uroot -ppassword -e"drop user 'root'@'`hostname`'" mysql -uroot -ppassword -e"drop user root@'::1'" #添加db和user mysql -uroot -ppassword -e"create database db01;" mysql -uroot -ppassword -e"CREATE USER 'user01'@'localhost' IDENTIFIED BY 'password';" mysql -uroot -ppassword -e"GRANT ALL ON db01.* TO 'user01'@'localhost';"
分类:Linux、数据库 | 标签: database、linux、mariadb、mysql |相关日志
- oracle中drop一个表,让数据文件释放空间
- oracle批量杀掉死锁进程
- ORA-00257: archiver error. Connect internal only, until freed. (DBD ERROR: OCISessionBegin)
- oracle同义词SYNONYM
- substr()函数
- oracle create dblink
- oracle 启动归档模式
- oracle表空间文件
- linux删除oracle表空间文件后空间不释放
- nagios check_oracle_health install shell
- oracle最大连接数processes
- nagios check_oracle_health
- cx_Oracle for python
- 数据库查询重复行shell脚本
- oracle导入txt数据文件实例
- mysql导入txt数据文件实例
- 修改NLS_CHARACTERSET和NLS_NCHAR_CHARACTERSET字符集
- NLS_NCHAR_CHARACTERSET和NLS_CHARACTERSET的区别
- 如何安装mysql-5.6.12
- 设置NLS_LANG环境变量
- Oracle Golden Gate数据库同步技术
- mysql或oracle合并行函数
- Oracle InstantClient安装步骤
- shell sqlplus run sql
- oracle误删datafile
- mysqld_safe — MySQL Server Startup Script
- 如何禁用mysql端口3306
- oracle触发器实例 (8)
- sql语句处理BLOB (8)
- Drizzle A database for the Cloud (1)
- SGA/PGA的设置与调整 (9)
- 根据v$SGA_TARGET_ADVICE设置SGA SIZE (6)
- shmmax/shmall和sga_max_size/sga_target应该设置多大 (3)
- exp/imp和expdp/impdp的逻辑哲学 (1)
- oracle安装后期stop big port (1)
- OLTP和OLAP的区别 (3)
- mysql创建数据库及用户 (1)
- ORA-01843: not a valid month (3)
- sql语句where 1=1和1=2的作用 (4)
- 如何安装mysql-5.5.31 (8)
- rlwrap实现sqlplus使用上下键查历史命令
- CentOS_x64_6.3 install Oracle 10.2.0.1报错ins_emdb.mk (2)