Mysql安裝及日常使用一

1.1     MySQL 數據庫
 
 
n    MySQL  Performance Blog(mysqlperformanceblog.com”>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 的專欄”
 

發佈留言