5001 mysql的數(shù)據(jù)庫(kù)存放在什么地方(陳緒)
1. 如果使用rpm包安裝,應(yīng)該在/var/lib/mysql目錄下,以數(shù)據(jù)庫(kù)名為目錄名
2. 如果源碼安裝在/usr/local/mysql中,應(yīng)該在/usr/local/mysql/var中,以數(shù)據(jù)庫(kù)名為目錄名
5002 從mysql中導(dǎo)出和導(dǎo)入數(shù)據(jù)(陳緒)
導(dǎo)出數(shù)據(jù)庫(kù)
mysqldump 數(shù)據(jù)庫(kù)名 > 文件名
導(dǎo)入數(shù)據(jù)庫(kù)
mysqladmin create 數(shù)據(jù)庫(kù)名
mysql 數(shù)據(jù)庫(kù)名 < 文件名
5003 忘了mysql的root口令怎么辦(陳緒)
# service mysql stop
# mysqld_safe --skip-grant-tables &
# mysqladmin -u user password 'newpassword''
# mysqladmin flush-privileges
5004 快速安裝php/mysql(陳緒)
確保使用系統(tǒng)自帶的apache,從安裝光盤(pán)中找出所有以mysql及php-mysql開(kāi)頭的rpm包,然后運(yùn)行#rpm -ivh mysql*.rpm php-mysql*.rpm; mysql_install_db; service mysql start
5005 修改mysql的root口令(陳緒,yejr)
大致有2種方法:
1、mysql>mysql -uroot -pxxx mysql
mysql>update user set password=password('new_password') where user='user';
mysql>flush privileges;
2、格式:mysqladmin -u用戶名 -p舊密碼 password 新密碼
#mysqladmin -uroot -password ab12
注:因?yàn)殚_(kāi)始時(shí)root沒(méi)有密碼,所以-p舊密碼一項(xiàng)就可以省略了
5006 如何使用rpm方式安裝mysql(yejr)
首先下載合適的rpm包,例如下載了文件 MySQL-5.0.19-0.i386.rpm
用一下方法安裝:
#rpm -ivhU MySQL-5.0.19-0.i386.rpm
通常情況下,安裝完這個(gè)rpm包后,只具備有mysqld服務(wù)功能,其它相關(guān)的client程序和開(kāi)發(fā)包還需要另外安裝
#rpm -ivhU MySQL-devel-5.0.19-0.i386.rpm
#rpm -ivhU MySQL-client-5.0.19-0.i386.rpm
5007 如何安裝已經(jīng)編譯好了的mysql二進(jìn)制包(yejr)
首先下載合適的二進(jìn)制包,例如下載了文件 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 &
有什么個(gè)性化的配置,可以通過(guò)創(chuàng)建 /etc/my.cnf 或者 /usr/local/mysql/data/my.cnf,增加相關(guān)的參數(shù)來(lái)實(shí)現(xiàn)
5008 如何自己編譯mysql(yejr)
以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 &
有什么個(gè)性化的配置,可以通過(guò)創(chuàng)建 /etc/my.cnf 或者 /usr/local/mysql/data/my.cnf,增加相關(guān)的參數(shù)來(lái)實(shí)現(xiàn)
5009 如何登錄mysql(yejr)
使用mysql提供的客戶端工具登錄
#PATH_TO_MYSQL/bin/mysql -uuser -ppassword dateabase
5010 mysqld起來(lái)了,卻無(wú)法登錄,提示"/var/lib/mysql/mysql.sock"不存在(yejr)
這種情況大多數(shù)是因?yàn)槟愕膍ysql是使用rpm方式安裝的,它會(huì)自動(dòng)尋找 /var/lib/mysql/mysql.sock 這個(gè)文件,
通過(guò)unix socket登錄mysql。
常見(jiàn)解決辦法如下:
1、創(chuàng)建/修改文件 /etc/my.cnf,至少增加/修改一行
[mysql]
[client]
socket = /tmp/mysql.sock
#在這里寫(xiě)上你的mysql.sock的正確位置,通常不是在 /tmp/ 下就是在 /var/lib/mysql/ 下
2、指定IP地址,使用tcp方式連接mysql,而不使用本地sock方式
#mysql -h127.0.0.1 -uuser -ppassword
3、為 mysql.sock 加個(gè)連接,比如說(shuō)實(shí)際的mysql.sock在 /tmp/ 下,則
# ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock即可
5011 如何新增一個(gè)mysql用戶(yejr)
格式:grant select on 數(shù)據(jù)庫(kù).* to 用戶名@登錄主機(jī) identified by "密碼"
例1、增加一個(gè)用戶test1密碼為abc,讓他可以在任何主機(jī)上登錄,并對(duì)所有數(shù)據(jù)庫(kù)有查詢、插入、修改、刪除的權(quán)限。首先用以root用戶連入MYSQL,然后鍵入以下命令:
mysql>grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";
但例1增加的用戶是十分危險(xiǎn)的,你想如某個(gè)人知道test1的密碼,那么他就可以在internet上的任何一臺(tái)電腦上登錄你的mysql數(shù)據(jù)庫(kù)并對(duì)你的數(shù)據(jù)可以為所欲為了,解決辦法見(jiàn)例2。
例2、增加一個(gè)用戶test2密碼為abc,讓他只可以在localhost上登錄,并可以對(duì)數(shù)據(jù)庫(kù)mydb進(jìn)行查詢、插入、修改、刪除的操作(localhost指本地主機(jī),即MYSQL數(shù)據(jù)庫(kù)所在的那臺(tái)主機(jī)),這樣用戶即使用知道test2的密碼,他也無(wú)法從internet上直接訪問(wèn)數(shù)據(jù)庫(kù),只能通過(guò)MYSQL主機(jī)上的web頁(yè)來(lái)訪問(wèn)了。
mysql>grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc";
如果你不想test2有密碼,可以再打一個(gè)命令將密碼消掉。
mysql>grant select,insert,update,delete on mydb.* to test2@localhost identified by "";
另外,也可以通過(guò)直接往user表中插入新紀(jì)錄的方式來(lái)實(shí)現(xiàn)
5012 如何查看mysql有什么數(shù)據(jù)庫(kù)(yejr)
mysql>show databases;
5013 如何查看數(shù)據(jù)庫(kù)下有什么表(yejr)
mysql>show tables;
5014 導(dǎo)出數(shù)據(jù)的幾種常用方法(yejr)
1、使用mysqldump
#mysqldump -uuser -ppassword -B database --tables table1 --tables table2 > dump_data_20051206.sql
詳細(xì)的參數(shù)
2、backup to語(yǔ)法
mysql>BACKUP TABLE tbl_name[,tbl_name...] TO '/path/to/backup/directory';
詳細(xì)請(qǐng)查看mysql手冊(cè)
3、mysqlhotcopy
#mysqlhotcopy db_name [/path/to/new_directory]
或
#mysqlhotcopy db_name_1 ... db_name_n /path/to/new_directory
或
#mysqlhotcopy db_name./regex/
詳細(xì)請(qǐng)查看mysql手冊(cè)
4、select into outfile
詳細(xì)請(qǐng)查看mysql手冊(cè)
5、客戶端命令行
#mysql -uuser -ppassword -e "sql statements" database > result.txt
以上各種方法中,以mysqldump最常用
5015 如何在命令行上執(zhí)行sql語(yǔ)句(yejr)
#mysql -uuser -ppassword -e "sql statements" database
5016 導(dǎo)入備份出來(lái)文件的常見(jiàn)方法(yejr)
1、由mysqldump出來(lái)的文件
#mysql -uuser -ppassword [database] < dump.sql
2、文件類(lèi)型同上,使用source語(yǔ)法
mysql>source /path_to_file/dump.sql;
3、按照一定格式存儲(chǔ)的文本文件或csv等文件
#mysqlimport [options] database file1 [file2....]
詳細(xì)請(qǐng)查看mysql手冊(cè)
4、文件類(lèi)型同上,也可以使用load data語(yǔ)法導(dǎo)入
詳細(xì)請(qǐng)查看mysql手冊(cè)
5017 讓mysql以大內(nèi)存方式啟動(dòng)(陳緒)
將/usr/share/mysql下的某個(gè)mysql-*.cnf(如1G內(nèi)存時(shí)為mysql-huge.cnf)拷貝為/etc/mysql.cnf文件,并重啟mysql>>
posted on 2007-06-07 20:31
聶文龍 閱讀(2857)
評(píng)論(0) 編輯 收藏 引用 所屬分類(lèi):
Database