1.1 MySQL 數據庫
n MySQL Performance Blog(www.mysqlperformanceblog.com) n MySQL PUB (www.mysqlpub.com) |
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'; |