mysql处理字符串的两个绝招:substring_index,concat

mysql处理字符串的两个绝招:substring_index,concat

1、substring_index(str,delim,count)
        str:要处理的字符串
        delim:分隔符
        count:计数


例子:str='www.google.com'
  substring_index(str,'.',1)
  结果是:www
  substring_index(str,'.',2)
  结果是:www.google
  也就是说,如果count是正数,那么就是从左往右数,第N个分隔符的左边的全部内容
  相反,如果是负数,那么就是从右边开始数,第N个分隔符右边的所有内容,如:
  substring_index(str,'.',-2)
  结果为:google.com

    有人会问,如果我要中间的的google怎么办?
  很简单的,两个方向:
  1、从右数第二个分隔符的右边全部,再从左数的第一个分隔符的左边:
  substring_index(substring_index(str,'.',-2),‘.’,1);

2、 concat是连接几个字符串,可以多个哦
  concat('wo','lin','xue','bin')
  结果就是wolinxuebin


Mysql查看连接数、状态

show processlist
如果是root帐号,你能看到所有用户的当前连接,如果是其它普通帐号,只能看到自己占用的连接
show processlist只能列出前100条;如果想全列出请使用show full processlist

show status like ‘%变量%’

Aborted_clients 由于客户没有正确关闭连接已经死掉,已经放弃的连接数量
Aborted_connects 尝试已经失败的连接MYSQL服务器的次数

Connections 试图连接MYSQL服务器的次数
Flush_commands 执行FLUSH命令的次数

Max_used_connections 同时使用的连接的最大数目
Threads_connected 当前打开的连接的数量

Threads_running 不在睡眠的线程数量
Uptime 服务器工作时间

要统计数据库的连接数,我们通常情况下是统计总数,没有细分到每个IP上。现在要监控每个IP的连接数,实现方式如下:

select SUBSTRING_INDEX(host,':',1) as ip , count(*) from information_schema.processlist group by ip;

set-variable= max_user_connections=30 这个就是单用户的连接数
set-variable= max_connections=800 这个是全局的限制连接数

如果进程过多,就把进程打印下来,然后查看
mysql -h 127.0.0.1 -P 24806 -uroot -e 'show full processlist;'> myLog.log

将进程信息输出到myLog.log文件中

猜你喜欢

转载自rd-030.iteye.com/blog/2351392
今日推荐