程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql不同版本數據之間的同步工具+常用指令

mysql不同版本數據之間的同步工具+常用指令

編輯:MySQL綜合教程

mysql不同版本數據之間的同步工具+常用指令   升級數據庫時,通常需要將舊版本中的數據同步到新版本的mysql服務中。對於MyISAM格式的,通常直接copy數據文件,然後修改文件權限(chown -R mysql:mysql data)就能解決問題。但是對於innodb格式的,這種方式是行不通的。於是我寫了一個工具方便數據的備份。    操作步驟如下:    1、啟動新的mysql服務     #:bin/mysqld_safe --port=3308 --socket=/tmp/mysql2.sock &    2、同步mysql服務權限【可選】      Java代碼   //同步權限數據   #:mysqldump --opt mysql | mysql -P 3308 --socket=/tmp/mysql2.sock mysql   //在每一次的升級過程中,mysql_upgrade這個命令我們都應該去執行,它通過   //mysqlcheck命令幫我們去檢查表是否兼容新版本的數據庫同時作出修復,   //還有個很重要的作用就是使用mysql_fix_privilege_tables命令去升級權限表。   #: mysql_upgrade  -P 3308 --socket=/tmp/mysql2.sock       2、同步應用數據  Java代碼   TO_MYSQL_SOCK=/tmp/mysql2.sock   TO_MYSQL_PORT=3308   dataList=`mysql -s -e "show databases"`   for databaseName in ${dataList[*]}   do           # 過濾掉不需要同步的表           case $databaseName in Database|mysql|test|performance_schema|information_schema)                   echo "ignore Database:"$databaseName ;;                   *) echo "創建數據庫:"$databaseName                   mysqladmin -P ${TO_MYSQL_PORT}  --socket=${TO_MYSQL_SOCK} create ${databaseName}                   mysqldump --opt ${databaseName} | mysql -P ${TO_MYSQL_PORT} --socket=${TO_MYSQL_SOCK} ${databaseName}                   ;;           esac   done       3、關掉舊數據庫服務,啟用新數據庫服務    常用指令:  授權:  GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.0.%' IDENTIFIED BY '1' WITH GRANT OPTION;    編碼集:  SHOW VARIABLES LIKE 'character_set_%';    二進制日志清除:  mysql > flush logs;  mysql > reset master;    刪除沒用的密碼  delete from user where password ="";  FLUSH PRIVILEGES;    初設密碼:  ./bin/mysqladmin -u root password 'new-password'  ./bin/mysqladmin -u root -h server-171 password 'new-password'    5.6.10版本編譯(默認字符utf8)  cmake -DCMAKE_INSTALL_PREFIX=/opt/app/mysql-5.6.10 \  -DMYSQL_DATADIR=/opt/app/mysql-5.6.10/data            \  -DDEFAULT_CHARSET=utf8 \  -DDEFAULT_COLLATION=utf8_general_ci \  -DEXTRA_CHARSETS=all    慢查詢語句(my.cnf)  long_query_time=1  log_slow_queries= /usr/local/mysql/var/slow_query.log    修改文件權限  chown -R mysql:mysql ${dbname}  

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