以下的文章主要介紹的是linux MySQL的具體使用以及對在linux MySQL實際操作中一些值得我們注意的相關事項的描述,以下就是linux MySQL的具體使用具體方案的描述,希望在你今後的學習中會有所幫助。
MySQL的數據庫存放在什麼地方(陳緒)
1. 如果使用rpm包安裝,應該在/var/lib/MySQL目錄下,以數據庫名為目錄名
2. 如果源碼安裝在/usr/local/MySQL中,應該在/usr/local/MySQL/var中,以數據庫名為目錄名
5002 從linux MySQL中導出和導入數據(陳緒)
導出數據庫
MySQLdump 數據庫名 > 文件名
導入數據庫
MySQLadmin create 數據庫名
MySQL 數據庫名 < 文件名
5003 忘了MySQL的root口令怎麼辦(陳緒)
- # service MySQL stop
- # MySQLd_safe --skip-grant-tables &
- # MySQLadmin -u user password 'newpassword''
- # MySQLadmin flush-privileges
5004 快速安裝php/MySQL(陳緒)
確保使用系統自帶的apache,從安裝光盤中找出所有以MySQL及php-MySQL開頭的rpm包,然後運行#rpm -ivh MySQL*.rpm php-MySQL*.rpm; MySQL_install_db; service MySQL start
5005 修改linux MySQL的root口令(陳緒,yejr)
大致有2種方法:
1、MySQL>MySQL -uroot -pxxx MySQL
- MySQL>update user set passwordpassword=password('new_password') where user='user';
- MySQL>flush privileges;
2、格式:MySQLadmin -u用戶名 -p舊密碼 password 新密碼
#MySQLadmin -uroot -password ab12
注:因為開始時root沒有密碼,所以-p舊密碼一項就可以省略了
5006 如何使用rpm方式安裝MySQL(yejr)
首先下載合適的rpm包,例如下載了文件 MySQL-5.0.19-0.i386.rpm
用一下方法安裝:
#rpm -ivhU MySQL-5.0.19-0.i386.rpm
通常情況下,安裝完這個rpm包後,只具備有MySQLd服務功能,其它相關的client程序和開發包還需要另外安裝
- #rpm -ivhU MySQL-devel-5.0.19-0.i386.rpm
- #rpm -ivhU MySQL-client-5.0.19-0.i386.rpm
5007 如何安裝已經編譯好了的MySQL二進制包(yejr)
首先下載合適的二進制包,例如下載了文件 MySQL-standard-4.1.13-pc-linux-gnu-i686.tar.gz
- #groupadd MySQL
- #useradd -g MySQL MySQL
- #cd /usr/local
- #tar zxf MySQL-standard-4.1.13-pc-linux-gnu-i686.tar.gz
- #ln -s MySQL-standard-4.1.13-pc-linux-gnu-i686 MySQL
- #cd MySQL
- #scripts/MySQL_install_db --user=MySQL
- #chgrp -R MySQL *
- #bin/MySQLd_safe --user=MySQL &
有什麼個性化的配置,可以通過創建 /etc/my.cnf 或者 /usr/local/MySQL/data/my.cnf,增加相關的參數來實現
5008 如何自己編譯MySQL(yejr)
以redhat linux 9.0為例:
下載文件 linux 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,增加相關的參數來實現
5009 如何登錄MySQL(yejr)
使用MySQL提供的客戶端工具登錄
#PATH_TO_MySQL/bin/MySQL -uuser -ppassword dateabase
5010 MySQLd起來了,卻無法登錄,提示"/var/lib/MySQL/MySQL.sock"不存在(yejr)
這種情況大多數是因為你的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方式
#linux MySQL -h127.0.0.1 -uuser -ppassword
3、為 MySQL.sock 加個連接,比如說實際的MySQL.sock在 /tmp/ 下,則
# ln -s /tmp/MySQL.sock /var/lib/MySQL/MySQL.sock即可
5011 如何新增一個MySQL用戶(yejr)
格式:grant select on 數據庫.* to 用戶名@登錄主機 identified by "密碼"
例1、增加一個用戶test1密碼為abc,讓他可以在任何主機上登錄,並對所有數據庫有查詢、插入、修改、刪除的權限。首先用以root用戶連入MySQL,然後鍵入以下命令:
MySQL>grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";
但例1增加的用戶是十分危險的,你想如某個人知道test1的密碼,那麼他就可以在internet上的任何一台電腦上登錄你的MySQL數據庫並對你的數據可以為所欲為了,解決辦法見例2。
例2、增加一個用戶test2密碼為abc,讓他只可以在localhost上登錄,並可以對數據庫mydb進行查詢、插入、修改、刪除的操作localhost指本地主機,即MySQL數據庫所在的那台主機),這樣用戶即使用知道test2的密碼,他也無法從internet上直接訪問數據庫,只能通過linux MySQL主機上的web頁來訪問了。