您当前的位置:首页 > 美文摘抄 > 内容

mariadb(mariadb是怎么产生 的 跟mysql有啥区别)

本文目录

  • mariadb是怎么产生 的 跟mysql有啥区别
  • MariaDB数据库的特点是什么
  • Linux里面mysql和mariadb区别是什么
  • mariadb 10.1 相当于mysql哪个版本
  • mariadb 如何实现服务器内存使用最大化
  • 如何在linux上面安装mariadb总结
  • mariadb 客户端怎么安装
  • MariaDB和MySQL差别大吗

mariadb是怎么产生 的 跟mysql有啥区别

  MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字而MySQL 是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。

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和mariadb区别是什么

mariadb与mysql都属于同一类数据库管理系统。但是mariadb与mysql在使用范围和使用目的上都有所不同,两者的主要功能都是为了通过开源社区在维护中,从而获得GPL授权许可。从关系上来看,mariadb是属于数据库管理系统的开发和升级版本,它仅仅代表MySQL的一个分支。1. mariadb与mysql的开发目的不同mariadb是由MySQL的创始人主导开发,在他家公司MySQL卖给sun之后,又被甲骨文收购,这也就意味着MySQL的所有权,现在属于甲骨文网站。因而不得不另行开发mariadb想要通过功能完善,从而实现完全替代MySQL的产品,所以在使用的范围上两者是完全兼容的,并且前者的使用范围更广,他可以实行包括API和命令行,最终想要达到的目的是完全兼容MySQL。蒋丹来说,前者只是后者的一个替代品和升级产品,在开发过程将misqil的弊端进行兼容,从而实现整体SQL的升级。2. mariadb与mysql的适用范围Mariadb的客户端包括Dbedit和navi act系列windows,macos等数据库中的专有应用程序,以及在heidisql中,它能够支持mariadb的所有版本。通俗易懂的来讲,mariadb实现了对MySQL的完全兼容之后,还增添了许多新的功能,从而来让本地的非阻塞操作得到支持以及推动了进度报告。相对来说,mariadb的使用范围要大于MySQL,但是由于两者都在不断更新,最新的MySQL 5.4 innodb的性能也在不断提升,这也就意味着所有的MySQL的连接器应用程序同样可以在mariadb的操控工作,并且实现一个更加封闭的软件项目。

mariadb 10.1 相当于mysql哪个版本

mariadb 10.1 相当于mysql 5.7版本。

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

MariaDB直到5.5版本,均依照MySQL的版本。因此,使用MariaDB5.5的人会从MySQL5.5中了解到MariaDB的所有功能。从2012年11月12日起发布的10.0.0版开始,不再依照MySQL的版号。

10.0.x版以5.5版为基础,加上移植自MySQL 5.6版的功能和自行开发的新功能。

MariaDB的API和协议兼容MySQL,另外又添加了一些功能,以支持本地的非阻塞操作和进度报告。

扩展资料:

MariaDB的由来:

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。

MariaDB由MySQL的创始人麦克尔·维德纽斯主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。

MariaDB名称来自麦克尔·维德纽斯的女儿玛丽亚(英语:Maria)的名字。

mariadb 如何实现服务器内存使用最大化

查询最高内存占用

使用以下命令可以知道mysql的配置使用多少 RAM

SELECT ( @@key_buffer_size+ @@query_cache_size+ @@innodb_buffer_pool_size+ @@innodb_additional_mem_pool_size+ @@innodb_log_buffer_size+ @@max_connections * ( @@read_buffer_size+ @@read_rnd_buffer_size+ @@sort_buffer_size+ @@join_buffer_size+ @@binlog_cache_size+ @@thread_stack+ @@tmp_table_size)) / (1024 * 1024 * 1024) AS MAX_MEMORY_GB;

可以使用mysql计算器来计算内存使用

下面是理论,可以直接到推荐配置

如何调整配置

key_buffer_size(MyISAM索引用)

指定索引缓冲区的大小,它决定索引处理的速度,尤其是索引读的速度。为了最小化磁盘的 I/O , MyISAM 存储引擎的表使用键高速缓存来缓存索引,这个键高速缓存的大小则通过 key-buffer-size 参数来设置。如果应用系统中使用的表以 MyISAM 存储引擎为主,则应该适当增加该参数的值,以便尽可能的缓存索引,提高访问的速度。

