mysql數據庫管理小結

1.須要從A數據庫完整複製一份到B數據庫php

  直接在Linux下,若是是服務器複製到本身服務器自己mysql

  mysqldump test -u root -ppassword --add-drop-table | mysql test1 -u root -ppasswordsql

使用的時候,會有如下的提示:(能夠忽略該提示)數據庫

 Warning: Using a password on the command line interface can be insecure.服務器

  若是是從本服務器複製到另一臺服務器,則是用如下語句:ide

Mysqldump test -uroot  -ppassword --add-drop-table | mysql test1 -h 192.168.1.100 -uroot -ppassword函數

 這樣就完成了數據庫的遠程複製。工具

PS: mysqldump的默認參數是--add-drop-table 默認create表前都會刪除之前的表,若是是spa

 --skip-add-drop-table 參數則只有create沒有delete行爲。設計

 

2.備份還原數據庫(數據庫維護操做很是頻繁的操做之一)

  mysqldump -uroot -proot  test >/home/bak/test.sql(備份數據庫到指定的文件夾)

這種優點是導出很是快(navicate等工具遇到數據量比較大的時候,很是耗時間導出)

  數據庫還原方法(導入後須要還原)

切換到進入mysql

Mysql -uroot -p;

Use  test2;

而後

Source /home/bak/test.sql;

這樣就完成了代碼部分的導入還原工做

命令的優點:速度很是快(比用navicateN倍,數量越大,差別越大)

 

3.批量修改數據庫的前綴(不少項目都須要統一前綴,或者須要更改前綴)

  修改思路:從information.schems批量讀取對應數據庫的前綴用concat拼接出所須要修改的語句導出到一個sql文件,而後再用sql文件在對應的數據庫裏進行執行

Select CONCAT( 'ALTER TABLE ', table_name, ' RENAME TO test_', substring(table_name,3),';' ) FROM information_schema.tables Where  table_schema='test2' and  table_name LIKE 'onethink_%' into outfile '/home/new.sql';

而後

Source  /home/new.sql;

 PS:這種操做方法是直接在mysql界面運行的操做,很是方便的批量改動了前綴(網上的教程用navicate顯得的比較複雜)這裏對sql語句作下說明:

Concat mysql的拼接函數  rename 重命名的意思  select * from tb1 into file /home/test.sql 是將select語句導出的到指定文件夾

 

4.增長mysql用戶(數據庫管理須要給其餘成員管理的時候必須用到)

   Create  user  test@localhost identified by 123456;

mysql增長一個test123456帳戶的語句

  給其受權:(給對應的test用戶對test操做所有的權限)

Grant  all  on  test  to  test@localhost with grant option;

  刪除對應的用戶

  Drop  user  test@localhost;

給遠程用戶登陸(若是不給密碼,則遠程登陸的時候不須要密碼)

Grant  all  on  test@192.168.1.100  identified by 123456;

當前用戶登陸修改密碼(通常設置了帳戶後,用戶都須要登陸修改本身的密碼)

Set password = password(654321);


5.將對應的字段轉化爲數據庫

新建數據庫(設計數據庫表的時候使用,在phpmyadmin,navicatemysqlfront等工具裏也能夠直接本身創建,這裏是數據庫的執行語句模板,查看數據庫的生成語句show create datbase  test)

CREATE TABLE `onethink_action` (

  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主鍵',

  `name` char(30) NOT NULL DEFAULT '' COMMENT '行爲惟一標識',

 `title` char(80) NOT NULL DEFAULT '' COMMENT '行爲說明',

  `remark` char(140) NOT NULL DEFAULT '' COMMENT '行爲描述',

  `rule` text NOT NULL COMMENT '行爲規則',

  `log` text NOT NULL COMMENT '日誌規則',

  `type` tinyint(2) unsigned NOT NULL DEFAULT '1' COMMENT '類型',

  `status` tinyint(2) NOT NULL DEFAULT '0' COMMENT '狀態',

  `update_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '修改時間',

  PRIMARY KEY (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=12 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='系統行爲表';

相關文章
相關標籤/搜索