diff --git a/doc/source/diagnostics/misc_info_schema_tables.rst b/doc/source/diagnostics/misc_info_schema_tables.rst index 9df89a2ed896..c3c7eca49895 100644 --- a/doc/source/diagnostics/misc_info_schema_tables.rst +++ b/doc/source/diagnostics/misc_info_schema_tables.rst @@ -19,7 +19,7 @@ Only the temporary tables that were explicitly created with `CREATE TEMPORARY TA .. table:: INFORMATION_SCHEMA.GLOBAL_TEMPORARY_TABLES - :version 5.6.5-60.0: Feature introduced + :version 5.7.10-1: Feature ported from |Percona Server| 5.6 :column SESSION_ID: |MySQL| connection id :column TABLE_SCHEMA: Schema in which the temporary table is created :column TABLE_NAME: Name of the temporary table @@ -36,7 +36,7 @@ This table holds information on the temporary tables existing for all connection .. table:: INFORMATION_SCHEMA.TEMPORARY_TABLES - :version 5.6.5-60.0: Feature introduced + :version 5.7.10-1: Feature ported from |Percona Server| 5.6 :column SESSION_ID: |MySQL| connection id :column TABLE_SCHEMA: Schema in which the temporary table is created :column TABLE_NAME: Name of the temporary table diff --git a/doc/source/flexibility/extended_select_into_outfile.rst b/doc/source/flexibility/extended_select_into_outfile.rst index d3668185dc0f..55de7ea3b42f 100644 --- a/doc/source/flexibility/extended_select_into_outfile.rst +++ b/doc/source/flexibility/extended_select_into_outfile.rst @@ -4,7 +4,7 @@ Extended ``SELECT INTO OUTFILE/DUMPFILE`` =========================================== -|Percona Server| has extended the ``SELECT INTO ... OUTFILE`` and ``SELECT INTO DUMPFILE`` `commands `_ to add the support for UNIX sockets and named pipes. Before this was implemented the database would return an error for such files. +|Percona Server| has extended the ``SELECT INTO ... OUTFILE`` and ``SELECT INTO DUMPFILE`` `commands `_ to add the support for UNIX sockets and named pipes. Before this was implemented the database would return an error for such files. This feature allows using ``LOAD DATA LOCAL INFILE`` in combination with ``SELECT INTO OUTFILE`` to quickly load multiple partitions across the network or in other setups, without having to use an intermediate file which wastes space and I/O. diff --git a/doc/source/flexibility/per_query_variable_statement.rst b/doc/source/flexibility/per_query_variable_statement.rst index 3e2f3aaab532..292309393663 100644 --- a/doc/source/flexibility/per_query_variable_statement.rst +++ b/doc/source/flexibility/per_query_variable_statement.rst @@ -19,11 +19,11 @@ If we want to increase the :variable:`sort_buffer_size` value just for one speci mysql> SET STATEMENT sort_buffer_size=100000 FOR SELECT name FROM name ORDER BY name; -This feature can also be used with :ref:`statement_timeout` to limit the execution time for a specific query: +This feature can also be used with `max_execution_time `_ to limit the execution time for a specific query: .. code-block:: mysql - mysql> SET STATEMENT max_statement_time=1000 FOR SELECT name FROM name ORDER BY name; + mysql> SET STATEMENT max_execution_time=1000 FOR SELECT name FROM name ORDER BY name; We can provide more than one variable we want to set up: diff --git a/doc/source/flexibility/slowlog_rotation.rst b/doc/source/flexibility/slowlog_rotation.rst index d026f60c0949..e61b30487959 100644 --- a/doc/source/flexibility/slowlog_rotation.rst +++ b/doc/source/flexibility/slowlog_rotation.rst @@ -8,7 +8,7 @@ This feature is currently considered BETA quality. -Percona has implemented two new variables, :variable:`max_slowlog_size` and :variable:`max_slowlog_files` to provide users with ability to control the slow query log disk usage. These variables have the same behavior as upstream variable `max_binlog_size `_ and :variable:`max_binlog_files` variable used for controlling the binary log. +Percona has implemented two new variables, :variable:`max_slowlog_size` and :variable:`max_slowlog_files` to provide users with ability to control the slow query log disk usage. These variables have the same behavior as upstream variable `max_binlog_size `_ and :variable:`max_binlog_files` variable used for controlling the binary log. .. warning:: diff --git a/doc/source/glossary.rst b/doc/source/glossary.rst index de6da70f606c..d6b694bf961c 100644 --- a/doc/source/glossary.rst +++ b/doc/source/glossary.rst @@ -70,6 +70,16 @@ the Oracle distribution of MySQL as distinct from the drop-in replacements such as :term:`MariaDB` and :term:`Percona Server`. + NUMA + Non-Uniform Memory Access + (`NUMA `_) is a + computer memory design used in multiprocessing, where the memory access + time depends on the memory location relative to a processor. Under NUMA, + a processor can access its own local memory faster than non-local memory, + that is, memory local to another processor or memory shared between + processors. The whole system may still operate as one unit, and all memory + is basically accessible from everywhere, but at a potentially higher latency + and lower performance. Percona Server Percona's branch of :term:`MySQL` with performance and management improvements. diff --git a/doc/source/installation/apt_repo.rst b/doc/source/installation/apt_repo.rst index 09ab14baec93..551ad00926a6 100644 --- a/doc/source/installation/apt_repo.rst +++ b/doc/source/installation/apt_repo.rst @@ -145,13 +145,17 @@ This will install all the packages from the bundle. Another option is to downloa .. warning:: - When installing packages manually like this, you'll need to make sure to resolve all the dependencies and install missing packages yourself. + When installing packages manually like this, you'll need to make sure to resolve all the dependencies and install missing packages yourself. Following packages will need to be installed before you can manually install Percona Server: ``mysql-common``, ``libjemalloc1``, ``libaio1`` and ``libmecab2`` Running |Percona Server| ======================== -|Percona Server| stores the data files in :file:`/var/lib/mysql/` by default. You can find the configuration file that is used to manage |Percona Server| in :file:`/etc/mysql/my.cnf`. *Debian* and *Ubuntu* installation automatically creates a special ``debian-sys-maint`` user which is used by the control scripts to control the |Percona Server| ``mysqld`` and ``mysqld_safe`` services. Login details for that user can be found in :file:`/etc/mysql/debian.cnf`. +|Percona Server| stores the data files in :file:`/var/lib/mysql/` by default. You can find the configuration file that is used to manage |Percona Server| in :file:`/etc/mysql/my.cnf`. + +.. note:: + + *Debian* and *Ubuntu* installation doesn't automatically create a special ``debian-sys-maint`` user which can be used by the control scripts to control the |Percona Server| ``mysqld`` and ``mysqld_safe`` services like it was the case with previous |Percona Server| versions. If you still require this user you'll need to create it manually. 1. Starting the service diff --git a/doc/source/management/expanded_program_option_modifiers.rst b/doc/source/management/expanded_program_option_modifiers.rst index f3154e897168..d3b7027e6b82 100644 --- a/doc/source/management/expanded_program_option_modifiers.rst +++ b/doc/source/management/expanded_program_option_modifiers.rst @@ -4,7 +4,7 @@ Expanded Program Option Modifiers ================================= -|MySQL| has the concept of `options modifiers `_ which is a simple way to modify either the way that |MySQL| interprets an option or the way the option behaves. Option modifiers are used by simply prepending the name of the modifier and a dash "-" before the actual configuration option name. For example specifying --maximum-query_cache_size=4M on the mysqld commad line or specifying maximum-query_cache_size=4M in the :file:`my.cnf` will prevent any client from setting the :variable:`query_cache_size` value larger than 4MB. +|MySQL| has the concept of `options modifiers `_ which is a simple way to modify either the way that |MySQL| interprets an option or the way the option behaves. Option modifiers are used by simply prepending the name of the modifier and a dash "-" before the actual configuration option name. For example specifying --maximum-query_cache_size=4M on the mysqld commad line or specifying maximum-query_cache_size=4M in the :file:`my.cnf` will prevent any client from setting the :variable:`query_cache_size` value larger than 4MB. Currently MySQL supports five existing option modifiers: * disable [disable-] disables or ignores option_name. diff --git a/doc/source/management/pam_plugin.rst b/doc/source/management/pam_plugin.rst index 99448cd181e1..14d64242f284 100644 --- a/doc/source/management/pam_plugin.rst +++ b/doc/source/management/pam_plugin.rst @@ -75,7 +75,7 @@ This feature enables using secondary groups in the mapping part of the authentic Known issues ============ -Default mysql stack size is not enough to handle ``pam_ecryptfs`` module. Workaround is to increase the |MySQL| stack size by setting the `thread-stack `_ variable to at least ``512KB`` or by increasing the old value by ``256KB``. +Default mysql stack size is not enough to handle ``pam_ecryptfs`` module. Workaround is to increase the |MySQL| stack size by setting the `thread-stack `_ variable to at least ``512KB`` or by increasing the old value by ``256KB``. Version Specific Information ============================ diff --git a/doc/source/management/utility_user.rst b/doc/source/management/utility_user.rst index ba50f88c1286..8098ecffe106 100644 --- a/doc/source/management/utility_user.rst +++ b/doc/source/management/utility_user.rst @@ -26,7 +26,7 @@ When the server starts, it will note in the log output that the utility user exi In order to have the ability for a special type of MySQL user, which will have a very limited and special amount of control over the system and can not be see or modified by any other user including the root user, three new options have been added. -Option :variable:`utility_user` specifies the user which the system will create and recognize as the utility user. The host in the utility user specification follows conventions described in the `MySQL manual `_, i.e. it allows wildcards and IP masks. Anonymous user names are not permitted to be used for the utility user name. +Option :variable:`utility_user` specifies the user which the system will create and recognize as the utility user. The host in the utility user specification follows conventions described in the `MySQL manual `_, i.e. it allows wildcards and IP masks. Anonymous user names are not permitted to be used for the utility user name. This user must not be an exact match to any other user that exists in the mysql.user table. If the server detects that the user specified with this option exactly matches any user within the mysql.user table on start up, the server will report an error and shut down gracefully. If host name wildcards are used and a more specific user specification is identified on start up, the server will report a warning and continue. diff --git a/doc/source/performance/threadpool.rst b/doc/source/performance/threadpool.rst index ba5bd9bc66f7..812a648e08ee 100644 --- a/doc/source/performance/threadpool.rst +++ b/doc/source/performance/threadpool.rst @@ -23,7 +23,7 @@ Although the default values for the thread pool should provide good performance, Priority connection scheduling ============================== -In |Percona Server| :rn:`5.6.11-60.3` priority connection scheduling for thread pool has been implemented. Even though thread pool puts a limit on the number of concurrently running queries, the number of open transactions may remain high, because connections with already started transactions are put to the end of the queue. Higher number of open transactions has a number of implications on the currently running queries. To improve the performance new :variable:`thread_pool_high_prio_tickets` variable has been introduced. +Even though thread pool puts a limit on the number of concurrently running queries, the number of open transactions may remain high, because connections with already started transactions are put to the end of the queue. Higher number of open transactions has a number of implications on the currently running queries. To improve the performance new :variable:`thread_pool_high_prio_tickets` variable has been introduced. This variable controls the high priority queue policy. Each new connection is assigned this many tickets to enter the high priority queue. Whenever a query has to be queued to be executed later because no threads are available, the thread pool puts the connection into the high priority queue if the following conditions apply: @@ -56,13 +56,13 @@ Such situations are prevented by throttling the low priority queue when the tota Handling of Long Network Waits ============================== -Certain types of workloads (large result sets, BLOBs, slow clients) can have longer waits on network I/O (socket reads and writes). Whenever server waits, this should be communicated to the Thread Pool, so it can start new query by either waking a waiting thread or sometimes creating a new one. This implementation has been ported from |MariaDB| patch `MDEV-156 `_ in |Percona Server| :rn:`5.6.15-63.0`. +Certain types of workloads (large result sets, BLOBs, slow clients) can have longer waits on network I/O (socket reads and writes). Whenever server waits, this should be communicated to the Thread Pool, so it can start new query by either waking a waiting thread or sometimes creating a new one. This implementation has been ported from |MariaDB| patch `MDEV-156 `_. Version Specific Information ============================ - * :rn:`5.6.10-60.2` + * :rn:`5.7.10-1` ``Thread Pool`` feature ported from |Percona Server| 5.6. System Variables @@ -163,7 +163,9 @@ The number of milliseconds before a running thread is considered stalled. When t :vartype: Numeric :default: 0 -This variable can be used to specify additional port |Percona Server| will listen on. This can be used in case no new connections can be established due to all worker threads being busy or being locked when ``pool-of-threads`` feature is enabled. To connect to the extra port following command can be used: :: +This variable can be used to specify additional port |Percona Server| will listen on. This can be used in case no new connections can be established due to all worker threads being busy or being locked when ``pool-of-threads`` feature is enabled. To connect to the extra port following command can be used: + +.. code-block:: bash mysql --port='extra-port-number' --protocol=tcp diff --git a/doc/source/scalability/innodb_io.rst b/doc/source/scalability/innodb_io.rst index 5c4e233c0da1..c67bf0249ec8 100644 --- a/doc/source/scalability/innodb_io.rst +++ b/doc/source/scalability/innodb_io.rst @@ -27,13 +27,15 @@ System Variables :default: True :range: True/False -This variable is used to control the ability of the user to set the value of the global |MySQL| variable ``innodb_flush_log_at_trx_commit``. +This variable is used to control the ability of the user to set the value of the global |MySQL| variable :variable:`innodb_flush_log_at_trx_commit`. -If ``innodb_use_global_flush_log_at_trx_commit=0`` (False), the client can set the global |MySQL| variable, using: :: +If :variable:`innodb_use_global_flush_log_at_trx_commit` is set to ``0`` (False), the client can set the global |MySQL| variable, using: + +.. code-block:: mysql SET innodb_use_global_flush_log_at_trx_commit=N -If ``innodb_use_global_flush_log_at_trx_commit=1`` (True), the user session will use the current value of ``innodb_flush_log_at_trx_commit``, and the user cannot reset the value of the global variable using a ``SET`` command. +If :variable:`innodb_use_global_flush_log_at_trx_commit` is set to ``1`` (True), the user session will use the current value of :variable:`innodb_flush_log_at_trx_commit`, and the user cannot reset the value of the global variable using a ``SET`` command. .. variable:: innodb_flush_method @@ -46,7 +48,7 @@ If ``innodb_use_global_flush_log_at_trx_commit=1`` (True), the user session will :default: ``fdatasync`` :allowed: ``fdatasync``, ``O_DSYNC``, ``O_DIRECT``, ``O_DIRECT_NO_FSYNC``, ``ALL_O_DIRECT`` -This is an existing |MySQL| 5.7 system variable that has a new allowed value ``ALL_O_DIRECT``. It determines the method |InnoDB| uses to flush its data and log files. (See ``innodb_flush_method`` in the |MySQL| 5.7 `Reference Manual `_). +This is an existing |MySQL| 5.7 system variable that has a new allowed value ``ALL_O_DIRECT``. It determines the method |InnoDB| uses to flush its data and log files. (See :variable:`innodb_flush_method` in the |MySQL| 5.7 `Reference Manual `_). The following values are allowed: @@ -68,7 +70,9 @@ The following values are allowed: Status Variables ---------------- -The following information has been added to ``SHOW ENGINE INNODB STATUS`` to confirm the checkpointing activity: :: +The following information has been added to ``SHOW ENGINE INNODB STATUS`` to confirm the checkpointing activity: + +.. code-block:: guess The max checkpoint age The current checkpoint age target diff --git a/doc/source/scalability/innodb_split_buf_pool_mutex.rst b/doc/source/scalability/innodb_split_buf_pool_mutex.rst index ae91f7605aef..e60ff03c4f57 100644 --- a/doc/source/scalability/innodb_split_buf_pool_mutex.rst +++ b/doc/source/scalability/innodb_split_buf_pool_mutex.rst @@ -76,5 +76,5 @@ If you have a high-concurrency workload this section may look like this: 18 RW-shared spins 27550, OS waits 13682; RW-excl spins 0, OS waits 0 -Note that in the second case you will see indications that threads are waiting for a mutex created in the file buf/buf0buf.c (lines 5 to 7 or 8 to 10). Such an indication is a sign of buffer pool contention. +Note that in the second case you will see indications that threads are waiting for a mutex created in the file :file:`buf/buf0buf.c` (lines 5 to 7 or 8 to 10). Such an indication is a sign of buffer pool contention. diff --git a/doc/source/tokudb/removing_tokudb.rst b/doc/source/tokudb/removing_tokudb.rst index f1712d7522c6..621939c86d3c 100644 --- a/doc/source/tokudb/removing_tokudb.rst +++ b/doc/source/tokudb/removing_tokudb.rst @@ -22,7 +22,7 @@ If you still need the data in the TokuDB tables you'll need to alter the tables Removing the plugins -------------------- -If you're using |Percona Server| :rn:`5.6.22-72.0` or later you can use the ``ps_tokudb_admin`` script to remove the plugins: +To remove the |TokuDB| storage engine with all installed plugins you can use the ``ps_tokudb_admin`` script: .. code-block:: bash @@ -50,7 +50,7 @@ Script output should look like this: Uninstalling TokuDB plugin... >> Successfuly uninstalled TokuDB plugin. -Prior to |Percona Server| :rn:`5.6.22-72.0` TokuDB storage engine requires manual removal: +Another option is to manually remove the |TokuDB| storage engine with all installed plugins: .. code-block:: mysql @@ -61,18 +61,19 @@ Prior to |Percona Server| :rn:`5.6.22-72.0` TokuDB storage engine requires manua UNINSTALL PLUGIN tokudb_trx; UNINSTALL PLUGIN tokudb_locks; UNINSTALL PLUGIN tokudb_lock_waits; + UNINSTALL PLUGIN tokudb_background_job_status; After the engine and the plugins have been uninstalled you can remove the TokuDB package by using the apt/yum commands: .. code-block:: bash - [root@centos ~]# yum remove Percona-Server-tokudb-56.x86_64 + [root@centos ~]# yum remove Percona-Server-tokudb-57.x86_64 or .. code-block:: bash - root@wheezy:~# apt-get remove percona-server-tokudb-5.6 + root@wheezy:~# apt-get remove percona-server-tokudb-5.7 .. note:: diff --git a/doc/source/tokudb/tokudb_troubleshooting.rst b/doc/source/tokudb/tokudb_troubleshooting.rst index e3850b4d79a9..880e65a10c06 100644 --- a/doc/source/tokudb/tokudb_troubleshooting.rst +++ b/doc/source/tokudb/tokudb_troubleshooting.rst @@ -15,7 +15,7 @@ Known Issues **Replication and binary logging**: |TokuDB| supports binary logging and replication, with one restriction. |TokuDB| does not implement a lock on the auto-increment function, so concurrent insert statements with one or more of the statements inserting multiple rows may result in a non-deterministic interleaving of the auto-increment values. When running replication with these concurrent inserts, the auto-increment values on the slave table may not match the auto-increment values on the master table. Note that this is only an issue with Statement Based Replication (SBR), and not Row Based Replication (RBR). -For more information about auto-increment and replication, see the |MySQL| Reference Manual: `AUTO_INCREMENT handling in InnoDB `_. +For more information about auto-increment and replication, see the |MySQL| Reference Manual: `AUTO_INCREMENT handling in InnoDB `_. In addition, when using the ``REPLACE INTO`` or ``INSERT IGNORE`` on tables with no secondary indexes or tables where secondary indexes are subsets of the primary, the session variable :variable:`tokudb_pk_insert_mode` controls whether row based replication will work. diff --git a/doc/source/tokudb/using_tokudb.rst b/doc/source/tokudb/using_tokudb.rst index a1b9d68b64e9..0a27faeadae5 100644 --- a/doc/source/tokudb/using_tokudb.rst +++ b/doc/source/tokudb/using_tokudb.rst @@ -300,6 +300,6 @@ Progress Tracking Migrating to TokuDB ------------------- -To convert an existing table to use the |TokuDB| engine, run ``ALTER TABLE... ENGINE=TokuDB``. If you wish to load from a file, use ``LOAD DATA INFILE`` and not ``mysqldump``. Using ``mysqldump`` will be much slower. To create a file that can be loaded with ``LOAD DATA INFILE``, refer to the ``INTO OUTFILE`` option of the `SELECT Syntax `_. +To convert an existing table to use the |TokuDB| engine, run ``ALTER TABLE... ENGINE=TokuDB``. If you wish to load from a file, use ``LOAD DATA INFILE`` and not ``mysqldump``. Using ``mysqldump`` will be much slower. To create a file that can be loaded with ``LOAD DATA INFILE``, refer to the ``INTO OUTFILE`` option of the `SELECT Syntax `_. .. note:: Creating this file does not save the schema of your table, so you may want to create a copy of that as well. diff --git a/doc/source/upgrading_guide_56_57.rst b/doc/source/upgrading_guide_56_57.rst index 048846cf8b54..251728401c11 100644 --- a/doc/source/upgrading_guide_56_57.rst +++ b/doc/source/upgrading_guide_56_57.rst @@ -128,7 +128,7 @@ You will have to install the following package: $ yum install Percona-Server-server-57 -If you're using |Percona Server| 5.6 with |TokuDB| you'll need to specify the |TokuDB| package as when doing the upgrade: +If you're using |Percona Server| 5.6 with |TokuDB| you'll need to specify the |TokuDB| package as well when doing the upgrade: .. code-block:: bash @@ -260,7 +260,7 @@ and check your installed packages: Percona-Server-client-56-5.6.28-rel76.1.el6.x86_64 Percona-Server-tokudb-56-5.6.28-rel76.1.el6.x86_64 -You may have a forth, ``shared-compat``, which is for compatibility purposes. +You may have a fourth, ``shared-compat``, which is for compatibility purposes. After checked that, proceed to remove them without dependencies: ::