CentOS 7为什么放弃了MySQL,而改使用MariaDB

CentOS 7为什么放弃了MySQL,而改使用MariaDB,第1张

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可

。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,

因此社区采用分支的方式来避开这个风险。

[3]

MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。

在存储引擎方面,1009版起使用XtraDB(名称代号为Aria)来代替MySQL的InnoDB。

MariaDB由MySQL的创始人麦克尔·维德纽斯主导开发,他早前曾以10亿美元的价格,

将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,

MySQL的所有权也落入Oracle的手中。

第一步,打开桌面上的Navicat快捷方式第二步,进入Navicat主界面第三步,点击左上角的文件第四步,下拉列表中选中新建连接第五步,选择MariaDB第六步,d出新建连接对话框第七步,根据实际情况填写相应信息,点击确定第八步,成功生成连接MariaDB数据库

MariaDB 是一个采用 Maria 存储引擎的MySQL分支版本,是由原来 MySQL 的作者Michael Widenius创办的公司所开发的免费开源的数据库服务器。

这个项目的很多代码都改编于 MySQL 60,例如 “pool of threads”功能提供解决多数据连接问题。MariaDB 5141 RC可以到这里下载,32位和64位已编译Linux版本,还包括源代码包。MariaDB基于GPL 20发布。

与 MySQL 相比较,MariaDB 更强的地方在于:

Maria 存储引擎

PBXT 存储引擎

XtraDB 存储引擎

FederatedX 存储引擎

更快的复制查询处理

线程池

更少的警告和bug

运行速度更快

更多的 Extensions (More index parts, new startup options etc)

更好的功能测试

数据表消除

慢查询日志的扩展统计

支持对 Unicode 的排序

相对于MySQL最新的版本56来说,在性能、功能、管理、NoSQL扩展方面,MariaDB包含了更丰富的特性。比如微秒的支持、线程池、子查询优化、组提交、进度报告等。详情见列表。

参考:网页链接

一, CentOS7环境下

1 安装Mysql5619,安装成功后,端口号:3306

[root@centOS7]# mysql -uroot -h127001 -P3306 -p

mysql> select version();

+-----------+

| version() |

+-----------+

| 5619 |

+-----------+

1 row in set (000 sec)

2安装MariaDB10012,安装成功后,口端口号:3307

[root@centOS7]# mysql -uroot -h127001 -P3307 -p

mysql> select version();

+---------------------+

| version() |

+---------------------+

| 10012-MariaDB-log |

+---------------------+

1 row in set (000 sec)

下面是,在Mysql安装好后,安装MariaDB10012的详细方法

下载最新版本的二进制编译包targz (目前为mariadb-10012-linux-x86_64),并将它解压到你的自定义目录中 本文档假定安装目录为/opt

创建数据所在目录及符号链接,如下所示:

[root@centOS7 opt]# mkdir mariadb-data

[root@centOS7 opt]# ln -s mariadb-10012-linux-x86_64 mariadb

[root@centOS7 opt]# ls -al

total 20

drwxr-xr-x 5 root root 4096 2014-09-26 07:27

dr-xr-xr-x 23 root root 4096 2014-09-26 06:38

lrwxrwxrwx 1 root root 27 2014-09-26 07:27 mariadb -> mariadb-10012-linux-x86_64

drwxr-xr-x 13 root root 4096 2014-09-26 07:07 mariadb-10012-linux-x86_64

drwxr-xr-x 2 root root 4096 2014-09-26 07:26 mariadb-data

创建组mariadb及用户mariadb, 设置文件对应的所属权限:

[root@centOS7 opt]# groupadd --system mariadb

[root@centOS7 opt]# useradd -c "MariaDB Server" -d /opt/mariadb -g mariadb --system mariadb

[root@centOS7 opt]# chown -R mariadb:mariadb mariadb-10012-linux-x86_64/

[root@centOS7 opt]# chown -R mariadb:mariadb mariadb-data/

通过从support-files中拷贝mycnf, 在/opt/mariadb目录下创建新的mycnf:

[root@centOS7 opt]# cp mariadb/support-files/my-mediumcnf mariadb-data/mycnf

[root@centOS7 opt]# chown mariadb:mariadb mariadb-data/mycnf

编辑文件/opt/mariadb-data/mycnf, 增加自定义值, socket, port, user及最重要的设置: data目录和base目录 最后的设置至少是这样的:

[client]

port = 3307

socket = /opt/mariadb-data/mariadbsock

[mysqld]

datadir = /opt/mariadb-data

basedir = /opt/mariadb

port = 3307

socket = /opt/mariadb-data/mariadbsock

user = mariadb

从support-files文件中拷贝initd脚本到对应的位置:

[root@centOS7 opt]# cp mariadb/support-files/mysqlserver /etc/initd/mariadb

[root@centOS7 opt]# chmod +x /etc/initd/mariadb

编辑/etc/initd/mariadb,使用 mariadb替换 mysql设置项, 如下所示:

- # Provides: mysql

+ # Provides: mariadb

- basedir=

+ basedir=/opt/mariadb

- datadir=

+ datadir=/opt/mariadb-data

- lock_file_path="$lockdir/mysql"

+ lock_file_path="$lockdir/mariadb"

你需要告诉mariadb读取唯一的cnf文件 在$bindir/mysqld_safe之后加上--defaults-file=/opt/mariadb-data/mycnf 最后参数设置应该是这样的:

# Give extra arguments to mysqld with the mycnf file This script

# may be overwritten at next upgrade

$bindir/mysqld_safe --defaults-file=/opt/mariadb-data/mycnf --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null 2>&1 &

显式指定 mycnf作为传入参数,来运行 mysql_install_db:

[root@centOS7 opt]# cd mariadb

[root@centOS7 mariadb]# scripts/mysql_install_db --defaults-file=/opt/mariadb-data/mycnf

现在你可以这样启动MariaDB:

[root@centOS7 opt]# /etc/initd/mariadb start

Starting MySQL SUCCESS

把MariaDB启动设置为系统级别启动:

[root@centOS7 opt]# cd /etc/initd

[root@centOS7 initd]# chkconfig --add mariadb

[root@centOS7 initd]# chkconfig --levels 3 mariadb on

最后,测试现在有两个数据库服务实例在运行:

[root@centOS7 ~]# mysql -e "SELECT VERSION();"

+-----------+

| VERSION() |

+-----------+

| 5619 |

+-----------+

[root@mariadb-near-mysql ~]# mysql -e "SELECT VERSION();" --socket=/opt/mariadb-data/mariadbsock

+--------------------+

| VERSION() |

+--------------------+

|10012-MariaDB-log |

+--------------------+

定义连接字符串:string connStr="连接字符串"; //在“服务器资源管理器”中找到你的数据库,反键,属性,找到连接字符串,复制出来

定义sqlconnection对象,首先引用systemdatasqlclient命名空间;

sqlconnection sqlConn=new sqlconnection(connStr);//带有一个参数,即上面定义的连接字符串。

3打开数据库连接:sqlConnopen(); //调用open()方法

至此,数据库已经连接上,然后根据你的实际需要决定后边干怎么做,如果是插入、修改、删除,建议用sqlcommand ,如果是查询,建议用sqldataadapter;

以上就是关于CentOS 7为什么放弃了MySQL,而改使用MariaDB全部的内容,包括:CentOS 7为什么放弃了MySQL,而改使用MariaDB、Navicat怎么连接MariaDB数据库、MariaDB数据库的特点是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9453487.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存