PhpWind教程:Linux下mysql常見問題_PhpWind教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!


      Linux下mysql常見問題


      1、如何使用rpm方式安裝mysql? 


      首先下載合適的rpm包,例如下載了文檔 MySQL-5.0.15-0.i386.rpm


      用以下方法安裝:


      #rpm -ivhU MySQL-5.0.15-0.i386.rpm


      通常情況下,安裝完這個rpm包后,只具備有mysqld服務功能,其他相關的client程式和研發包還需要另外安裝


      #rpm -ivhU MySQL-devel-5.0.15-0.i386.rpm


      #rpm -ivhU MySQL-client-5.0.15-0.i386.rpm 


      2、以redhat linux 9.0為例:
      下載文檔 mysql-4.1.13.tar.gz
      #tar zxf mysql-4.1.13.tar.gz
      #cd mysql-4.1.13
      #./configure --prefix=/usr/local/mysql --enable-assembler \
      --with-mysqld-ldflags=-all-static --localstatedir=/usr/local/mysql/data \
      --with-unix-socket-path=/tmp/mysql.sock --enable-assembler \
      --with-charset=complex --with-low-memory --with-mit-threads
      #make
      #make install
      #groupadd mysql
      #useradd -g mysql mysql
      #chgrp -R mysql /usr/local/mysql/
      #/usr/local/mysql/bin/mysqld_safe --user=mysql &
      有什么個性化的配置,能夠通過創建 /etc/my.cnf 或 /usr/local/mysql/data/my.cnf,增加相關的參數來實現。

      3、忘記MySQL的root密碼,怎么修改?
      假如 MySQL 正在運行,首先殺之: killall -TERM mysqld。
      啟動 MySQL :PATH_TO_MYSQL/bin/mysqld --skip-grant-tables &
      就能夠無需密碼就進入 MySQL 了。
      然后就是
      mysql>use mysql
      mysql>REPLACE INTO user set password=password("new_pass") where user="root";
      mysql>flush privileges;
      重新殺 MySQL ,用正常方法啟動 MySQL
      一定注意:很多新手沒有用password=password("..."),而是直接password="..."所以改掉密碼不好使。

      4、為什么mysqld起來了,卻無法登錄,提示"/var/lib/mysql/mysql.sock"不存在?
      這種情況大多數是因為您的mysql是使用rpm方式安裝的,他會自動尋找 /var/lib/mysql/mysql.sock 這個文檔,
      通過unix socket登錄mysql。
      常見解決辦法如下:
      1)創建/修改文檔 /etc/my.cnf,至少增加/修改一行
      [mysql]
      [client]
      socket = /tmp/mysql.sock
      #在這里寫上您的mysql.sock的正確位置,通常不是在 /tmp/ 下就是在 /var/lib/mysql/ 下
      2)指定IP地址,使用tcp方式連接mysql,而不使用本地sock方式
      #mysql -h127.0.0.1 -uuser -ppassword
      3)為 mysql.sock 加個連接,比如說實際的mysql.sock在 /tmp/ 下,則
      #ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock即可

      5、如何修改mysql用戶密碼?
      大致有2種方法:
      1)mysql>mysql -uroot -pxxx mysql
      mysql>REPLACE INTO user set password=password('new_password') where user='user';;
      mysql>flush privileges;
      2)格式:mysqladmin -u用戶名 -p舊密碼 password 新密碼
      #mysqladmin -uroot -password ab12
      注:因為開始時root沒有密碼,所以-p舊密碼一項就能夠省略了。

      6、如何新增一個mysql用戶?
      格式:grant select on 數據庫.* to 用戶名@登錄主機 identified by "密碼"
      例1、增加一個用戶test1密碼為abc,讓他能夠在任何主機上登錄,并對任何數據
      庫有查詢、插入、修改、刪除的權限。首先,用以root用戶連入MYSQL,然后鍵入以下命令:
      mysql>grant select,insert,REPLACE INTO,delete on *.* to test1@"% " Identified by "abc";
      但例1增加的用戶是十分危險的,您想如某個人知道test1的密碼,那么他就能夠在internet上的任何一臺電腦上登錄您的 mysql數據庫并對您的數據能夠為所欲為了,解決辦法見例2。
      例2、增加一個用戶test2密碼為abc,讓他只能夠在localhost上登錄,并能夠對數據庫mydb進行查詢、插入、修改、刪除的操作(localhost指本地主機,即MYSQL數據庫所在的那臺主機),這樣用戶即使用知道test2的密碼,他也無法從internet上直接訪問數據庫,只能通過MYSQL主機上的web頁來訪問了。
      mysql>grant select,insert,REPLACE INTO,delete on mydb.* to test2@localhost identified by "abc"; 假如您不想test2有密碼,能夠再打一個命令將密碼消掉。
      mysql>grant select,insert,REPLACE INTO,delete on mydb.* to test2@localhost identified by "";
      另外,也能夠通過直接往user表中插入新紀錄的方式來實現。

      7、 如何查看mysql有什么數據庫?
      mysql>show databases;
      如何查看數據庫下有什么表?
      mysql>show tables;

      8、如何導出數據?
      有幾種方法,如下:
      1)使用mysqldump
      #mysqldump -uuser -ppassword -B database --tables table1 --tables table2 > dump_data_20051206.sql
      周詳的參數
      2)backup to語法
      mysql>BACKUP TABLE tbl_name[,tbl_name...] TO '/path/to/backup/directory';
      周詳請查看mysql手冊
      3)mysqlhotcopy
      #mysqlhotcopy db_name [/path/to/new_directory]
      或 #mysqlhotcopy db_name_1 ... db_name_n /path/to/new_directory
      或 #mysqlhotcopy db_name./regex/
      周詳請查看mysql手冊
      4)select into outfile
      周詳請查看mysql手冊
      5)客戶端命令行
      #mysql -uuser -ppassword -e "sql statements" database > result.txt
      以上各種方法中,以mysqldump最常用

      9、如何在命令行上執行SQL語句?
      #mysql -uuser -ppassword -e "sql statements" database

      10、如何導入備份出來的文檔?
      常見幾種方法如下:
      1)由mysqldump出來的文檔
      #mysql -uuser -ppassword [database]
      2)文檔類型同上,使用source語法
      mysql>source /path_to_file/dump.sql;
      3)按照一定格式存儲的文本文檔或csv等文檔
      #mysqlimport [options] database file1 [file2....]
      周詳請查看mysql手冊
      4)文檔類型同上,也能夠使用load data語法導入
      周詳請查看mysql手冊

      查看更多 PhpWind教程  PhpWind模板風格

      來源:Phpwind//所屬分類:PhpWind教程/更新時間:2012-06-04
      相關PhpWind教程