1.1 MySQL 数据库
	 
	 
	n MySQL Performance Blog(www.mysqlperformanceblog.com)
	 
	n MySQL PUB (www.mysqlpub.com)
	 
	n 《MySQL性能调优与架构设计》
	 
	n 《深入浅出MySQL》
	 
	1. MySql 安装
	 
	 
	1、解压
	 
	 tar -xvfz mysql-5.0.21.tar.gz
	 
	2、环境配置及安装
	 
	 cd mysql-5.0.21
	 
	 ./configure --prefix=/usr/local/mysql --sysconfdir=/etc /
	 
	--localstatedir=/mnt/ext/mysql/ /
	 
	 --enable-assembler --with-charset=utf8 /
	 
	 --with-extra-charsets=all --with-berkeley-db --with-innodb /
	 
	 --without-readline --enable-assembler --with-pthread /
	 
	 --enable-largefile --with-big-tables --enable-thread-safe-client /
	 
	 --with-client-ldflags=-all-static /
	 
	 --with-max-indexes= --with-mysqld-ldflags=-all-static
	 
	 --without-ndbcluster --without-debug /
	 
	 --with-unix-socket-path=/tmp/mysql.sock
	 
	 
	 
	 /*说明: 
	 
	 #prefix=/usr/local/mysql mysql安装的目标目录
	 
	 #sysconfdir=/etc my.ini配置文件的路径
	 
	 #localstatedir=/var/lib/mysql 数据库存放的路径*/
	 
	 make
	 
	 make install
	 
	3、mysql用户权限配置
	 
	 添加mysql用户及用户组
	 
	 # groupadd mysql
	 
	 # useradd -g mysql mysql
	 
	 修改mysql目录权限
	 
	 # chown -R root /usr/local/mysql
	 
	 # chgrp -R mysql /usr/local/mysql
	 
	 # chown -R mysql /mnt/ext/mysql
	 
	 # cp support-files/my-medium.cnf /etc/my.cnf
	 
	 # cp support-files/mysql.server /etc/init.d/mysql
	 
	4、环境变量设置
	 
	 vi /etc/profile 及 vi /root/.bash_profile
	 
	 #--basedir是设置mysql所在的目录,--datadir是设置data所在目录
	 
	 export PATH=/usr/local/MySQL/bin:$PATH PATH=/usr/local/MySQL/libexec:$PATH 
	 
	 --其它可选
	 
	 basedir="/usr/local"
	 
	 bindir="/usr/local/bin"
	 
	 mysqld="/usr/local/libexec/mysqld"
	 
	 pkgdatadir="/usr/local/share/mysql"
	 
	 /*说明:其中/usr/local/mydql/bin是MySQL主要的可执行程序的目录,
	 
	 而libexec是放MySQL的后台主程序MySQLd的 (2).bashrc的配置:*/
	 
	5、加载MySql
	 
	 --#初始化数据库,如果是升级的话就不做此步
	 
	scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql /
	 
	--datadir=/mnt/ext/mysql
	 
	 /usr/local/mysql/bin/mysqld_safe --user=mysql &
	 
	 /*说明:如果启动不了的话那就是权限的问题,
	 
	 修改/var/lib/mysql的权限 chown -R mysql:mysql /var/lib/mysql
	 
	 或者可以用root启动mysql:/usr/local/mysql/bin/mysqld_safe --user=root &
	 
	 如果再不能启动,那就是my.cnf配置的问题 */
	 
	6、MySql开启
	 
	 修改执行权限:chmod 775 /etc/init.d/mysql
	 
	 --查看mysql状态:/etc/rc.d/init.d/mysql status
	 
	 启动:/etc/rc.d/init.d/mysql start 或 service mysql start
	 
	 开机自动启动MYSQL服务器:chkconfig mysql on
	 
	 # /sbin/chkconfig --del mysql
	 
	# /sbin/chkconfig --add mysql
	 
	 或
	 
	 vi /etc/rc.d/rc.local 中加入:/usr/local/mysql/support-files/mysql.server start
	 
	 重设秘密:/usr/local/bin/mysqladmin -u root password '修改的秘密'
	 
	7、备份数据库
	 
	 --mysqldump这个命令用于备份mysql:mysqldump -uroot -p 数据库名 > 备份路径
	 
	 如:/usr/local/bin/mysqldump –u root -p mysql > /root/mysql.sql
	 
	8、导入数据库
	 
	 mysql -u root -p 数据库名 < 数据库文件
	 
	--远程主机连接,ip:xx.xx.xx.xx:YYYY,导出数据
	 
	mysqldump -uUser -pPwd -h xx.xx.xx.xx -PYYYY Pwd > test.dump
	 
	修复、检查和优化.ism后缀的数据库文件:isamchk
	 
	用来修复.myi后缀的数据库文件:
	 
	 /usr/local/bin/myisamchk /var/lib/mysql/mysql/*.MYI --检查msyql数据库中所有的.MYI文件
	 
	9、数据修复参考
	 
	 如果有问题用-r参数来修复
	 
	 /usr/local/bin/myisamchk -r /var/lib/mysql/mysql/*.MYI
	 
	 显示用户选择的数据库和表:mysqlshow
	 
	 /usr/local/bin/mysqlshow -u root -p 数据库名
	 
	10、mysql常用命令
	 
	 shell>show variable; #查看参数配置命令
	 
	shell>show status; #查看状态
	 
	shell>show processlist; #查看进程
	 
	shell>show databases; #查看有哪些数据库
	 
	shell>use database_name; #指定数据库
	 
	shell>show tables; #查看数据库中有哪些表
	 
	shell>desc table_name #查看表结构
	 
	shell>show create table table_name /G; #查看表的详细创建信息
	 
	Shell>show triggers /G
	 
	shell>create database [if not exists] database_name; #创建数据库
	 
	shell>drop database [if exists] database_name; #删除数据库
	 
	how procedure status; //存储过程
	 
	show function status; //函数
	 
	查看存储过程或函数的创建代码
	 
	show create procedure proc_name;
	 
	show create function func_name;
	 
	查看视图
	 
	SELECT * from information_schema.VIEWS //视图
	 
	SELECT * from information_schema.TABLES //表
	 
	shell> mysql --help;#查看帮助
	 
	11、其它操作
	 
	 mysql> update user set password=PASSWORD("123456") where User='root'; #--更新密码
	 
	 mysql>flush privileges; #--重新刷新权限
	 
	如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码
	 
	 GRANT ALL PRIVILEGES ON *.* TO 'hostname'@'ip' IDENTIFIED BY 'psswd' WITH GRANT OPTION;
	 
	 GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON mysql.* TO '*'@'*' IDENTIFIED BY 'passwd';
	作者“Clement Ge 的专栏”