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 的專欄”