mysql安裝完之后,登陸后發(fā)現(xiàn)只有兩個(gè)數(shù)據(jù)庫(kù):mysql>show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| test |
+--------------------+
,mysql> use mysql
ERROR 1044 (42000): Access denied for user''@'localhost' to database 'mysql'
訪問(wèn)被拒絕,原因就是在刪除數(shù)據(jù)庫(kù)時(shí)(rpm -e mysql*)沒有刪除干凈,需要把/var/lib/mysql的目錄全部刪除干凈,然后再重新安裝即可。
順便記一下一些常用的命令:
一、連接MYSQL。
格式: mysql -h主機(jī)地址 -u用戶名-p用戶密碼
1、連接到本機(jī)上的MYSQL。
# mysql -u root -p
回車后提示你輸密碼,注意用戶名前可以有空格也可以沒有空格,但是密碼前必須沒有空格,否則讓你重新輸入密碼。
如果剛安裝好MYSQL,超級(jí)用戶root是沒有密碼的,故直接回車即可進(jìn)入到MYSQL中了,MYSQL的提示符是: mysql>
2、連接到遠(yuǎn)程主機(jī)上的MYSQL。假設(shè)遠(yuǎn)程主機(jī)的IP為:192.168.2.2,用戶名為root,密碼為123456。則鍵入以下命令:
# mysql -h192.168.2.2 -uroot -p123456
3、退出MYSQL命令:
# exit (回車)
二、修改密碼。
格式:mysqladmin -u用戶名 -p舊密碼 password 新密碼
1、給root加個(gè)密碼123456。鍵入以下命令:
# mysqladmin -u root -password 123456
2、再將root的密碼改為56789。
# mysqladmin -u root -p123456 password56789
三、增加新用戶。
格式: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,deleteon *.* to test1@”%” Identified by “abc”;
mysql>flush privileges; 使之生效
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,deleteon mydb.* to test2@localhost identified by “abc”;
mysql>flush privileges; 使之生效
如果你不想test2有密碼,可以再打一個(gè)命令將密碼消掉。
mysql>grant select,insert,update,deleteon mydb.* to test2@localhost identified by “”;
mysql>flush privileges; 使之生效
操作技巧
1、如果你打命令時(shí),回車后發(fā)現(xiàn)忘記加分號(hào),你無(wú)須重打一遍命令,只要打個(gè)分號(hào)回車就可以了。也就是說(shuō)你可以把一個(gè)完整的命令分成幾行來(lái)打,完后用分號(hào)作結(jié)束標(biāo)志就OK。
2、你可以使用光標(biāo)上下鍵調(diào)出以前的命令。
查詢、創(chuàng)建、刪除、更新命令
1、顯示當(dāng)前數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)庫(kù)列表:
mysql>show databases;
注意:mysql庫(kù)里面有MYSQL的系統(tǒng)信息,我們改密碼和新增用戶,實(shí)際上就是用這個(gè)庫(kù)進(jìn)行操作。
2、顯示數(shù)據(jù)庫(kù)中的數(shù)據(jù)表:
mysql>use 庫(kù)名;
mysql>show tables;
3、顯示數(shù)據(jù)表的結(jié)構(gòu):
mysql>describe 表名;
4、建立數(shù)據(jù)庫(kù):
mysql>create database 庫(kù)名;
5、建立數(shù)據(jù)表:
mysql>use 庫(kù)名;
mysql>create table 表名 (字段名varchar(20), 字段名 char(1));
6、刪除數(shù)據(jù)庫(kù):
mysql>drop database 庫(kù)名;
7、刪除數(shù)據(jù)表:
mysql>drop table 表名;
8、將表中記錄清空:
mysql>delete from 表名;
9、顯示表中的記錄:
mysql>select * from 表名;
10、往表中插入記錄:
mysql>insert into 表名 values (”123”,”b”);
11、更新表中數(shù)據(jù):
mysql>update 表名 set 字段名1='a',字段名2='b'where 字段名3='c';
12、用文本方式將數(shù)據(jù)裝入數(shù)據(jù)表中:
mysql>load data local infile “/root/mysql.txt” into table 表名;
13、導(dǎo)入.sql文件命令:
mysql>use 數(shù)據(jù)庫(kù)名;
mysql>source /root/mysql.sql;
14、命令行修改root密碼:
mysql>update mysql.user setpassword=PASSWORD('新密碼') where user='root';
mysql>flush privileges;
15、顯示use的數(shù)據(jù)庫(kù)名:
mysql>select database();
16、顯示當(dāng)前的user:
mysql>select user();
備份數(shù)據(jù)庫(kù)
1.導(dǎo)出整個(gè)數(shù)據(jù)庫(kù),導(dǎo)出文件默認(rèn)是存在當(dāng)前操作目錄下
# mysqldump -u 用戶名 -p 數(shù)據(jù)庫(kù)名 > 導(dǎo)出的文件名
# mysqldump -u user_name -p123456database_name > outfile_name.sql
2.導(dǎo)出一個(gè)表
# mysqldump -u 用戶名 -p 數(shù)據(jù)庫(kù)名 表名> 導(dǎo)出的文件名
# mysqldump -u user_name -p database_nametable_name > outfile_name.sql
3.導(dǎo)出一個(gè)數(shù)據(jù)庫(kù)結(jié)構(gòu)
# mysqldump -u user_name -p -d–add-drop-table database_name > outfile_name.sql
-d 沒有數(shù)據(jù) –add-drop-table 在每個(gè)create語(yǔ)句之前增加一個(gè)droptable
4.帶語(yǔ)言參數(shù)導(dǎo)出
# mysqldump -uroot -p –default-character-set=latin1–set-charset=gbk –skip-opt database_name > outfile_name.sql
查看不到mysql數(shù)據(jù)庫(kù)的解決辦法:
1.去/var/lib/mysql目錄下去查看,發(fā)現(xiàn)mysql以及mysql.sock目錄都在,還好還好,應(yīng)該還有希望恢復(fù);
2.停掉mysqld服務(wù)——“servicemysqld stop”
3.查看mysqld進(jìn)程是否還在跑——“ps-aux | grep mysqld”,如果還有在跑得進(jìn)程,可以直接殺之“killall -TERM mysqld”
4.安全模式啟動(dòng)mysql;“mysqld_safe--user=mysql --skip-grant-tables --skip-networking &”
5.另起終端,輸入“mysql -u root-p”,進(jìn)入mysql數(shù)據(jù)庫(kù)
6.show databases;看到mysql庫(kù)又出現(xiàn)了
7.更改root用戶密碼:usemysql;update user set password=PASSWORD(“new-passwd”)whereuser='root';
8.FLUSH PRIVILEGES;