mysql 經常使用命令彙總

mysql修改用戶密碼的幾種方法:

方法1: 用SET PASSWORD命令
首先登陸MySQL。
格式:mysql> set password for 用戶名@localhost = password('新密碼');
例子:mysql> set password for root@localhost = password('123'); mysql

方法2:用mysqladmin
格式:mysqladmin -u用戶名 -p舊密碼 password 新密碼
例子:mysqladmin -uroot -p123456 password 123 sql

方法3:用UPDATE直接編輯user表
首先登陸MySQL。
mysql> use mysql;
mysql> update user set password=password('123') where user='root' and host='localhost';
mysql> flush privileges; 數據庫

方法4:在忘記root密碼的時候,能夠這樣
1.編輯vi /etc/my.cnf
2.最後一行添加mysqld --skip-grant-tables ###--skip-grant-tables 的意思是啓動MySQL服務的時候跳過權限表認證。 ide

  1. use MySQL;
  2. 改密碼:update user set password=password("123") where user="root";(別忘了最後加分號) 。
  3. 刷新權限(必須步驟):flush privileges; 。

mysql 備份

一、備份命令
格式:mysqldump -h主機名 -P端口 -u用戶名 -p密碼 --database 數據庫名 > 文件名.sql
例如: mysqldump -h 192.168.1.100 -p 3306 -uroot -ppassword --database cmdb > /data/backup/cmdb.sqlblog

二、備份壓縮
導出的數據有可能比較大,很差備份到遠程,這時候就須要進行壓縮
格式:mysqldump -h主機名 -P端口 -u用戶名 -p密碼 --database 數據庫名 | gzip > 文件名.sql.gz
例如: mysqldump -h192.168.1.100 -p 3306 -uroot -ppassword --database cmdb | gzip > /data/backup/cmdb.sql.gzip

三、備份同個庫多個表
格式:mysqldump -h主機名 -P端口 -u用戶名 -p密碼 --database 數據庫名 表1 表2 .... > 文件名.sql
例如 mysqldump -h192.168.1.100 -p3306 -uroot -ppassword cmdb t1 t2 > /data/backup/cmdb_t1_t2.sqlcmd

四、同時備份多個庫
格式:mysqldump -h主機名 -P端口 -u用戶名 -p密碼 --databases 數據庫名1 數據庫名2 數據庫名3 > 文件名.sql
例如:mysqldump -h192.168.1.100 -uroot -ppassword --databases cmdb bbs blog > /data/backup/mutil_db.sqlit

五、備份實例上全部的數據庫
格式:mysqldump -h主機名 -P端口 -u用戶名 -p密碼 --all-databases > 文件名.sql
例如:mysqldump -h192.168.1.100 -p3306 -uroot -ppassword --all-databases > /data/backup/all_db.sqlio

六、備份數據出帶刪除數據庫或者表的sql備份
格式:mysqldump -h主機名 -P端口 -u用戶名 -p密碼 --add-drop-table --add-drop-database 數據庫名 > 文件名.sql
例如:mysqldump -uroot -ppassword --add-drop-table --add-drop-database cmdb > /data/backup/all_db.sqltable

七、備份數據庫結構,不備份數據
格式:mysqldump -h主機名 -P端口 -u用戶名 -p密碼 --no-data 數據庫名1 數據庫名2 數據庫名3 > 文件名.sql
例如:mysqldump --no-data –databases db1 db2 cmdb > /data/backup/structure.sql

mysql 恢復

1.方法一:
mysql -u用戶名 -p密碼 數據庫名 < 數據庫名.sql
mysql -uroot -p123456 redmine < redmine.sql

2.方法二
mysql -uroot -p ####進入數據庫
use redmine; ####選擇數據庫
source /usr/local/src/redmine.sql;

3.若是是備份了全庫的話,那下面須要恢復全庫。
備份全庫
mysqldump -uroot -p123456 --all-databases > /usr/local/src/all_db.sql
恢復全庫
mysql -uroot -p
source /usr/local/src/redmine.sql;
注意:在恢復全庫的時候不要選擇數據庫,不選爲所有。

mysql 添加用戶,刪除用戶和受權

方法一:添加一個test用戶,密碼爲123456。
mysql>grant all on . to test@'127.0.0.1' identified by "123456";

方法二:增長一個用戶test2密碼爲123456,讓他只能夠在localhost上登陸,並能夠對數據庫mydb進行查詢、插入、修改、刪除的操做
mysql> grant select,insert,update,delete on . to test2@localhost Identified by "123456";

方法三:建立了一個名爲:test 密碼爲:1234 的用戶。
mysql> insert into mysql.user(Host,User,Password) values("localhost","test",password("1234"));
注意:此處的"localhost",是指該用戶只能在本地登陸,不能在另一臺機器上遠程登陸。若是想遠程登陸的話,將"localhost"改成"%",表示在任何一臺電腦上均可以登陸。也能夠指定某臺機器能夠遠程登陸。

mysqldump -uroot -p111111 -R -E --triggers --single-transaction --master-data=2 --hex-blob --opt --databases xxxxxx >/tmp/xxxx.sql
mysql -uroot -p111111 </tmp/xxxx.sql

mysql爲用戶受權

  1. 受權test用戶擁有testDB數據庫的全部權限(某個數據庫的全部權限):
    mysql>grant all privileges on testDB.* to test@localhost identified by '1234';
    mysql>flush privileges;//刷新系統權限表

格式:grant 權限 on 數據庫.* to 用戶名@登陸主機 identified by "密碼"; 

2.指定部分權限給一用戶,能夠這樣來寫:
mysql>grant select,update on testDB.* to test@localhost identified by '1234';
mysql>flush privileges; //刷新系統權限表

3.受權test用戶擁有全部數據庫的某些權限:  
mysql>grant select,delete,update,create,drop on . to test@"%" identified by "1234";

//test用戶對全部數據庫都有select,delete,update,create,drop 權限。
//@"%" 表示對全部非本地主機受權,不包括localhost。(localhost地址設爲127.0.0.1,若是設爲真實的本地地址,不知道是否能夠,沒有驗證。)
//對localhost受權:加上一句grant all privileges on testDB.* to test@localhost identified by '1234';便可。

刪除用戶

1.mysql>Delete FROM user Where User='test' and Host='localhost';
  mysql>flush privileges;
  mysql>drop database testDB; //刪除用戶的數據庫
刪除帳戶及權限:

drop user 用戶名@'%';
drop user 用戶名@ localhost;

經常使用命令

  1. 列出全部數據庫
      mysql>show database;
  1. 切換數據庫
      mysql>use '數據庫名';

  2. 列出全部表
      mysql>show tables;

  3. 顯示數據表結構
      mysql>describe 表名

  4. 刪除數據庫和數據表
      mysql>drop database 數據庫名;
      mysql>drop table 數據表名;

若有錯誤還請你們指出,後續繼續更新。。。。

相關文章
相關標籤/搜索