怎么设

show global status like ’key_read%’;+------------------------+-------------+| Variable_name | Value |+------------------------+-------------+| Key_read_requests | 27813678764 || Key_reads | 6798830 |---------------------

  • key_buffer_size通过检查状态值Key_read_requests和Key_reads,可以知道key_buffer_size设置是否合理。

  • 比例key_reads / key_read_requests应该尽可能的低,至少是1:100,1:1000更好。

  • show global status like ’%created_tmp_disk_tables%’;
  • key_buffer_size只对MyISAM表起作用。即使你不使用MyISAM表,但是内部的临时磁盘表是MyISAM表,也要使用该值。可以使用检查状态值created_tmp_disk_tables得知详情。

  • 对于1G内存的机器,如果不使用MyISAM表,推荐值是16M(8-64M)

  • 另一个参考如下

  • show global status like ’key_blocks_u%’;
  • +------------------------+-------------+
  • | Variable_name | Value |
  • +------------------------+-------------+
  • | Key_blocks_unused | 0 |
  • | Key_blocks_used | 413543 |
  • +------------------------+-------------+
  • Key_blocks_unused表示未使用的缓存簇(blocks)数,Key_blocks_used表示曾经用到的最大的blocks数,比如这台服务器,所有的缓存都用到了,要么增加key_buffer_size,要么就是过渡索引了,把缓存占满了。比较理想的设置:

  • 可以根据此工式来动态的调整Key_blocks_used / (Key_blocks_unused + Key_blocks_used) * 100% ≈ 80%

  • show engines;
  • 查询存储引擎

  • innodb_buffer_pool_size (innodb索引用)

    这个参数和MyISAM的key_buffer_size有相似之处,但也是有差别的。这个参数主要缓存innodb表的索引,数据,插入数据时的缓冲。为Innodb加速优化首要参数。  

    该参数分配内存的原则:这个参数默认分配只有8M,可以说是非常小的一个值。

  • 如果是专用的DB服务器,且以InnoDB引擎为主的场景,通常可设置物理内存的50%,这个参数不能动态更改,所以分配需多考虑。分配过大,会使Swap占用过多,致使Mysql的查询特慢。

  • 如果是非专用DB服务器,可以先尝试设置成内存的1/4,如果有问题再调整

  • query_cache_size(查询缓存)

    缓存机制简单的说就是缓存sql文本及查询结果,如果运行相同的sql,服务器直接从缓存中取到结果,而不需要再去解析和执行sql。如果表更改了,那么使用这个表的所有缓冲查询将不再有效,查询缓存值的相关条目被清空。更改指的是表中任何数据或是结构的改变,包括INSERT、UPDATE、DELETE、TRUNCATE、ALTER TABLE、DROP TABLE或DROP DATABASE等,也包括那些映射到改变了的表的使用MERGE表的查询。显然,这对于频繁更新的表,查询缓存是不适合的,而对于一些不常改变数据且有大量相同sql查询的表,查询缓存会节约很大的性能。

  • 注意:如果你查询的表更新比较频繁,而且很少有相同的查询,最好不要使用查询缓存。因为这样会消耗很大的系统性能还没有任何的效果

  • 要不要打开?

    先设置成这样跑一段时间

  • query_cache_size=128M
  • query_cache_type=1
  • 看看命中结果来进行进一步的判断

  • mysql》 show status like ’%Qcache%’;
  • +-------------------------+-----------+
  • | Variable_name           | Value     |
  • +-------------------------+-----------+
  • | Qcache_free_blocks      | 669       |
  • | Qcache_free_memory      | 132519160 |
  • | Qcache_hits             | 1158      |
  • | Qcache_inserts          | 284824    |
  • | Qcache_lowmem_prunes    | 2741      |
  • | Qcache_not_cached       | 1755767   |
  • | Qcache_queries_in_cache | 579       |
  • | Qcache_total_blocks     | 1853      |
  • +-------------------------+-----------+8 rows in set (0.00 sec)
  • Qcache_free_blocks:表示查询缓存中目前还有多少剩余的blocks,如果该值显示较大,则说明查询缓存中的内存碎片过多了,可能在一定的时间进行整理。

    Qcache_free_memory:查询缓存的内存大小,通过这个参数可以很清晰的知道当前系统的查询内存是否够用,是多了,还是不够用,DBA可以根据实际情况做出调整。

    Qcache_hits:表示有多少次命中缓存。我们主要可以通过该值来验证我们的查询缓存的效果。数字越大,缓存效果越理想。

    Qcache_inserts: 表示多少次未命中然后插入,意思是新来的SQL请求在缓存中未找到,不得不执行查询处理,执行查询处理后把结果insert到查询缓存中。这样的情况的次数,次数越多,表示查询缓存应用到的比较少,效果也就不理想。当然系统刚启动后,查询缓存是空的,这很正常。

    Qcache_lowmem_prunes:该参数记录有多少条查询因为内存不足而被移除出查询缓存。通过这个值,用户可以适当的调整缓存大小。

    Qcache_not_cached: 表示因为query_cache_type的设置而没有被缓存的查询数量。

    Qcache_queries_in_cache:当前缓存中缓存的查询数量。

    Qcache_total_blocks:当前缓存的block数量。

  • 我们可以看到现网命中1158,未缓存的有1755767次,说明我们这个系统命中的太少了,表变动比较多,不什么开启这个功能涉及参数

  • query_cache_limit:允许 Cache 的单条 Query 结果集的最大容量,默认是1MB,超过此参数设置的 Query 结果集将不会被 Cache

  • query_cache_min_res_unit:设置 Query Cache 中每次分配内存的最小空间大小,也就是每个 Query 的 Cache 最小占用的内存空间大小

  • query_cache_size:设置 Query Cache 所使用的内存大小,默认值为0,大小必须是1024的整数倍,如果不是整数倍,MySQL 会自动调整降低最小量以达到1024的倍数

  • query_cache_type:控制 Query Cache 功能的开关,可以设置为0(OFF),1(ON)和2(DEMAND)三种,意义分别如下: 0(OFF):关闭 Query Cache 功能,任何情况下都不会使用 Query Cache 1(ON):开启 Query Cache 功能,但是当 SELECT 语句中使用的 SQL_NO_CACHE 提示后,将不使用Query Cache 2(DEMAND):开启 Query Cache 功能,但是只有当 SELECT 语句中使用了 SQL_CACHE 提示后,才使用 Query Cache

  • query_cache_wlock_invalidate:控制当有写锁定发生在表上的时刻是否先失效该表相关的 Query Cache,如果设置为 1(TRUE),则在写锁定的同时将失效该表相关的所有 Query Cache,如果设置为0(FALSE)则在锁定时刻仍然允许读取该表相关的 Query Cache。

  • innodb_additional_mem_pool_size(InnoDB内部目录大小)

    InnoDB 字典信息缓存主要用来存放 InnoDB 存储引擎的字典信息以及一些 internal 的共享数据结构信息,也就是存放Innodb的内部目录,所以其大小也与系统中所使用的 InnoDB 存储引擎表的数量有较大关系。

    这个值不用分配太大,通常设置16M够用了,默认8M,如果设置的内存大小不够,InnoDB 会自动申请更多的内存,并在 MySQL 的 Error Log 中记录警告信息。

    innodb_log_buffer_size (日志缓冲)

    表示InnoDB写入到磁盘上的日志文件时使用的缓冲区的字节数,默认值为16M。一个大的日志缓冲区允许大量的事务在提交之前不用写日志到磁盘,所以如果有更新,插入或删除许多行的事务,则使日志缓冲区更大一些可以节省磁盘IO

    通常最大设为64M足够

    max_connections (最大并发连接)

    MySQL的max_connections参数用来设置最大连接(用户)数。每个连接MySQL的用户均算作一个连接,max_connections的默认值为100。

  • 这个参数实际起作用的最大值(实际最大可连接数)为16384,即该参数最大值不能超过16384,即使超过也以16384为准;

  • 增加max_connections参数的值,不会占用太多系统资源。系统资源(CPU、内存)的占用主要取决于查询的密度、效率等;

  • 该参数设置过小的最明显特征是出现”Too many connections”错误

  • mysql》 show variables like ’%max_connect%’;
  • +-----------------------+-------+
  • | Variable_name         | Value |
  • +-----------------------+-------+
  • | extra_max_connections | 1     |
  • | max_connect_errors    | 100   |
  • | max_connections       | 2048  |
  • +-----------------------+-------+3 rows in set (0.00 sec)
  • mysql》 show status like ’Threads%’;
  • +-------------------+---------+
  • | Variable_name     | Value   |
  • +-------------------+---------+
  • | Threads_cached    | 0       |
  • | Threads_connected | 1       |
  • | Threads_created   | 9626717 |
  • | Threads_running   | 1       |
  • +-------------------+---------+4 rows in set (0.00 sec)
  • 可以看到此时的并发数也就是Threads_connected=1,还远远达不到2048

  • mysql》 show variables like ’open_files_limit’;
  • +------------------+-------+
  • | Variable_name    | Value |
  • +------------------+-------+
  • | open_files_limit | 65535 |
  • +------------------+-------+1 row in set (0.00 sec)
  • max_connections 还取决于操作系统对单进程允许打开最大文件数的限制

    也就是说如果操作系统限制单个进程最大可以打开100个文件

    那么 max_connections 设置为200也没什么用

    MySQL 的 open_files_limit 参数值是在MySQL启动时记录的操作系统对单进程打开最大文件数限制的值

    可以使用 show variables like ’open_files_limit’; 查看 open_files_limit 值

  • ulimit -n65535
  • 或者直接在 Linux 下通过ulimit -n命令查看操作系统对单进程打开最大文件数限制 ( 默认为1024 )

    connection级内存参数(线程独享)

    connection级参数,是在每个connection第一次需要使用这个buffer的时候,一次性分配设置的内存。

    排序性能

    mysql对于排序,使用了两个变量来控制sort_buffer_size和 max_length_for_sort_data, 不象oracle使用SGA控制. 这种方式的缺点是要单独控制,容易出现排序性能问题.

  • mysql》 SHOW GLOBAL STATUS like ’%sort%’;
  • +---------------------------+--------+
  • | Variable_name             | Value  |
  • +---------------------------+--------+
  • | Sort_merge_passes         | 0      |
  • | Sort_priority_queue_sorts | 1409   |
  • | Sort_range                | 0      |
  • | Sort_rows                 | 843479 |
  • | Sort_scan                 | 13053  |
  • +---------------------------+--------+5 rows in set (0.00 sec)
  • 如果发现Sort_merge_passes的值比较大,你可以考虑增加sort_buffer_size 来加速ORDER BY 或者GROUP BY 操作,不能通过查询或者索引优化的。我们这为0,那就没必要设置那么大。

  • 读取缓存

    read_buffer_size = 128K(默认128K)为需要全表扫描的MYISAM数据表线程指定缓存

    read_rnd_buffer_size = 4M:(默认256K)首先,该变量可以被任何存储引擎使用,当从一个已经排序的键值表中读取行时,会先从该缓冲区中获取而不再从磁盘上获取。

    大事务binlog

  • mysql》 show global status like ’binlog_cache%’;
  • +-----------------------+----------+
  • | Variable_name         | Value    |
  • +-----------------------+----------+
  • | Binlog_cache_disk_use | 220840   |
  • | Binlog_cache_use      | 67604667 |
  • +-----------------------+----------+2 rows in set (0.00 sec)
  • Binlog_cache_disk_use表示因为我们binlog_cache_size设计的内存不足导致缓存二进制日志用到了临时文件的次数

  • Binlog_cache_use 表示 用binlog_cache_size缓存的次数

  • 当对应的Binlog_cache_disk_use 值比较大的时候 我们可以考虑适当的调高 binlog_cache_size 对应的值

  • 如上图,现网是32K,我们加到64K

  • join语句内存影响

    如果应用中,很少出现join语句,则可以不用太在乎join_buffer_size参数的设置大小。

    如果join语句不是很少的话,个人建议可以适当增大join_buffer_size到1MB左右,如果内存充足可以设置为2MB。

    线程内存影响

    Thread_stack:每个连接线程被创建时,MySQL给它分配的内存大小。当MySQL创建一个新的连接线程时,需要给它分配一定大小的内存堆栈空间,以便存放客户端的请求的Query及自身的各种状态和处理信息。

  • mysql》 show status like ’%threads%’;
  • +-------------------------+---------+
  • | Variable_name           | Value   |
  • +-------------------------+---------+
  • | Delayed_insert_threads  | 0       |
  • | Slow_launch_threads     | 0       |
  • | Threadpool_idle_threads | 0       |
  • | Threadpool_threads      | 0       |
  • | Threads_cached          | 0       |
  • | Threads_connected       | 1       |
  • | Threads_created         | 9649301 |
  • | Threads_running         | 1       |
  • +-------------------------+---------+8 rows in set (0.00 sec)
  • mysql》 show status like ’connections’;
  • +---------------+---------+
  • | Variable_name | Value   |
  • +---------------+---------+
  • | Connections   | 9649311 |
  • +---------------+---------+1 row in set (0.00 sec)
  • 如上:系统启动到现在共接受到客户端的连接9649311次,共创建了9649301个连接线程,当前有1个连接线程处于和客户端连接的状态。而在Thread Cache池中共缓存了0个连接线程(Threads_cached)。

    Thread Cache 命中率:

  • Thread_Cache_Hit = (Connections - Threads_created) / Connections * 100%;
  • 一般在系统稳定运行一段时间后,Thread Cache命中率应该保持在90%左右才算正常。

    内存临时表

    tmp_table_size 控制内存临时表的最大值,超过限值后就往硬盘写,写的位置由变量 tmpdir 决定

    max_heap_table_size 用户可以创建的内存表(memory table)的大小.这个值用来计算内存表的最大行数值。

    Order By 或者Group By操作多的话,加大这两个值,默认16M

  • mysql》 show status like ’Created_tmp_%’;
  • +-------------------------+-------+
  • | Variable_name           | Value |
  • +-------------------------+-------+
  • | Created_tmp_disk_tables | 0     |
  • | Created_tmp_files       | 626   |
  • | Created_tmp_tables      | 3     |
  • +-------------------------+-------+3 rows in set (0.00 sec)
  • 如上图,写入硬盘的为0,3次中间表,说明我们的默认值足够用了

  • mariadb 推荐配置

  • 注意这里只推荐innodb引擎

  • 内存配置只关注有注释的行

  • [mysqld]
  • datadir=/var/lib/mysql
  • socket=/var/lib/mysql/mysql.sockdefault-storage-engine=INNODB
  • character-set-server=utf8
  • collation-server=utf8_general_ci
  • user=mysql
  • symbolic-links=0# global settings
  • table_cache=65535table_definition_cache=65535max_allowed_packet=4M
  • net_buffer_length=1M
  • bulk_insert_buffer_size=16M
  • query_cache_type=0              #是否使用查询缓冲,0关闭
  • query_cache_size=0              #0关闭,因为改表操作多,命中低,开启消耗cpu
  • # shared
  • key_buffer_size=8M              #保持8M MyISAM索引用
  • innodb_buffer_pool_size=4G              #DB专用mem*50%,非DB专用mem*15%到25%
  • myisam_sort_buffer_size=32M
  • max_heap_table_size=16M             #最大中间表大小
  • tmp_table_size=16M              #中间表大小
  • # per-thread
  • sort_buffer_size=256K               #加速排序缓存大小
  • read_buffer_size=128k               #为需要全表扫描的MYISAM数据表线程指定缓存
  • read_rnd_buffer_size=4M             #已排序的表读取时缓存,如果比较大内存就到6M
  • join_buffer_size=1M             #join语句多时加大,1-2M
  • thread_stack=256k               #线程空间,256K or 512K
  • binlog_cache_size=64K               #大事务binlog
  • # big-tables
  • innodb_file_per_table = 1skip-external-locking
  • max_connections=2048                #最大连接数
  • skip-name-resolve
  • # slow_query_log
  • slow_query_log_file = /var/log/mysql-slow.log
  • long_query_time = 30group_concat_max_len=65536# according to tuning-primer.sh
  • thread_cache_size = 8thread_concurrency = 16# set variables
  • concurrent_insert=2
  • 运行时修改

    使用以下命令来修改变量

  • set global {要改的key} = {值}; (立即生效重启后失效)
  • set @@{要改的key} = {值}; (立即生效重启后失效)
  • set @@global.{要改的key} = {值}; (立即生效重启后失效)
  • 试验

  • mysql》 set @@global.innodb_buffer_pool_size=4294967296;
  • ERROR 1238 (HY000): Variable ’innodb_buffer_pool_size’ is a read only variable
  • mysql》 set @@global.thread_stack=262144;
  • ERROR 1238 (HY000): Variable ’thread_stack’ is a read only variable
  • mysql》 set @@global.binlog_cache_size=65536;
  • Query OK, 0 rows affected (0.00 sec)
  • mysql》 set @@join_buffer_size=1048576;
  • Query OK, 0 rows affected (0.00 sec)
  • mysql》 set @@read_rnd_buffer_size=4194304;
  • Query OK, 0 rows affected (0.00 sec)
  • mysql》 set @@sort_buffer_size=262144;
  • Query OK, 0 rows affected (0.00 sec)
  • mysql》 set @@read_buffer_size=131072;
  • Query OK, 0 rows affected (0.00 sec)
  • mysql》 set global key_buffer_size=8388608;
  • Query OK, 0 rows affected (0.39 sec)
  • 我们可以看到innodb_buffer_pool_size和thread_stack报错了,他们只能改配置文件,在运行时是只读的。 以下直接复制使用

  • set @@global.binlog_cache_size=65536;
  • set @@join_buffer_size=1048576;
  • set @@read_rnd_buffer_size=4194304;
  • set @@sort_buffer_size=262144;
  • set @@read_buffer_size=131072;
  • set global key_buffer_size=8388608;

