mysql設置密碼,查詢幫助,密碼找回
進入mysql,授權:
all privileges:所有權限
on *.*:在所有庫上的所有表
to 那個用戶@那個主機
設置密碼:
#mysqladmin -u root password‘123456’; 改變密碼: # mysqladmin -uroot -p123456 password 123;
在數據庫裏面更新密碼:
mysql> update mysql.user set password=password(123) where user='root' and host='localhost'; Query OK, 1 row affected (0.00 sec)
更新之後要刷新才會生效。
忘記密碼:(使用--skip-grant-tables忽略授權表)
然後使用mysql登陸到數據庫,下來重置密碼:
最後關閉mysqld_safe:
[root@localhost bin]# mysqladmin -uroot -p123456 shutdown
然後再重啟mysql服務,在使用更新後的密碼登錄就好了。
在數據庫中的查詢信息:
查看建庫語句:默認的是拉丁字符集;
字符集不一樣是數據庫亂碼的罪魁禍首。
如果你使用utf_8指定一個數據庫時,默認創建庫時是utf_8的。
企業裏如何創建數據庫?
1.根據開發的程序確定字符集(建議使用utf_8)
2.在編譯的時候指定字符集
--DEFAULT CHARACTER=utf8
--DEFAULT COLLATE=utf_chinese_ci: 設定字符集
3.編譯的時候沒有指定字符集或者和程序不同的字符集,如何解決?
創建庫時指定字符集
授權:
mysql> grant all privileges on *.* to 'xpg'@'%' identified by '123456'; Query OK, 0 rows affected (0.04 sec) mysql> flush privileges; Query OK, 0 rows affected (0.01 sec)
索引:
索引就像書的目錄一樣,如果在字段上建立索引,那麽以索引列為查詢條件時可以加快查詢數據的速度,這是mysql優化的重要內容之一。
創建主鍵索引
查詢數據庫,按主鍵查詢時最快的,每個表只能有一個主鍵列,但是可以有多個普通索引列,主鍵列要求列的所有內容必須唯一,而索引不要求內容必須唯一。
主鍵就是主鍵索引,主鍵索引和普通索引有很大的不同。
第一種:
創建主鍵索引的辦法:
在創建表的時候創建索引。
auto_increment:自增
後面設置id列為主鍵,name為普通索引。
mysql> create table user; ERROR 1113 (42000): A table must have at least 1 column mysql> create table xog( -> id int(4) not null AUTO_INCREMENT, -> name char(20) not null, -> age int(4) not null, -> primary key(id), -> KEY index_name(name) -> ); Query OK, 0 rows affected (0.04 sec) mysql> desc xog; +-------+----------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+----------+------+-----+---------+----------------+ | id | int(4) | NO | PRI | NULL | auto_increment | | name | char(20) | NO | MUL | NULL | | | age | int(4) | NO | | NULL | | +-------+----------+------+-----+---------+----------------+ 3 rows in set (0.01 sec)
備份數據庫:
-A:備份所有數據庫,-B:備份指定的庫,兩個不能一起用
mysqldump -uroot -p123456 -B test >/tmp/test.sql
關於增量備份:
首先一定要打開二進制日誌寫入功能,mysql會將所有的增刪改功能的數據寫入到二進制庫裏面。
如果想過濾出某一個庫的二進制日誌:
mysql設置密碼,查詢幫助,密碼找回