㈠ 如何在mysql資料庫表中修改用戶名和密碼
首先應該知道Mysql資料庫中的口令存儲必須用password()函數加密它。因為在user表中是以加密形式存儲口令,而不是作為純文本。如果沒有加密,直接在資料庫中執行以下語句:
use mysql insert into user (host,user,password) values(%,user_name,your password);
flush privileges;
相信結果不會滿意。因為伺服器比較的是加密的值,所以伺服器連接一定失敗。
這里需要說明的是flush privileges;這條命令起到了重新載入授權表。也可以在shell下直接用mysqladmin -u root reload或者mysqladmin -u root flush-privileges來實現重載授權表。
在Mysql環境下,可以使用以下語句進行設置密碼:
1 insert into user(host,user,password) values(%,user_name,password("your password");
2 set password for user_name = password("your password")
以上兩種方法都必須進行重載授權表。
3 當然也可以在創建一個用戶時直接設置密碼,grant語句將為你自動加密口令。
如:grant all on *.* to user_name@% identified by "your password";
另外也可以在shell環境下用mysqladmin程序來設置密碼。
㈡ 怎樣在mysql裡面修改資料庫名稱
被取消的命令MySQL 之前提供了一個 rename database db_old to db_new 的命令來直接對資料庫改名,可能由於實現的功能不完備(比如,這條命令可能是一個超大的事務,或者是由於之前的表很多還是 MyISAM 等),後來的版本直接取消了這條命令。更改資料庫名大致上有以下幾種方案:
一、mysqlmp 導入導出要說最簡單的方法,就是直接用 mysqlmp 工具,在舊庫導出再往新庫導入(最原始、最慢、最容易想到)的方法:舊庫 yttdb_old 導出(包含的對象:表、視圖、觸發器、事件、存儲過程、存儲函數)
二、改整庫的表名利用 MySQL 更改表名的方法來批量把舊庫的所有表依次遍歷,改名為新庫的表。這種方法比第一種要快很多倍,但是沒有第一步操作起來那麼順滑,不能一步到位。比如,要把資料庫 yttdb_old 改名為 yttdb_new,如果資料庫 yttdb_old 里只有磁碟表,那很簡單,直接改名即可。或者寫個腳本來批量改,非常簡單。但是一般舊庫里不只有磁碟表,還包含其他各種對象。這時候可以先考慮把舊庫的各種對象導出來,完了在逐一改完表名後導進去。
三、歷史方案其實在 MySQL 早期還有一種方法。假設 MySQL 部署好了後,所有的 binlog 都有備份,並且二進制日誌格式還是 statement 的話,那就可以簡單搭建一台從機,讓它慢慢追主機到新的庫名,等確切要更改舊庫的時候,再直接晉升從機為主機即可。這里只需要從機配置一個參數來把舊庫指向為新庫:replicate-rewrite-db=yttdb_old->yttdb_new不過這種局限性很大,不具備標准化,不推薦。
總結其實針對 MySQL 本身改庫名,大致就這么幾種方法:
如果數據量小,推薦第一種;
數據量大,則推薦第二種;
數據量巨大,那就非 MySQL 本身能解決的了。
可通過部署第三方 ETL 工具,通過解析 MySQL 二進制日誌或其他的方式來把舊庫數據直接讀取到新庫達到改名的目的等等。
㈢ MySQL資料庫備份和還原的常用命令
1.備份MySQL資料庫的命令
mysqlmp-hhostname-uusername-ppassworddatabasename>backupfile.sql
2.備份MySQL資料庫為帶刪除表的格式,能夠讓該備份覆蓋已有資料庫而不需要手動刪除原有資料庫。
mysqlmp-_add-drop-table-uusername-ppassworddatabasename>backupfile.sql
3.直接將MySQL資料庫壓縮備份
mysqlmp-hhostname-uusername-ppassworddatabasename|gzip>backupfile.sql.gz
4.備份MySQL資料庫某個(些)表
mysqlmp-hhostname-uusername-ppassworddatabasenamespecific_table1specific_table2>backupfile.sql
5.同時備份多個MySQL資料庫
mysqlmp-hhostname-uusername-ppassword_>multibackupfile.sql
6.僅僅備份灶此資料庫結構
mysqlmp_no-data_>structurebackupfile.sql
7.備份伺服器上所有資料庫
mysqlmp_all-databases>allbackupfile.sql
8.還原MySQL資料庫的命令
mysql-hhostname-uusername-ppassworddatabasename<backupfile.sql
9.還隱碰迅原壓縮的MySQL資料庫
gunzip<backupfile.sql.gz|mysql-uusername-ppassworddatabasename
10.將資料庫轉移到新服吵缺務器
mysqlmp-uusername-ppassworddatabasename|mysql_host=*.*.*.*-Cdatabasename