如何在linux上面安装mariadb总结

一 安装 1.需要下载 perl-DBI-1.521-1.EL5.rfx.x86_64.rpm 安装包, mariaDB MariaDB-5.5.29-rhel5-x86_64-common.rpm MariaDB-5.5.29-rhel5-x86_64-server.rpm MariaDB-5.5.29-rhel5-x86_64-client.rpm 2.然后再http://yum.mariadb.org/ 找到 RPM-GPG-KEY-MariaDB 这个PGP文件, 把文件放入到/etc/pki/rpm-gpg 目录下,执行 导入key 的命令 rpm --import /etc/pki/rpm-gpg/RPM* 3.安装perl-DBI-1.521-1.EL5.rfx.x86_64.rpm 包, rpm -ivh perl-DBI-1.521-1.EL5.rfx.x86_64.rpm 4.安装MariaDB 包 ,rpm -ivh MariaDB-*,安装完成 二,使用 1.启动mysql: [root@localhost mysql]# service mysql start Starting MySQL....... [ OK ] 2.进入mysql # mysql -u root -p [root@localhost rpms]# mysql MariaDB [(none)]》 show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | +--------------------+ 4 rows in set (5.75 sec)

mariadb 客户端怎么安装

安装MariaDB首先使用putty或者其他工具远程登录到ubuntu vps上去如果尚且没有非root用户的管理员,那么输入adduser marketing ,然后设置密码。使用命令gpasswd -a marketing sudo 将marketing这个用户添加到管理员组 使用命令su username 在正式开始安装之前,请输入sudo apt-get update进行更新系统。这样做的好处是避免等会儿出现未知错误。安装python语言解析包以及MariaDB数据库服务器等等。输入这条命令:sudo apt-get install python-pip python-dev mariadb-server libmariadbclient-dev libssl-dev,输入之后,会问你是否进行安装,输入y并且回车。安装途中,会要求你给MariaDB设立一个管理员密码。自行设置。回车之后,会要求再输入一遍进行确认。设置完密码之后,窗口会变回黑色,继续安装过程。输入sudo mysql_secure_installation进行数据库安全配置,输入刚才设置的密码 。上一步里面的密码如果是正确的,就会问是否修改密码。输入n,回车。除了改密码之外,还会给其他一系列建议,包括是否移除匿名用户,是否禁止root用户远程访问、是否移除test数据库等等。一路输入y,回车。

MariaDB和MySQL差别大吗

一般操作时候会发现,MySQL 5.7 检测到表 sbtest1 的 id 字段和表 sbtest2 的 id 字段的 collation 不同,没有正常走索引,造成查询很慢。通过改变排序规则或使用 convert 转换可以解决。由于 MariaDB 和 MySQL 的 collation 转换规则对执行计划的影响不同,在 MariaDB 中,不同的 Collation 并没有影响到查询效率。Maria可能在性能上更上一层楼。


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: spire 上面的红字怎么消除?spire 免费版没有打印功能吗

下一篇: 系统软件包括(系统软件主要包括哪些内容)



推荐阅读

网站内容来自网络,如有侵权请联系我们,立即删除! | 软文发布 | 粤ICP备2021106084号