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=64 --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 的专栏”