30选5玩法|福彩30选5开奖结果321|
 

分类:mysql_mariadb

mysql查看连接数

No Comments mysql_mariadb

show variables like ‘%max_connections%’;//数据库最大连接数
show global status like ‘Max_used_connections’;//已使用连接数
show status like ‘Threads%’;//连接线程数
show FULL PROCESSLIST;//连接详细信息

SET GLOBAL max_connections=2000;//设置最大连接数
———————
作者:xgjj68163
来源:CSDN
原文:https://blog.csdn.net/u014161595/article/details/79470500
版权声明:本文为博主原创文章,转载请附上博文链接!

 

 

1.mysql> show status like ‘Threads%’;
+——————-+——-+
| Variable_name     | Value |
+——————-+——-+
| Threads_cached    | 58    |
| Threads_connected | 57    |   ###这个数值指的是打开的连接数
| Threads_created   | 3676  |
| Threads_running   | 4     |   ###这个数值指的是激活的连接数,这个数值一般远低于connected数值
+——————-+——-+
 
Threads_connected 跟show processlist结果相同,表示当前连接数。准确的来说,Threads_running是代表当?#23433;?#21457;数
 

这是是查询数据库当前设置的最大连接数
2.mysql> show variables like ‘%max_connections%’;
+—————–+——-+
| Variable_name   | Value |
+—————–+——-+
| max_connections | 1000  |
+—————–+——-+
 
可以在/etc/my.cnf里面设置数据库的最大连接数
[mysqld]
max_connections = 1000

max_connections ?#38382;?#21487;以用于控制数据库的最大连接数:
3.mysql> show variables like ‘%connect%’;
+————————–+——————-+
| Variable_name            | Value             |
+————————–+——————-+
| character_set_connection | latin1            |
| collation_connection     | latin1_swedish_ci |
| connect_timeout          | 10                |
| init_connect             |                   |
| max_connect_errors       | 10                |
| max_connections          | 4000              |
| max_user_connections     | 0                 |
+————————–+——————-+

 

很多开发人员都会遇见”MySQL: ERROR 1040: Too many connections”的异常情况,造成这种情况的一种原因是访问量过高,MySQL服务器抗不住,这个时候就要考虑增加从服务器分散读压力;另一种原因就是MySQL配置文件中max_connections值过小。

首先,我们来查看mysql的最大连接数:

1
2
3
4
5
6
7
mysql> show variables like ‘%max_connections%’;
+—————–+——-+
| Variable_name  | Value |
+—————–+——-+
| max_connections | 151  |
+—————–+——-+
1 row in set (0.00 sec)
其次,查看服务器响应的最大连接数:

1
2
3
4
5
6
7
mysql> show global status like ‘Max_used_connections’;
+———————-+——-+
| Variable_name    | Value |
+———————-+——-+
| Max_used_connections | 2   |
+———————-+——-+
1 row in set (0.00 sec)
可以看到服务器响应的最大连接数为2,远远低于mysql服务器允许的最大连接数值。

对于mysql服务器最大连接数?#26723;?#35774;置范围比较理想的是:服务器响应的最大连接数值占服务器上限连接数?#26723;?#27604;例值在10%以上,如果在10%以下,说明mysql服务器最大连接上限值设置过高。

