mysql安裝完之後,登陸後發現只有兩個資料庫:mysql> show databases;
+--------------------+
| database |
+--------------------+
| information_schema |
| test |
+--------------------+
,mysql> use mysql
error 1044 (42000): access denied for user ''@'localhost' to database 'mysql'
訪問被拒絕,原因就是在刪除資料庫時(rpm -e mysql*)沒有刪除乾淨,需要把/var/lib/mysql的目錄全部刪除乾淨,然後再重新安裝即可。
1、連線到本機上的mysql。
# mysql -u root -p
回車後提示你輸密碼,注意使用者名稱前可以有空格也可以沒有空格,但是密碼前必須沒有空格,否則讓你重新輸入密碼。
如果剛安裝好mysql,超級使用者root是沒有密碼的,故直接回車即可進入到mysql中了,mysql的提示符是: mysql>
2、連線到遠端主機上的mysql。假設遠端主機的ip為:192.168.2.2,使用者名為root,密碼為123456。則鍵入以下命令:
# mysql -h192.168.2.2 -uroot -p123456
3、退出mysql命令:
# exit (回車)
二、修改密碼。
格式:mysqladmin -u使用者名稱 -p舊密碼 password 新密碼
1、給root加個密碼123456。鍵入以下命令:
# mysqladmin -u root -password 123456
2、再將root的密碼改為56789。
# mysqladmin -u root -p123456 password 56789
三、增加新使用者。
格式:grant select on 資料庫.* to 使用者名稱@登入主機 identified by 「密碼」
1、增加乙個使用者test1密碼為abc,讓他可以在任何主機上登入,並對所有資料庫有查詢、插入、修改、刪除的許可權。首先用root使用者連入mysql,然後鍵入以下命令:
mysql>grant select,insert,update,delete on *.* to test1@」%」 identified by 「abc」;
mysql>flush privileges; 使之生效
2、增加乙個使用者test2密碼為abc,讓他只可以在localhost上登入,並可以對資料庫mydb進行查詢、插入、修改、刪除的操作(localhost指本地主機,即mysql資料庫所在的那台主機),這樣使用者即使用知道test2的密碼,他也無法從internet上直接訪問資料庫,只能通過mysql主機上的web頁來訪問了。
mysql>grant select,insert,update,delete on mydb.* to test2@localhost identified by 「abc」;
mysql>flush privileges; 使之生效
如果你不想test2有密碼,可以再打乙個命令將密碼消掉。
mysql>grant select,insert,update,delete on mydb.* to test2@localhost identified by 「」;
mysql>flush privileges; 使之生效
操作技巧
1、如果你打命令時,回車後發現忘記加分號,你無須重打一遍命令,只要打個分號回車就可以了。也就是說你可以把乙個完整的命令分成幾行來打,完後用分號作結束標誌就ok。
2、你可以使用游標上下鍵調出以前的命令。
查詢、建立、刪除、更新命令
1、顯示當前資料庫伺服器中的資料庫列表:
mysql>show databases;
注意:mysql庫裡面有mysql的系統資訊,我們改密碼和新增使用者,實際上就是用這個庫進行操作。
2、顯示資料庫中的資料表:
mysql>use 庫名;
mysql>show tables;
3、顯示資料表的結構:
mysql>describe 表名;
4、建立資料庫:
mysql>create database 庫名;
5、建立資料表:
mysql>use 庫名;
mysql>create table 表名 (欄位名 varchar(20), 欄位名 char(1));
6、刪除資料庫:
mysql>drop database 庫名;
7、刪除資料表:
mysql>drop table 表名;
8、將表中記錄清空:
mysql>delete from 表名;
9、顯示表中的記錄:
mysql>select * from 表名;
10、往表中插入記錄:
mysql>insert into 表名 values (」123」,」b」);
11、更新表中資料:
mysql>update 表名 set 欄位名1='a',欄位名2='b' where 欄位名3='c';
12、用文字方式將資料裝入資料表中:
mysql>load data local infile 「/root/mysql.txt」 into table 表名;
13、匯入.sql檔案命令:
mysql>use 資料庫名;
mysql>source /root/mysql.sql;
14、命令列修改root密碼:
mysql>update mysql.user set password=password('新密碼') where user='root';
mysql>flush privileges;
15、顯示use的資料庫名:
mysql>select database();
16、顯示當前的user:
mysql>select user();
備份資料庫
1.匯出整個資料庫,匯出檔案預設是存在當前操作目錄下
# mysqldump -u 使用者名稱 -p 資料庫名 > 匯出的檔名
# mysqldump -u user_name -p123456 database_name > outfile_name.sql
2.匯出乙個表
# mysqldump -u 使用者名稱 -p 資料庫名 表名》 匯出的檔名
# mysqldump -u user_name -p database_name table_name > outfile_name.sql
3.匯出乙個資料庫結構
# mysqldump -u user_name -p -d –add-drop-table database_name > outfile_name.sql
-d 沒有資料 –add-drop-table 在每個create語句之前增加乙個drop table
4.帶語言引數匯出
# mysqldump -uroot -p –default-character-set=latin1 –set-charset=gbk –skip-opt database_name > outfile_name.sql
檢視不到mysql資料庫的解決辦法:
1.去/var/lib/mysql目錄下去檢視,發現mysql以及mysql.sock目錄都在,還好還好,應該還有希望恢復;
2.停掉mysqld服務——「service mysqld stop」
3.檢視mysqld程序是否還在跑——「ps -aux | grep mysqld」,如果還有在跑得程序,可以直接殺之「killall -term mysqld」
4.安全模式啟動mysql;「mysqld_safe --user=mysql --skip-grant-tables --skip-networking &」
5.另起終端,輸入「mysql -u root -p」,進入mysql資料庫
6.show databases;看到mysql庫又出現了
7.更改root使用者密碼:use mysql;update user set password=password(「new-passwd」)where user='root';
8.flush privileges;
mysql基本常用命令 MySQL常用命令(一)
cmd提示框中的mysql基礎命令 一 命令 連線mysql伺服器 mysql h localhost u root p 展示所有資料庫 show databases 選擇資料庫 use database 展示所選資料下所有表 show tables 設定資料庫編碼 set names gbk 用s...
mysql巡檢常用命令 mysql 常用命令
客戶端連線 進入命令列,windows cmd,連線 mysql u 使用者名稱 p密碼 h 伺服器ip位址 p 伺服器端mysql埠號 d 資料庫名 注意 1 伺服器端口標誌 p一定要大些以區別於使用者 p,如果直接連線資料庫標誌 d也要大寫 2 如果要直接輸入密碼 p後面不能留有空格如 pmyp...
mysql常用命令總結 mySql常用命令總結
總結一下自己常用的mysql資料庫的常用命令 mysql u root p 進入mysql bin目錄後執行,回車後輸入密碼連線。資料庫操作 1 create database dbname 建立資料庫,資料庫名為dbname 2 create database todo default chara...