㈠ MariaDB与MySQL两个数据库怎么样同时安装使用
一, 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 |
+--------------------+
㈡ mariadb编译安装出现如下错误,要怎么弄
可能是程序问题。建议重新下载安装看看。
1、在开始菜单输入cmd,右击以管理员身份运行,运行后将执行目录cd到你的问价解压目录中的bin目录中,例如我的解压在E:\Softwear\mariadb-10.0.10-winx64:
输入 e: 回车
输入 cd E:\Softwear\mariadb-10.0.10-winx64\bin 回车即可跳转到bin目录
㈢ MariaDB数据库的特点是什么
MariaDB 是一个采用 Maria 存储引擎的MySQL分支版本,是由原来 MySQL 的作者Michael Widenius创办的公司所开发的免费开源的数据库服务器。
这个项目的很多代码都改编于 MySQL 6.0,例如 “pool of threads”功能提供解决多数据连接问题。MariaDB 5.1.41 RC可以到这里下载,32位和64位已编译Linux版本,还包括源代码包。MariaDB基于GPL 2.0发布。
与 MySQL 相比较,MariaDB 更强的地方在于:
Maria 存储引擎
PBXT 存储引擎
XtraDB 存储引擎
FederatedX 存储引擎
更快的复制查询处理
线程池
更少的警告和bug
运行速度更快
更多的 Extensions (More index parts, new startup options etc)
更好的功能测试
数据表消除
慢查询日志的扩展统计
支持对 Unicode 的排序
相对于MySQL最新的版本5.6来说,在性能、功能、管理、NoSQL扩展方面,MariaDB包含了更丰富的特性。比如微秒的支持、线程池、子查询优化、组提交、进度报告等。详情见列表。
参考:网页链接
㈣ linux原码编译安装怎么登陆mysql
下面开始一步一步写(非特别注明,都是用root用户执行):
1 下载MariaDB源码:https://downloads.mariadb.org/mariadb/10.0.14/,下载的文件:mariadb-10.0.14.tar.gz
2 安装cmake:apt-get install cmake,ubuntu源上可能不是最新版本的cmake,但是可以用。如果想源码安装cmake可以参考搜索引擎。
3 有一些依赖包的安装,不过我倒现在还没搞清楚具体需要哪些,但是lio-dev这个是要装的,其他的可以搜索。
4 解压源码包,我解压好以后的路径是:/root/mariadb-10.0.14/,进入路径,输入如下命令:
cmake . -DCMAKE_INSTALL_PREFIX=/usr/mysql -DMYSQL_DATADIR=/home/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1
这里需要根据你规划好的路径修改。
5 这个需要不算太长的时间,但是如果最后提示要你查看错误日志的话,那一般是缺少依赖包,搜索相关错误装好相关依赖即可。
6 如果出现错误,再次编译的时候需要删除CMakeCache文件。
7 不出现错误提示以后输入:make,结束之后输入make install。make需要花费比较长的时间,期间会提示很多warning,直接忽略即可。
8 上面步骤完成之后即完成了安装,下面就可以初始化数据库了。将/usr/mysql所有者修改为mysql。进入/usr/mysql/support_files,执行
cp my-large.cnf /etc/my.cnf
cp mysql.server /etc/init.d/mysql
修改/etc/my.cnf,添加如下语句:
tmpdir = /home/mysql/tmp/
basedir=/usr/mysql
datadir=/home/mysql/data
注意要建立相关目录,并将所有者修改成mysql。
修改/etc/init.d/mysql,将basedir和datadir的值修改成规划好的目录。
9 进入/usr/mysql/script,执行下面的语句:
./mysql_install_db --user=mysql --basedir=/usr/mysql --datadir=/home/mysql/data
执行之后会提示很多,修改/etc/profile,添加PATH变量:export PATH=$PATH:/usr/mysql/bin
执行source /etc/profile
10 启动mysql服务:service mysql start
11 执行:mysqladmin -u root password 'root'
12 这样就装好了mysql,su到mysql用户,执行:mysql -uroot -proot即可进入mysql命令行。
该过程同样适用于mysql,因为mariaDB本身和mysql没有天翻地覆的区别。
㈤ mariadb编译安装出现如下错误,要怎么弄
我也是这个问题
找到症结了
project(TokuDB)
suppress -rdynamic
set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")
set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "")
Versions of gcc >= 4.9.0 require special version of 'ar' and 'ranlib' for
link-time optimizations to work properly.
From https://gcc.gnu.org/gcc-4.9/changes.html:
When using a linker plugin, compiling with the -flto option now
generates slim objects files (.o) which only contain intermediate
language representation for LTO. Use -ffat-lto-objects to create
files which contain additionally the object code. To generate
static libraries suitable for LTO processing, use gcc-ar and
gcc-ranlib; to list symbols from a slim object file use
gcc-nm. (Requires that ar, ranlib and nm have been compiled with
plugin support.)
㈥ mariadb编译安装出现如下错误,要怎么弄
我也是这个问题
找到症结了
project(TokuDB)
suppress -rdynamic
set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")
set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "")
Versions of gcc >= 4.9.0 require specia
㈦ MariaDB or MySql 哪个性能更高
MySQL和MariaDB的性能比较
现在把目光移到benchmark上面来,它其实也是由MariaDB团队开发的,并加了一下额外的说明。这篇博客提到了一个有趣的地方:把MYSQL5.6的线程数一直增加到16,性能都很好,但是超过了16的话,尽管性能也有提升一点点,但比较发现,远不如其他版本(包括MairaDB-5.5.28a和MairaDB-10.0.1;参考文章顶部的性能测试图)。这在单核计算机里面试图达到多核多线程的效果的并行程序时,都会有此类的通病。如果算法设计得当,随着CPU核心数的增加,性能也会跟着提升。当然问题是,你必须在并行程序中处理好2个方面:(1)跨多核的多线程问题(2)矢量化。这也是当前面向多核编程的两个方向,你编写的必须能很好的控制这两个方面。
如果没有正确的编写代码将会得到一个共同的结果,即在用8到16个线程的开始你就想看到好的结果,但在这些线程运行之后你不会看到你期望的结果。你将会看到这个问题,这意味这可能是算法问题。(这也不是超线程或是硬件线程造成的)这就是我们在这里看到MySQL 基准的问题。对于我来说,这就是MySQL规模化产生问题的迹象,这也是令人担心的原因之一。MariaDB在同样的基准中也有一些小问题,但是比MySQL要轻微的多,只能说是勉强吧;我推测这个问题在并行计算中可能不会出现。
我也不知道在测试中怎样才能很好的根据不同机器指定不同的编译器来与之匹配。当你为Intel编译代码时,你需要为目标机器编译生成合适的SIMD代码;如果不匹配,你将不会得到你所期望执行的矢量代码。为了能正确处理,你需要在代码中插入正确的编译指示代码,然后要写下正确的矢量算法,最后在选择合适的编译器。我知道这样看起来很愚笨,但我看过一个发行产品用错误的编译器所造成的结果是你无法想象的。好歹,很明显,MySQL代码在多核和矢量化中的优化没有MariaDB好。
(我真正想看到的是,MySQL或MariaDB的一个分支为Intel Xeon Phi处理器核心做一个特别的编译,使代码转移到61 核心协处理器,并且有人能尝试加速所有244个线程。可惜我没有接触过这样的机器。同样的,如果你想学习更多关于向量化和并行方式编写代码方面的知识,检索最近Intel公司 James Jeffers 与 James Reinders写的文章“Intel Xeon Phi 协处理器高性能编程”。)
㈧ centos7编译pdo_mysql出错
这个ContOS7装mysql能下载MariaDB的rpm包安装么?不过我没有装过
给个yum安装教程
安装MariaDB
CentOS7.0中,已经使用MariaDB替代了MySQL数据库
1、安装MariaDB
yuminstallmariadbmariadb-server#询问是否要安装,输入Y即可自动安装,直到安装完成
systemctlstartmariadb.service#启动MariaDB
systemctlstopmariadb.service#停止MariaDB
systemctlrestartmariadb.service#重启MariaDB
systemctlenablemariadb.service#设置开机启动
cp/usr/share/mysql/my-huge.cnf/etc/my.cnf#拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可)
2、为root账户设置密码
mysql_secure_installation
回车,根据提示输入Y
输入2次密码,回车
根据提示一路输入Y
最后出现:ThanksforusingMySQL!
MySql密码设置完成,重新启动MySQL:
systemctlrestartmariadb.service#重启MariaDB