良玉的博客 点点滴滴,积水成河_良玉的博客_页游、手游linux运维工程师之路

mysql批量删除表

mysql中没有现有的工具可以直接实现,所以原理就是使用现有的功能实现drop table 的语句的自动拼写,从而达到简化目的。


下边举例说明,如果想删除”abc_”开头的表:


select CONCAT( 'DROP TABLE IF EXISTS ', table_name, ';' ) FROM information_schema.tables Where table_name LIKE 'abc_%';


阅读全文...

解决mySQL占用内存超大问题

更改后如下:

innodb_buffer_pool_size=576M ->256M InnoDB引擎缓冲区占了大头,首要就是拿它开刀

query_cache_size=100M          ->16M 查询缓存

tmp_table_size=102M                ->64M 临时表大小

key_buffer_size=256m                ->32M


阅读全文...

mysql添加删除远程用户

由于项目开发的要求数据库的设计不得不用远程模式。但是数据库的远程设置并没那么简单,该项目的数据库是MYSQL5.0。刚开始以为只要装了数据库服务器就可以进行远程链接了,但是MYSQL的设置是为了用户的安全,系统默认的设置是不允许远程用户连接,只能本地的用户连接。只要我们设置下系统的管理员用户的HOST这一项的值就可以给远程的用户访问了。

方法一:

用root用户登陆,然后:

grant all privileges on *.* to 创建的用户名 @"%" identified by "密码";

flush privileges;   * 刷新刚才的内容*

格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by "用户密码";

            @ 后面是访问mysql的客户端IP地址(或是 主机名) % 代表任意的客户端,如果填写 localhost 为

本地访问(那此用户就不能远程访问该mysql数据库了)。


阅读全文...

MHA简易安装

    提到MySQL高可用性,很多人会想到MySQL Cluster,亦或者Heartbeat+DRBD,不过这些方案的复杂性常常让人望而却步,与之相对,利用MySQL复制实现高可用性则显得容易很多,目前大致有MMM,PRM,MHA等方案可供选择:MMM是最常见的方案,可惜它问题太多;至于PRM,它还是个新项目,暂时不推荐用于产品环境,不过作为Percona的作品,它值得期待;如此看来目前只能选MHA了,好在经过DeNA大规模的实践应用证明它是个靠谱的工具。然而2台机器就可以使用MHA,然后MHA安装在从机上,这样可以保证数据不丢失。

阅读全文...

怎么去优化 MySQL


1. 要确保有足够的内存

数据库能够高效的运行,最关建的因素需要内存足更大了,能缓存住数据,更新也可以在内存先完成。但不同的业务对内存需要强度不一样,一推荐内存要占到数据的15-25%的比例,特别的热的数据,内存基本要达到数据库的80%大小。

2. 需要更多更快的CPU

MySQL 5.6可以利用到64个核,而MySQL每个query只能运行在一个CPU上,所以要求更多的CPU,更快的CPU会更有利于并发。

3. 要选择合适的操作系统

在官方建议估计最推荐的是Solaris, 从实际生产中看CentOS, REHL都是不错的选择,推荐使用CentOS, REHL 版本为6以后的,当然Oracle Linux也是一个不错的选择。虽然从MySQL 5.5后对Windows做了优化,但也不推荐在高并发环境中使用windows.

阅读全文...

MySQL主从切换实例

S1)切换成主数据库服务器,同时修改另一个从数据库(S2)的配置,使其指向新的主数据库(S1)。此外还需要通知应用修改主数据库的IP地址,如果可能,将出现故障的主数据库(M)修复或者重置成新的从数据库。通常我们还有其他的方案来实现高可用,比如MHA,MySQL Cluster,MMM。现在我们先看简单的一主多从切换的情况。^_^

MySQL主从切换思路

阅读全文...

mysql连接数超过限制的分析及解决

网站出现 User 数据库名称 has already more than 'max_user_connections' active connections 的报错,网站瘫痪。

 

max_user_connections 是 MySQL 用户连接数的最大值设置,整段语句的意思是:服务器的 MySQL 的最大连接数参数设置不足。解决方法:修改 MySQL 安装目录下 my.ini 或者 my.cnf 文件内的 max_user_connections 参数的数值,重启 MySQL 服务器。


阅读全文...