1
Max_used_connections / max_connections * 100% = 2/151 *100% ≈ 1%
我们可以看到占比远低于10%(因为这是本地测试服务器,结果值没有太大的参考意义,大家可以根据实?#26159;?#20917;设置连接数的上限值)。

------中间广告---------

再来看一下自己 linode VPS 现在(时间:2013-11-13 23:40:11)的结果值:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
mysql> show variables like ‘%max_connections%’;
+—————–+——-+
| Variable_name  | Value |
+—————–+——-+
| max_connections | 151  |
+—————–+——-+
1 row in set (0.19 sec)
mysql> show global status like ‘Max_used_connections’;
+———————-+——-+
| Variable_name    | Value |
+———————-+——-+
| Max_used_connections | 44  |
+———————-+——-+
1 row in set (0.17 sec)
这里的最大连接数占上限连接数的30%左右。

上面我们知道怎么查看mysql服务器的最大连接数值,并且知道了如何判?#32454;?#20540;是否合理,下面我们就来介绍一下如何设置这个最大连接数值。

方法1:

1
2
3
4
5
6
7
8
9
mysql> set GLOBAL max_connections=256;
Query OK, 0 rows affected (0.00 sec)
mysql> show variables like ‘%max_connections%’;
+—————–+——-+
| Variable_name  | Value |
+—————–+——-+
| max_connections | 256  |
+—————–+——-+
1 row in set (0.00 sec)
方法2:

修改mysql配置文件my.cnf,在[mysqld]段中添加或修改max_connections值:

max_connections=128
重启mysql服务即可。
———————
作者:caodongfang126
来源:CSDN
原文:https://blog.csdn.net/caodongfang126/article/details/52764213
版权声明:本文为博主原创文章,转载请附上博文链接!

 

 

show status like ‘%max_connections%’; ##mysql最大连接数
set global max_connections=1000 ##重新设置
show variables like ‘%max_connections%’; ##查询数据库当前设置的最大连接数

show global status like ‘Max_used_connections’; ##服务器响应的最大连接数

show status like ‘Threads%’;

Variable_name Value
Threads_cached    0 ##mysql管理的线程池中还有多少可以被复用的资源
Threads_connected    152 ##打开的连接数
Threads_created    550 ##表示创建过的线程数,如果发现Threads_created值过大的话,表明MySQL服务器一直在创建线程,这也是比较耗资源,可以适当增加配置文件中thread_cache_size值,查询服务器
Threads_running    1 ##激活的连接数,这个数值一般远低于connected数值,准确的来说,Threads_running是代表当?#23433;?#21457;数

show variables like ‘thread_cache_size’;
set global thread_cache_size=60;

mysql查看连接数

No Comments mysql_mariadb

show variables like ‘%max_connections%’;//数据库最大连接数
show global status like ‘Max_used_connections’;//已使用连接数
show status like ‘Threads%’;//连接线程数
show FULL PROCESSLIST;//连接详细信息

SET GLOBAL max_connections=2000;//设置最大连接数
———————
作者:xgjj68163
来源:CSDN
原文:https://blog.csdn.net/u014161595/article/details/79470500
版权声明:本文为博主原创文章,转载请附上博文链接!

 

 

1.mysql> show status like ‘Threads%’;
+——————-+——-+
| Variable_name     | Value |
+——————-+——-+
| Threads_cached    | 58    |
| Threads_connected | 57    |   ###这个数值指的是打开的连接数
| Threads_created   | 3676  |
| Threads_running   | 4     |   ###这个数值指的是激活的连接数,这个数值一般远低于connected数值
+——————-+——-+
 
Threads_connected 跟show processlist结果相同,表示当前连接数。准确的来说,Threads_running是代表当?#23433;?#21457;数
 

这是是查询数据库当前设置的最大连接数
2.mysql> show variables like ‘%max_connections%’;
+—————–+——-+
| Variable_name   | Value |
+—————–+——-+
| max_connections | 1000  |
+—————–+——-+
 
可以在/etc/my.cnf里面设置数据库的最大连接数
[mysqld]
max_connections = 1000

max_connections ?#38382;?#21487;以用于控制数据库的最大连接数:
3.mysql> show variables like ‘%connect%’;
+————————–+——————-+
| Variable_name            | Value             |
+————————–+——————-+
| character_set_connection | latin1            |
| collation_connection     | latin1_swedish_ci |
| connect_timeout          | 10                |
| init_connect             |                   |
| max_connect_errors       | 10                |
| max_connections          | 4000              |
| max_user_connections     | 0                 |
+————————–+——————-+

 

很多开发人员都会遇见”MySQL: ERROR 1040: Too many connections”的异常情况,造成这种情况的一种原因是访问量过高,MySQL服务器抗不住,这个时候就要考虑增加从服务器分散读压力;另一种原因就是MySQL配置文件中max_connections值过小。

首先,我们来查看mysql的最大连接数:

1
2
3
4
5
6
7
mysql> show variables like ‘%max_connections%’;
+—————–+——-+
| Variable_name  | Value |
+—————–+——-+
| max_connections | 151  |
+—————–+——-+
1 row in set (0.00 sec)
其次,查看服务器响应的最大连接数:

1
2
3
4
5
6
7
mysql> show global status like ‘Max_used_connections’;
+———————-+——-+
| Variable_name    | Value |
+———————-+——-+
| Max_used_connections | 2   |
+———————-+——-+
1 row in set (0.00 sec)
可以看到服务器响应的最大连接数为2,远远低于mysql服务器允许的最大连接数值。

对于mysql服务器最大连接数?#26723;?#35774;置范围比较理想的是:服务器响应的最大连接数值占服务器上限连接数?#26723;?#27604;例值在10%以上,如果在10%以下,说明mysql服务器最大连接上限值设置过高。

1
Max_used_connections / max_connections * 100% = 2/151 *100% ≈ 1%
我们可以看到占比远低于10%(因为这是本地测试服务器,结果值没有太大的参考意义,大家可以根据实?#26159;?#20917;设置连接数的上限值)。

再来看一下自己 linode VPS 现在(时间:2013-11-13 23:40:11)的结果值:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
mysql> show variables like ‘%max_connections%’;
+—————–+——-+
| Variable_name  | Value |
+—————–+——-+
| max_connections | 151  |
+—————–+——-+
1 row in set (0.19 sec)
mysql> show global status like ‘Max_used_connections’;
+———————-+——-+
| Variable_name    | Value |
+———————-+——-+
| Max_used_connections | 44  |
+———————-+——-+
1 row in set (0.17 sec)
这里的最大连接数占上限连接数的30%左右。

上面我们知道怎么查看mysql服务器的最大连接数值,并且知道了如何判?#32454;?#20540;是否合理,下面我们就来介绍一下如何设置这个最大连接数值。

方法1:

1
2
3
4
5
6
7
8
9
mysql> set GLOBAL max_connections=256;
Query OK, 0 rows affected (0.00 sec)
mysql> show variables like ‘%max_connections%’;
+—————–+——-+
| Variable_name  | Value |
+—————–+——-+
| max_connections | 256  |
+—————–+——-+
1 row in set (0.00 sec)
方法2:

修改mysql配置文件my.cnf,在[mysqld]段中添加或修改max_connections值:

max_connections=128
重启mysql服务即可。
———————
作者:caodongfang126
来源:CSDN
原文:https://blog.csdn.net/caodongfang126/article/details/52764213
版权声明:本文为博主原创文章,转载请附上博文链接!

mysql查看连接数

No Comments mysql_mariadb

show variables like ‘%max_connections%’;//数据库最大连接数
show global status like ‘Max_used_connections’;//已使用连接数
show status like ‘Threads%’;//连接线程数
show FULL PROCESSLIST;//连接详细信息

SET GLOBAL max_connections=2000;//设置最大连接数
———————
作者:xgjj68163
来源:CSDN
原文:https://blog.csdn.net/u014161595/article/details/79470500
版权声明:本文为博主原创文章,转载请附上博文链接!

mysqldump的权限说明

No Comments mysql_mariadb
mysqldump 所需要的权限说明:

1、对于table 来说mysqldump 最少要有select 权限。
2、对于view 来说mysqldump 要有show view 权限。
3、对于trrigger 来说mysqldump 要有trriger 权限。
4、如果要产生一份一致的备份 mysqldump 要有lock tables 权限。

相关用户创建与授权语句:
create user [email protected]'127.0.0.1';
grant select on tempdb.* to [email protected]'127.0.0.1';
grant show view on tempdb.* to [email protected]'127.0.0.1';
grant lock tables on tempdb.* to [email protected]'127.0.0.1';
grant trigger on tempdb.* to [email protected]'127.0.0.1';
远程 授权 lock tables 会报错。
Error Code : 1144 Illegal GRANT/REVOKE command; please consult themanual to see which privileges can be used

mysqldump的权限说明

No Comments mysql_mariadb
mysqldump 所需要的权限说明:

1、对于table 来说mysqldump 最少要有select 权限。
2、对于view 来说mysqldump 要有show view 权限。
3、对于trrigger 来说mysqldump 要有trriger 权限。
4、如果要产生一份一致的备份 mysqldump 要有lock tables 权限。

相关用户创建与授权语句:
create user [email protected]'127.0.0.1';
grant select on tempdb.* to [email protected]'127.0.0.1';
grant show view on tempdb.* to [email protected]'127.0.0.1';
grant lock tables on tempdb.* to [email protected]'127.0.0.1';
grant trigger on tempdb.* to [email protected]'127.0.0.1';

解决远程连接mysql很慢的方法

No Comments mysql_mariadb

 

vim /etc/mysql/my.cnf

[mysqld]
skip-name-resolve

 

根据文档说明,如果你的mysql主机查询DNS很慢或是有很多客户端主机时会导致连接很慢,由于我们?#30446;?#21457;机器是不能够连接外网的,所以DNS解析是不可能完成的,从而也就明白了为什么连接那么慢了。同时,请注意在增加该配置?#38382;?#21518;,mysql的授权表中的host字段就不能够使用域名而只能够使用 ip地址了,因为这是禁止了域名解析的结果。

mySQL快速导入大量数据的方法

No Comments mysql_mariadb
SELECT INTO OUTFILE

> help select;
Name: 'SELECT'
Description:
Syntax:
SELECT
    [ALL | DISTINCT | DISTINCTROW ]
      [HIGH_PRIORITY]
      [MAX_STATEMENT_TIME = N]
      [STRAIGHT_JOIN]
      [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
      [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
    select_expr [, select_expr ...]
    [FROM table_references
      [PARTITION partition_list]
    [WHERE where_condition]
    [GROUP BY {col_name | expr | position}
      [ASC | DESC], ... [WITH ROLLUP]]
    [HAVING where_condition]
    [ORDER BY {col_name | expr | position}
      [ASC | DESC], ...]
    [LIMIT {[offset,] row_count | row_count OFFSET offset}]
    [PROCEDURE procedure_name(argument_list)]
    [INTO OUTFILE 'file_name'
        [CHARACTER SET charset_name]
        export_options
      | INTO DUMPFILE 'file_name'
      | INTO var_name [, var_name]]
    [FOR UPDATE | LOCK IN SHARE MODE]]

举例:

> select * from e;
+------+-------+-------+
| id   | fname | lname |
+------+-------+-------+
| 1669 | Jim   | Smith |
|  337 | Mary  | Jones |
| 2005 | Linda | Black |
+------+-------+-------+

> select * from e into outfile "/data/mysql/e.sql";
或 > select * into outfile "/data/mysql/e.sql" from e; # cat e.sql 1669 Jim Smith 337 Mary Jones 2005 Linda Black

可以看到,select…into outfile 的结果?#35805;?#21547;了表数据,默认以 Tab 分隔,也可指定分隔符:

> select * from e into outfile "/data/mysql/e.sql" fields terminated by ',';
# cat  e.sql    
1669,Jim,Smith
337,Mary,Jones
2005,Linda,Black

注意:outfile ‘/path/file’,中的 path 需要有mysql的权限,否则会报错:

> select * from t into outfile "/root/backup/mysql/t.sql";
ERROR 1 (HY000): Can't create/write to file '/root/backup/mysql/t.sql' (Errcode: 13 - Permission denied)
 
 
LOAD DATA INFILE

LOAD DATA INFILE 语句以非常高的速度从文本文件中读取行到表?#23567;?/p>

LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name'
[REPLACE | IGNORE]
INTO TABLE tbl_name
[PARTITION (partition_name,...)]
[CHARACTER SET charset_name]
[{FIELDS | COLUMNS}
[TERMINATED BY 'string']
[[OPTIONALLY] ENCLOSED BY 'char']
[ESCAPED BY 'char']
]
[LINES
[STARTING BY 'string']
[TERMINATED BY 'string']
]
[IGNORE number {LINES | ROWS}]
[(col_name_or_user_var,...)]
[SET col_name = expr,...]

举例

> delete from e;
> load data infile "/data/mysql/e.sql" into table e fields terminated by ','; Query OK, 3 rows affected (0.01 sec) Records: 3 Deleted: 0 Skipped: 0 Warnings: 0 > select * from e; +------+-------+-------+ | id | fname | lname | +------+-------+-------+ | 1669 | Jim | Smith | | 337 | Mary | Jones | | 2005 | Linda | Black | +------+-------+-------+

因为我们前面指定的分隔符是 ‘,’,load data 时也要指定分隔符,否则也会报错:

> load data infile "/data/mysql/e.sql" into table e;
ERROR 1265 (01000): Data truncated for column 'id' at row 1

如果数据被某种符号封闭着,需要指定 ‘ fields enclosed by ’ :

# cat e.sql 
"1669"  "Jim"   "Smith"

 > load data infile “/data/mysql/e.sql” into table e;
 ERROR 1366 (HY000): Incorrect integer value: ‘”1669″‘ for column ‘id’ at row 1


 > load data infile “/data/mysql/e.sql” into table e fields enclosed by ‘”‘;
 Query OK, 1 row affected (0.01 sec)
 Records: 1 Deleted: 0 Skipped: 0 Warnings: 0

如上所示,数据被双引号封闭着,如果直接执行,会报错。

另外还有一些格式上的限制,如 LINES TERMINATED BY ‘string’ ,指定 file 的换行符,如 ‘\n’ 。

 

 

mysqlimport

mysql 命令中有 load data ,mysql还有一个可执行文件 mysqlimport,这两个命令可?#28304;?#25991;件中把格式化的数据导入数据库,如果有一个包含大数据量的文件,可以实现快速的数据导入。

mysqlimport 可以看做是为 LOAD DATA INFILE SQL语句提供了一个命令行界面,他们大部分的?#38382;?#36873;项是一致的,由 SELECT into outfile 导出的文件,也可以由 mysqlimport 导入。

mysqlimport 需要的文件格?#25509;?load data 差不多,有兴趣的同学可以去研究一下。这里给出它的基本语法:

mysqlimport -u root -pPassword [--local] dbname filename.txt [OPTION]

其中,“Password”?#38382;?#26159;root用户的密码,必须与-p选项紧挨着;“–local”是在本地计算机中查找文本文件时使用的(指定 –local 后,文本文件可以放在任何地方进行导入,否则只能放在mysql的data目录下);“dbname”?#38382;?#34920;示数据库的名称;“filename.txt”?#38382;?#25351;定了文本文件的路径和称,文件里的数据插入到文件名去掉后缀后剩余名字对应的表中;“OPTION”为可选?#38382;?#36873;项,其常见的取值有:

–fields-terminated-by=字符串:设置字符串为字段之间的分隔符,可以为单个或多个字符。默?#29616;?#20026;制表符“\t”。

–fields-enclosed-by=字符:设置字符来括住字段的值,只能为单个字符。

–fields-optionally-enclosed-by=字符:设置字符括住CHAR、VARCHAR和TEXT等字符型字段,只能为单个字符。

–fields-escaped-by=字符:设置转义字符,默?#29616;?#20026;反斜线“\”。

–lines-terminated-by=字符串:设置每行数据结尾的字符,可以为单个或多个字符,默?#29616;?#20026;“\n”。

–ignore-lines=n:表示可以忽略前n?#23567;?/p>

一看必会系列:MYSQL5.7 官方YUM安装

No Comments mysql_mariadb

 

安装官方源
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

开启5.7版本原
yum-config-manager –enable mysql57-community

关闭8.0版本源
yum-config-manager –disable mysql80-community

安装mysql-server

yum install mysql-community-server

启动
systemctl start mysqld
systemctl enable mysqld

查看密码

grep ‘temporary password’ /var/log/mysqld.log

 

进入密码 mysql –u root –p

 

修改密码

  • mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MPass122!';
30选5玩法