用户登录
用户注册

分享至

mariadb 安装目录

  • 作者: 干丝你
  • 来源: 51数据库
  • 2020-10-02
一, CentOS7环境下
1. 安装Mysql5.6.19,安装成功后,端口号:3306
[root@centOS7]# mysql -uroot -h127.0.0.1 -P3306 -p
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.6.19 |
+-----------+
1 row in set (0.00 sec)
2.安装MariaDB10.0.12.,安装成功后,口端口号:3307
[root@centOS7]# mysql -uroot -h127.0.0.1 -P3307 -p
mysql> select version();
+---------------------+
| version() |
+---------------------+
| 10.0.12-MariaDB-log |
+---------------------+
1 row in set (0.00 sec)
下面是,在Mysql安装好后,安装MariaDB10.0.12的详细方法
下载最新版本的二进制编译包tar.gz (目前为mariadb-10.0.12-linux-x86_64),并将它解压到你的自定义目录中. 本文档假定安装目录为/opt.
创建数据所在目录及符号链接,如下所示:
[root@centOS7 opt]# mkdir mariadb-data
[root@centOS7 opt]# ln -s mariadb-10.0.12-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-10.0.12-linux-x86_64
drwxr-xr-x. 13 root root 4096 2014-09-26 07:07 mariadb-10.0.12-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-10.0.12-linux-x86_64/
[root@centOS7 opt]# chown -R mariadb:mariadb mariadb-data/
通过从support-files中拷贝my.cnf, 在/opt/mariadb目录下创建新的my.cnf:
[root@centOS7 opt]# cp mariadb/support-files/my-medium.cnf mariadb-data/my.cnf
[root@centOS7 opt]# chown mariadb:mariadb mariadb-data/my.cnf
编辑文件/opt/mariadb-data/my.cnf, 增加自定义值, socket, port, user及最重要的设置: data目录和base目录. 最后的设置至少是这样的:
[client]
port = 3307
socket = /opt/mariadb-data/mariadb.sock

[mysqld]
datadir = /opt/mariadb-data
basedir = /opt/mariadb
port = 3307
socket = /opt/mariadb-data/mariadb.sock
user = mariadb
从support-files文件中拷贝init.d脚本到对应的位置:
[root@centOS7 opt]# cp mariadb/support-files/mysql.server /etc/init.d/mariadb
[root@centOS7 opt]# chmod +x /etc/init.d/mariadb
编辑/etc/init.d/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/my.cnf. 最后参数设置应该是这样的:
# Give extra arguments to mysqld with the my.cnf file. This script
# may be overwritten at next upgrade.
$bindir/mysqld_safe --defaults-file=/opt/mariadb-data/my.cnf --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null 2>&1 &
显式指定 my.cnf作为传入参数,来运行 mysql_install_db:
[root@centOS7 opt]# cd mariadb
[root@centOS7 mariadb]# scripts/mysql_install_db --defaults-file=/opt/mariadb-data/my.cnf
现在你可以这样启动MariaDB:
[root@centOS7 opt]# /etc/init.d/mariadb start
Starting MySQL SUCCESS
把MariaDB启动设置为系统级别启动:
[root@centOS7 opt]# cd /etc/init.d
[root@centOS7 init.d]# chkconfig --add mariadb
[root@centOS7 init.d]# chkconfig --levels 3 mariadb on
最后,测试现在有两个数据库服务实例在运行:
[root@centOS7 ~]# mysql -e "SELECT VERSION();"
+-----------+
| VERSION() |
+-----------+
| 5.6.19 |
+-----------+
[root@mariadb-near-mysql ~]# mysql -e "SELECT VERSION();" --socket=/opt/mariadb-data/mariadb.sock
+--------------------+
| VERSION() |
+--------------------+
|10.0.12-MariaDB-log |
+--------------------+



  要 mysql 迁移到 maria db
 在oracle收购了sun公司之后, mysql很不幸的落在了oracle的手中,mysql与oracle db存在竞争关系,很可能导致oracle公司影响mysql的开发与开放。mysql之父widenius在意识到oracle会对mysql做动作之前对mysql另开了一个branch:mariadb。作为一个能够完全兼容mysql的开源开放产品(向下兼容),受到了很多公司的青睐,red hat fedora ,opensuse ,维基百科,谷歌,淘宝等公司都先后把mysqldb迁移到maria db,从而更好的应对未来。
当然,未来还未来,如果mariadb的价值仅仅在未来,或许没有那么多公司愿意承担风险,进行数据库的迁移,特别是谷歌这样实力雄厚的科技公司,更不会担心技术不可控性。
  可见,哪怕是现在,maria比之mysql也有很多的优势:
性能提升

  2. 安全透明。(完全开源,开放,mariadb的商标属于maria基金会,以保障mariadb不会再次发生mysql这种事儿
  3. 支持更多存储引擎。(nosql backend :cassandra )
  4. mariadb galera cluster

同步复制真正的multi-master,即所有节点可以同时读写数据库。
自动的节点成员控制,失效节点自动被清除。
新节点加入数据自动复制;真正的并行复制,行级。
用户可以直接连接集群,使用感受上与mysql完全一致。
    优势:

因为是多主,所以不存在slavelag(延迟);
不存在丢失事务的情况;同时具有读和写的扩展能力;
更小的客户端延迟;
节点间数据是同步的,而master/slave模式是异步的,不同slave上的binlog可能是不同的。
  5. 与mysql完全兼容(至少是现在)。

  风险评估。这是最现实的问题,如果数据迁移风险过大,或者迁移之后发现maria db上各种不适,将会对产品造成极大的伤害。值得庆幸的是,从maria db的官方blog上,我们看到mysql可以无缝迁移到maria的文章,还有mysql 与maria混用的相关实例。集群方面,maria采用的 galera cluster同样适用于mysql,应该不会有接入的风险。
  当然,还有一个因素,就是尽早迁移会尽量降低复杂度,maria db与mysql未来肯定分道扬镳,兼容性会越来越差。
软件
前端设计
程序设计
Java相关