lamp 相关配置 [Debian]

编译环境
Debian (Ubuntu)
apt-get install build-essential
apt-get install libncurses5-dev
sudo apt-get install libxml2-dev libcurl3-dev libpng-dev libmhash-dev libmcrypt-dev libxslt-dev libpspell-dev
Mysql编译安装参数
CHOST="i686-pc-linux-gnu" CFLAGS="-O3 -msse2 -mmmx -mfpmath=sse -mcpu=pentium4 -march=pentium4 -pipe -fomit-frame-pointer" CXXFLAGS="-O3 -msse2 -mmmx -mfpmath=sse -funroll-loops -mcpu=pentium4 -march=pentium4 -pipe -fomit-frame-pointer" ./configure --prefix=/usr/local/mysql --localstatedir=/var/lib/mysql --with-comment=Source --with-server-suffix=-Community-Server --with-mysqld-user=mysql --without-debug --with-big-tables --with-charset=utf8 --with-collation=utf8_general_ci --with-extra-charsets=all --with-pthread --enable-static --enable-thread-safe-client --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --enable-assembler --without-ndb-debug --without-isam --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock
配置成功会提示:
MySQL has a Web [...]


MySQL导出导入命令的用例

1.导出整个数据库
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u dbuser -p dbname > dbname.sql
2.导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u dbuser -p dbname users> dbname_users.sql
3.导出一个数据库结构
mysqldump -u dbuser -p -d --add-drop-table dbname >d:\dbname_db.sql
-d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table
4.导入数据库
常用source 命令
进入mysql数据库控制台,如
mysql -u root -p
mysql>use 数据库
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source d:\dbname.sql

Tags: mysql, 备份


PHP 和 Mysql 学习笔记(四)

1. 如何禁用 select 下拉列表中的某一项
<select><option  selected>——请选择——</option> <optgroup  label="分类一"> <option>——子类一</option> <option>——子类二</option> </optgroup> <optgroup  label="分类二"> <option>——子类一</option> <option>——子类二</option> </optgroup> </select>
2. EMS SQL Manager中文显示乱码
打开EMS SQL Manager点击那个数据库出现了许多属性
选择database registration info中有一个client charset
选择gb2312简体中文
3. Mysql 乱码
MySQL数据库字符集为utf8
并且网页通过UTF-8编码发送
这时存入数据库的仍然是乱码
需要做以下设置:
@mysql_connect($dbhost,$dbuser,$dbpassword);
加上下面这行
$this->query("SET NAMES 'utf8'");
在每次发送sql查询前设定字符集为utf-8
4. 正则表达式
Email匹配
if(!preg_match("/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/",$email))
{
echo "邮件格式不正确";
}
5. PHP5中时间相差八小时的解决办法
<?phpdate_default_timezone_set('Asia/Shanghai');echo date('Y-m-d H:i:s');?>
6. PHP防止SQL注入攻击的简单方法
1.修改PHP的配置文件 php.ini ,将display_errors的值设为Off,这样保证PHP脚本在出错之后不会在页面中显示错误信息。
2.在Mysql函数前加错误抑制符 @ ,避免输出mysql错误。
3.对所有用户输入的数据进行转义并进行类型检查。
7. 返回GD函数版本号
function gd_version() {if (function_exists('gd_info')) {$GDArray [...]


PHP 和 Mysql 学习笔记(三)

1. mysql 定界符(反引号`)
当标示符是一个受限的词或包含特殊的字符时使用
select * from `select` where `select`.id >100;
create table orders(`my orders` varchar(100)...);
2. 数据库的大小写
linux下的数据库和表名的大小写是敏感的
其他的数据库对象不区分大小写
3. mysql 分组语句和嵌套子查询
员工表 emp( empno, name, tel, deptno, sal )
部门表 dept( deptno, dname, addr )
显示每个部门收入最高的职工信息
select * from emp
where sal in (
select max(sal)
from emp
group by deptno
);
4. mysql 查询排序 ( SQL Order By )
SELECT "栏位名"
FROM "表格名"
[WHERE "条件"]
ORDER BY "栏位名" [ASC, DESC]
ASC 代表结果会以由小往大的顺序列出,而 DESC 代表结果会以由大往小的顺序列出,默认值为 [...]


PHP 和 Mysql 学习笔记(二)

1. 值参和变参
值参:
<?php function swap($a, $b) { $temp = $a; $a = $b; $b = $temp; } $x = 100; $y = 1; swap($x, $y); echo "x = $x<br />y = $y";?>
输出结果为:
x = 100y = 1
这里 $x, $y 只是一个值的拷贝
变参:
<?php function swap(&$a, &$b) { $temp = $a; $a = $b; $b = $temp; } $x = 100; $y = 1; swap($x, $y); echo "x = $x<br />y = $y";?>
输出结果为:
x = 1y = 100
2. 连接 mysql
格式: [...]


再谈Wordpress的MySQL乱码问题解决方法

在MySQL4.1下,中文的WP就会产生种种的乱码问题。
一个程序( PHP,CGI 等)与MySQL建立连接后,这个程序发送给MySQL的数据采用的是什么字符集,MySQL 是无从得知的。所以解决乱码问题的根本就是我们在程序中告诉MySQL采用的编码是什么,简单的就是在程序中加入这样的一个语句:
SET NAMES 'utf8';
这个语句的效果等同于同时设定了
SET character_set_client='utf8';
SET character_set_connection='utf8';
SET character_set_results='utf8';
为什么这么做?
我们安装MySQL4.1时按照默认配置,那么default-character-set= utf8。在MySQL Command Line Client下查看到的查看系统的字符集和排序方式的设定为:

Tags: mysql, wordpress, 乱码