程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL數據庫Alter database處理邏輯

MySQL數據庫Alter database處理邏輯

編輯:MySQL綜合教程


MySQL數據庫Alter database處理邏輯    Alter database的處理過程沒有像alter table那麼恐怖,處理邏輯還是比較清晰的。先整理如下: 1、查看數據庫名是否有效      調用check_db_name()(table.cc:2876)查看數據庫名是否有效,其中調用check_table_name()(table.cc:2904)函數。check_table_name這個函數名有些誤導,實際是檢查數據庫名是否合法。 2、查看是否有權修改      調用check_access()(sql_parse.cc:4715)檢查數據庫是否存在,用戶對數據庫是否有權限修改。  www.2cto.com   3、數據庫修改      調用mysql_alter_db()(sql_db.cc:685)對數據庫進行修改。修改前,調用lock_schema_name()(lock.cc:767)函數,獲取schema的互斥鎖。調用write_db_opt()(sql_db.cc:313)函數,重建db.opt文件,db.opt文件記錄的內容是默認字符集的內容。之後寫binlog。            通過以上分析可知,Alter database的操作的業務邏輯較為簡單,但是功能也較簡單,alter database選項僅僅可以修改默認charset和默認的collation。     作者 king_wangheng

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved