文档标签: mysql
shell编程很强大!
网站访问量大的时候mysql的压力就比较大,当mysql的CPU利用率超过300%的时候就不能提供服务了,近乎卡死状态,这时候最好的方法就是重启mysql服务。由于这种事具有不可预见性,我们不知道什么时候mysql的占用率达到300%,还是写个程序定期判断比较靠谱。
学了shell编程,写了下面的脚本:
#!/bin/bash
cpu=`ps aux | grep 'mysqld$' | cut -d " " -f6 | cut -d. -f1`
if [ $cpu -gt 300 ]
then
service mysql restart && date >> /tmp/mysql.log
fi
稍微解释一下。首先执行"ps aux"命令获取所有系统进程的状态信息,包括CPU,内存等,如下图:
然后通过管道将信息传送给grep,$就是正则表达式结尾的意思,从所有的进程中找到以“mysqld”结尾的进程,其实就是mysql...
今天做账号删除功能的时候,需要将在整个系统中的数据都删除.
mysql_list_tables
(PHP 3, PHP 4 )
mysql_list_tables -- 列出 MySQL 数据库中的表
说明
resource mysql_list_tables ( string database [, resource link_identifier])
mysql_list_tables() 接受一个数据库名并返回和 mysql_query() 函数很相似的一个结果指针。用 mysql_tablename() 函数来遍历此结果指针,或者任何使用结果表的函数,例如 mysql_fetch_array()。
database 参数是需要被取得其中的的表名的数据库名。如果失败 mysql_list_tables() 返回 FALSE。
为向下兼容仍然可以使用本函数的别名 mysql_listtables(),但反对这样做。
注: 该函数已经被删除了,请不要再使用该函数。您可以用命令 SHOW TABLES FROM DATABA...
这两天在测试项目,需要很多数据,于是就想到了mysql同表复制.
看代码:
[php]
INSERT INTO `table` ('id','aa','bb','cc') SELECT 'id','aa','bb','cc' FROM `table` (WHERE .....)
/**
* 复制新纪录的时候,可能要更新id或者是部分数据(假设id自增加的情况)
*
* text_aa 为固定值 ,可在脚本调用中赋变量值 如($aa)
* 注意'text_aa' 与 `cc` 的区别 ,一个是数据,一个是字段
**/
INSERT INTO `table` (`id`,`aa`,`bb`,`cc` ) SELECT '','aa内容','bb注意cc符号区别',`cc` FROM `table` (WHERE .....)
/**
* CONCAT(`bb`,'附加信息 -Copy')
* 在提取原有数据的基础上,增加附加信息 (windwos 下见过复件 xxxx.xxx 的都明白)
**/
INSERT...
今天在做一个网站的时候,需要将以前的一个网址和标题全部替换成现在的网址http://xiguazz.com.
以前只用个替换单个字段里面的字符
update tbl_info set url replace (url, 'http://adoophper.com/', 'http://xiguazz.com');
mysql在型是update table_name set field replace (str, 'from_str', 'to_str');
这个无法满足当时的需要,
在这里我们提供mysql替换所有字符的解决办法:
将数据库导出,打开用编辑器全部替换这是最简单的方法了,哈哈。。。。。。...
例如表结构如下:
[php]
`id` mediumint(9) NOT NULL AUTO_INCREMENT,
`a` char(2) NOT NULL DEFAULT '12',
`b` datetime NOT NULL DEFAULT '2012-01-01 00:00:00',
[/php]
返回该表中,字段a 和字段 b的默认值,12 和 2012-01-01 00:00:00
查询指定表中指定字段的最好的方式就是使用 DEFAULT()函数。
大家都是将整个表的字段信息全部拿出来了。。
比如查询 字段 a 的默认值:
[php]
select default(a) as df from tab limit 1
[/php]
大家可以试试这条语句
[php]SHOW COLUMNS FROM 表名[/php]
这样就可以了呀
它会返回以下字段信息
[php]
Field Type Null Key Default Extra
ver char(50) ...
apache+php+mysql网站优化,今天主要说的是mysql方面的优化。
我们经常要优化一下 MySQL 数据库,菜鸟就进 phpMyAdmin 一个个点优化
开发PHP的,一般就在网站的程序里通过 php 实现了,但这 2 种方法都不够好
下面告诉你一个绝招,用 mysqlcheck 一条命令搞定,高效又安全
请试下在 putty 或crt里执行下面的命令:
mysqlcheck -Aao --auto-repair -u你的用户名 -p你的密码
如果不出意外,你将发现,你所有的数据库都被优化和修复了一次!
如果提示 mysqlcheck 找不到呢, 如果不是,请跳过这步。
找不到 mysqlcheck 的原因一般是手动编译安装的,像我一样,就 locate mysqlcheck 一下,发现在 /usr/local/mysql/bin/ 下面,就是我安装MySQL时指定的路径
,OK,给他加个快捷方式
ln -s /usr/local/mysql/bin/mysqlcheck /usr/bin/mysq...
今天在采集图片的时候遇到一个MYSQL问题:采集来的图片地址多了一个‘/',于是打开MYSQL管理工具,对其进行修改
CREATE TABLE test
(
ID INT IDENTITY(1,1),
NAME VARCHAR(20)
)
INSERT INTO test(NAME) VALUES ('杨天天')
INSERT INTO test(NAME) VALUES ('杨天')
INSERT INTO test(NAME) VALUES ('天天杨')
INSERT INTO test(NAME) VALUES ('天杨')
--SELECT * FROM test
UPDATE test SET NAME=REPLACE(NAME,'天','地')
以上既把,name中所有的“天”字改为“地”......
今天 在做mysql导入数据的时候出一乱码
最后查了一个,解决 ,现在把mysql source解决方法写在这里,
1,数据库备份命令(注意:要在cmd界面下先进入mysqldump的目录下才能使用mysqldump)
mysqldump -uroot -p --default-character-set=gbk dbname > /root/newsdata.sql
(例子:
mysqldump -uroot -proot --default-character-set=gbk zjsb > d:/newsdata.sql
)
2,导入数据库
mysql -uroot -p --default-character-set=gbk
use dbname
source /root/newsdata.sql
(例子:
source d:/newsdata.sql
)
这里多写点与此相关的数据操作
mysql> create database mydb2 charac...
最尽导数据到服务器上,那个速度啊,不说了,是同步过去的,一个全国的中小学校表花 了大半天的时间!
于是有了今天这篇文章;
1:使用SHOW语句找出在服务器上当前存在什么数据库:
mysql> SHOW DATABASES;
2:2、创建一个数据库MYSQLDATA
mysql> CREATE DATABASE MYSQLDATA;
3:选择你所创建的数据库
mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功!)
4:查看现在的数据库中存在什么表
mysql> SHOW TABLES;
5:创建一个数据库表
mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));
6:显示表的结构:
mysql> DESCRIBE MYTABLE;
7:往表中加入记录
mysql> insert into MYTABLE values (”hyq”,”M”);
8:...
mysql默认ID是从1开始递增的,现在根据项目要求从6位数开始增加,
我不经自已 如何修改MYSQL的ID递增的开始值?
修改账号表如下 :
ALTER TABLE account AUTO_INCREMENT = 100000;...
还是因为vps的原因换了一个linux-vps
下面是我在linux系统下的myslq配置
安装完mysql后就是链接使用它了
mysqladmin -u root -p oldpass newpass
因为新安装的myslq密码都是空的
所以上面就直接设置了新密码
然后进入mysql
mysql -u root -p
Enter password: 这里是你刚刚设置的密码
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 5.1.61 Source distribution
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporat...
这两天一直在弄网站的事,先是上一个月的vps挂了网上数据掉半个月的,接着重新买VPS,转移站点到二级域名blog.adophper.com上来.
于是乎在新的vps开始配置php环境:如果不知道如何如何配置php+apache+mysql环境请查看前面有一篇文章专门有配置步骤的;
首先我们先说linux:
编辑:vi /etc/httpd/conf/httpd.conf
在最后的几行可以看到有:
NameVirtualHost *:80
#
# NOTE: NameVirtualHost cannot be used without a port specifier
# (e.g. :80) if mod_ssl is being used, due to the nature of the
# SSL protocol.
#
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost con...
MyISAM有的说不支持,有的说支持
这个用事务和不用事务有什么区别吗?
理解事务
事务的作用主要是在服务器发生错误或崩溃的情况下确保数据库的一致性。事务是一个或一系列的查询,这些查询要么全部执行要么全部不执行。例如,银行转账需要两个过程来完成,首先需从某个账户扣除一定金额,之后在另个账户中增加相同的金额。如果这两个过程不同时执行,从第一个账户中扣除金额后还没来得及增加第二个账户的金额就发生停电或服务器崩溃,这将给用户和银行造成很大的损失。如果采用事务处理上述过程,即使出现上述事故也不会给用户造成损失。一个事务被永久的写入到数据库中称事务提交,将状态重置到事务开始之前的状态称为事务回滚。
事务的特性
事务具有以下4个特性。
原子性:指事务作为一个整体要么完全执行,要么完全不执行。
一致性:指一个事务必须能够使数据处于一致的状态。
孤立性:在事务完全完成之前,他们都是孤立的。
持续性:一旦写入数据库后,事务必须是永久的、持续的。
附 mysql 表类型说明
mysql的存储引擎包括:MyISAM、InnoD...
54 条记录 4/
5 页
上一页 下一页 12345