XׯdWI(ddlZddlZddlZddlZddlmZddlmZmZddl m Z ddl m Z m Z mZmZmZddlmZddlmZmZmZddlmZd Zd Zd Zd ZGd dejZGddeZGddeZGddeZ dS)N)Thread)QueueEmpty)MySQLScriptImporter)weakcbMessageButtonPanelWbAdminTabBaseWbAdminValidationBaseWbAdminValidationConnection)Version)log_info log_error log_warning) FileChooserc|j}|j}||jdd} ||st ddS||st ddS||}n9#t$r,ddl }td| zYdSwxYwtj tjd}t'|d}|d D]{}d } |d rHt,jjjjd x} } t5jd d| z|}d| zd|zz} n|} |d| z|||S)Nsharezmysql_sys_schema.sqlz9The server does not supply the sys schema install script zIThe server supplies the sys schema install script, but it's not readable rz3There was an exception when making validations: %s zinstall_sys_script.sqlw z!CREATE DEFINER='root'@'localhost' SqlDelimiterz(.*);z\1z DELIMITER z %s DELIMITER ; %s ) server_helperprofile join_pathsbasedir file_existsrcheck_file_readableget_file_content Exception tracebackr format_excospathjoinmformsAppgetget_user_data_folderopensplit startswithgrtrootwboptionsresubwriteclose) ctrl_berrinstall_script_pathinstall_script_contentr local_install_script_pathflinecontent delimiters !..\modules\wb_admin_perfschema.pydownload_server_install_scriptr=-s)M#G'227?GMcdd(()<==  T U U U4001DEE  d e e e4!.!?!?@S!T!T IIL`L`LbLbbccctt !# VZ^^-=-=-R-R-T-TVn o o &,,A&,,T22 " " ??> ? ? $'HK$7$?$O OI 6(EI$5t<>) $ $()))tY ??. / /  94@@A t 4ctjd}tj|d}t|S)r?syszbefore_setup.sql)r%r&r'get_resource_pathr"r#r$rD)server_versionsyspathr#s r<get_current_sys_versionrKbsEjnn0077G 7<<!3 4 4D &t , ,,rEc6 |dd}|r|dSdS#tj$rF}t d|z|jddkrYd}~dS|jddkrYd}~dSd}~wwxYw) z:Checks whether the sys schema is installed and up to date.z#SELECT sys_version FROM sys.versionrz+MySQL error getting sys schema version: %s izNiv access_denied)executeManagementQuery goToFirstRowstringFieldValuer,DBErrorrargs) sql_editorreses r<get_installed_sys_versionrWis //0UWXYY      +''** * + + ;@1DEEE 6!9  44444 6!9  "????? s#>AB#B;BBBcZeZdZdZdZedZdZdZdZ dZ dZ d Z d Z d S) HelperInstallPanelcLtj||||d|d|dtjd|_ | |j ddddtj tj |_ | |j ddddtj |j dd||_||_t#|j|_|j|j_|j|j_t-|_d|_d|_d|_d|_g|_dS)NrMz Installing...ri)r%Table__init__ set_managedset_release_on_add set_row_countset_column_count set_paddingnewLabellabeladd HFillFlagnewProgressBarprogressset_sizeownerr4r connectionimporterreport_progress report_outputr _worker_queue_worker_progress_status_progress_value _update_timer _messages)selfrkeditorr4s r<r^zHelperInstallPanel.__init__ysc d###  !!! 1 a    __55  Q1a)9:::-//  1aF,<=== sB'''  +F,=>> (,(< %&*&8 #"WW $ !rEc`|jr&tj|jdSdSN)rtr% Utilitiescancel_timeoutrvs r<__del__zHelperInstallPanel.__del__s:   @   + +D,> ? ? ? ? ? @ @rEc|jdkSry)rqr|s r<is_busyzHelperInstallPanel.is_busys|t##rEcR||_|dkrt||z |_dSdSNr)rrfloatrs)rvstatuscurrenttotals r<rnz"HelperInstallPanel.report_progresss3 & 199#(>>E#9D  9rEc^td|z|j|dS)Nr)r ruappend)rvmessages r<roz HelperInstallPanel.report_outputs1'!""" g&&&&&rEc |j}||jd|_|jd|_|jr>tj ddd|jzddddSt|trt|tjr5|jddkr$tj dd dddnt|tjr4tj dd t%|zdddn3tj dd t%|zdddn#t&$rYnwxYw|j|j|j|j|jd S) NInstall sys SchemazImport output: %srOKrFrMizThe current MySQL account does not have enough privileges to create the sys schema. Please use an account with schema creation privileges or ask an administrator to install sys.zError installing sys Schema. T)rp get_nowaitrqr$rkpage_activatedrtrur%rz show_message isinstancerr,rRrS show_error DBLoginErrorstrrrrreset_textri set_valuers)rvdatas r< update_uizHelperInstallPanel.update_uis' %0022D| !!####  ))+++%)">H$112FH\_c_h_himiw_x_xHxz~ACEGHHHu$ ** jdCK00jTYq\T5I5I$//0D1egkmoqsttttc&677j$//0D0PQTUYQZQZ0Z\`bdfhjjjj$//0D0PQTUYQZQZ0Z\`bdfhjjj    D   , J   5 6 6 6  4555tsB F $C%F FFc |D]4\}}|d|d|_d|_|j||5t dn#t j$r6}td|z|j |Yd}~nd}~wt j $r6}td|z|j |Yd}~n`d}~wt$rP}ddl }td|d| d|j |Yd}~nd}~wwxYw|j ddS) N z...rz!sys schema installation finished z,MySQL login error installing sys schema: %s z&MySQL error installing sys schema: %s z,Unexpected exception installing sys schema: r)rrrsrm import_scriptr r,rrrpputrRrr r!)rvfilesrr8dbrVr s r<install_scriptsz"HelperInstallPanel.install_scriptss & 3 326=ggqqq(A%'($ ++Ar2222 9 : : : : & & & EI J J J   " "1 % % % % % % % %{ & & & ?!C D D D   " "1 % % % % % % % % & & &     IPQPQPQS\SgSgSiSiSiSij k k k   " "1 % % % % % % % % & t$$$$$s1AA D),B  D),C  D)AD$$D)cr |jjtdddkr|jnt |j}|rt d}t|}d|dD\}}}t|||}d|dD\}}}t|||} | |kr:tdt|z| |dfgddStd td | |d nP#t$rC} td t| z|j| Yd} ~ nd} ~ wwxYw|jddS) N c,g|]}t|Sint.0is r< z+HelperInstallPanel.work..s$Y$Y$YSVV$Y$Y$YrE.c,g|]}t|Srrrs r<rz+HelperInstallPanel.work..s$V$V$VSVV$V$V$VrEz1Installing sys schema supplied by the server: %s zInstalling server scriptzgServer sys schema install script exists but it's outdated compared to the one supplied by Workbench... z,Installing sys schema supplied by workbench zInstalling Workbench scriptz1Runtime error when installing the sys schema: %s )r4target_versionr rm reset_schemasr=rKrDr*r rrrrrpr) rvrlocationworkbench_version_stringserver_version_stringmajminrelworkbench_versionrIrVs r<workzHelperInstallPanel.works (|*gaB.?.??? ++----9$,GGM/Ft/L/L,,G,Q,Q)$Y$Y5M5S5STW5X5X$Y$Y$YMCc(/S#(>(>%$V$V5J5P5PQT5U5U$V$V$VMCc%,S#s%;%;N%)::: !UX[\dXeXe!efff,,x.>-?A[\\\ "LMMMHIII$$U,IJJJ ( ( (LsSTvvUVVV $$Q'''''''' ( t$$$$$sDE 4E F9FFc|jjj}|jj}|d}|jj}t jd||d\}}|sdS|j |t j d}|jjj}d|j|jfz} t#|jt&j|| dfgf|_|jt jd|j|_dS)NuserNamerFrGz sys_%i%i.sql)targetrSg?)rkr4server_profiledb_connection_paramsparameterValueshostIdentifierr%rzfind_or_ask_for_passwordrm set_passwordr&r'rHr majorNumber minorNumberrrr"r#r$rqstart add_timeoutrrt) rvrrusernamehostacceptedpwdrJrImain_syss r<rzHelperInstallPanel.starts!+:(=M":.2A(AABVX\^fhmnn #  F ""3'''*..""44U;;+:!^%?A[$\\tyBGLLRZ<[<[]a;b:c9efff  #-99#t~NNrEc<|j||dSry)rmr)rvwhat default_dbs r<installzHelperInstallPanel.installs  ##D*55555rEN)__name__ __module__ __qualname__r^r}propertyrrnrorrrrrrrEr<rYrYxsB@@@$$X$::: ''' >%%%*%%%BOOO,66666rErYc$eZdZfdZdZxZS)WbAdminValidationPSUsablecXtd||_dS)NPerformance Schema is either unavailable or disabled on this server. You need a MySQL server version 5.6 or newer, with the performance_schema feature enabled.)superr^ _main_view)rv main_view __class__s r<r^z"WbAdminValidationPSUsable.__init__s3 | } } }#rEc |jjdd}|r|ddkSn.#t j$r}td|zYd}~nd}~wwxYwdS)Nzselect @@performance_schemar1z;MySQL error retrieving the performance_schema variable: %s F)rrwrOrPrQr,rRr)rvrUrVs r<validatez"WbAdminValidationPSUsable.validate"s Z/(??@]_`aaC!! 6++A..#55 6{ Z Z Z TWXX Y Y Y Y Y Y Y Y ZusA AA;A66A;)rrrr^r __classcell__rs@r<rrsG$$$$$rErc<eZdZfdZdZdZdZdZdZxZ S)"WbAdminValidationNeedsInstallationctd||_||_d|_d|_||_dS)Nrr)rr^r_ctrl_be _error_title_install_button_owner)rvrr4rkrs r<r^z+WbAdminValidationNeedsInstallation.__init__-sQ | } } }# # rEc"d|jf|_dS)NzInstall Helper)install_helperrr|s r<add_install_buttonz5WbAdminValidationNeedsInstallation.add_install_button5s 0$2EFrEcgd}g}d} |jjdd}|r|d}n.#t j$r}td|zYd}~nd}~wwxYw|ddkr|S|D]0}||dkr| |1|S)N) SELECTINSERTCREATEDROPALTERSUPERz CREATE VIEWzCREATE ROUTINEz ALTER ROUTINETRIGGERrz show grantsrz'MySQL error retrieving user grants: %s ALLr\) rrwrOrPrQr,rRrfindr)rvrequired_grantsmissing_grantscurrent_user_grantsrUrVgrants r<get_missing_grantsz5WbAdminValidationNeedsInstallation.get_missing_grants8sPPP  F/(?? qQQC!! >&)&:&:1&=&=#{ F F F @1D E E E E E E E E F  # #E * *b 0 0! !% - -E"''.."44%%e,,,sA AA?#A::A?cR |jt|jj}d}|}d}d}t |dkrd}|dkrd}|dt|}|s.|d|z| dS|dkr|d |zdSt|jj }d | d D\}}}d | d D\} } } d} | |krd} n| |kr| |krd} n| |kr| |krd} | s4|d |d||d| dSn#tj$r(} |d| jzYd} ~ dSd} ~ wt $rX} ddl}t%d|z|dt| zYd} ~ dSd} ~ wwxYwdS)Nrz To install the performance schema helper, you need the following privileges: - SELECT, INSERT, CREATE, DROP, ALTER, SUPER, CREATE VIEW, CREATE ROUTINE, ALTER ROUTINE and TRIGGERTrFrNz( The following grants are missing: - aJThe Performance Schema helper schema (sys) is not installed. Click the [Install Helper] button to install it. You must have at least the following privileges to use Performance Schema functionality: - SELECT on performance_schema.* - UPDATE on performance_schema.setup* for configuring instrumentation %saThe Performance Schema helper schema (sys) is not accesible. You must have at least the following privileges to use Performance Schema functionality: - SELECT on performance_schema.* - UPDATE on performance_schema.setup* for configuring instrumentation %sc,g|]}t|Srrrs r<rz?WbAdminValidationNeedsInstallation.validate..qsAAAa3q66AAArErc,g|]}t|Srrrs r<rz?WbAdminValidationNeedsInstallation.validate..rsKKKc!ffKKKrEzmPerformance Schema helper schema (sys) is outdated MySQL Workbench needs to upgrade it. (current version is z , server has z).a Unable to access Performance Schema helper schema (sys) %s (error %s) If the sys schema is already installed, make sure you have SELECT privileges on it. If not, you will need privileges to create the `sys` schema and populate it with views and stored procedures for PERFORMANCE_SCHEMA.z!Error checking for PS helper: %s aUnable to access Performance Schema helper (sys) %s If the sys schema is already installed, make sure you have SELECT privileges on it. If not, you will need privileges to create the `sys` schema and populate it with views and stored procedures for PERFORMANCE_SCHEMA.)racquire_admin_accessrWrrwrlenrset_error_messagerrKrr*r,rRrSrr rr!)rvinstalled_version install_textr can_install curversionxyzixiyiz version_okrVr s r<rz+WbAdminValidationNeedsInstallation.validateNs<=  M . . 0 0 0 9$/:P Q Q L!4466NlLK>""Q&&# $77#%LT`T`T`beftbububuv $& !&&(  ( '')))u"o55&&(  ( u4T]5QRR AA:+;+;C+@+@AAA1aKK.?.E.Ec.J.JKKK B # 66!%JJ1WWAvv%) qR1WW%) !!***wAwAwACTCTVbVbVb,cddd++--- 5!{     " "$KNONT$T U U U55555        :Y=Q=Q=S=SS T T T  " "$z}@AB}C}C$C D D D55555   ts2B+F /F B;F H$F?? H$ A HH$c\td|j|j|j|_|jS)Nr)rr_error_messager_contentr|s r< errorScreenz.WbAdminValidationNeedsInstallation.errorScreens)*2t/@$BUW[Wkll }rEczt|j|jj|j|_|j|jddddd|j|jj tdddkrettj }|d|r#||jj_|jj|j|jdS) NrMr[rrrrz%Specify the location of mysql_upgrade)rYrrrwrinstaller_panelr rfrelayoutrr rr%OpenFile set_title run_modalget_pathrm_upgrade_tool_pathrget_mysql_passwordr)rv filechoosers r<rz1WbAdminValidationNeedsInstallation.install_helpers 1$+t?UW[Wdee $.1aA>>>  = '71a+<+< < <%fo66K  ! !"I J J J$$&& ZCNCWCWCYCY$-@ %224=3S3S3U3UVVV ""$$$$$rE) rrrr^rrrr rrrs@r<rr,sGGG,@@@D % % % % % % %rErc"eZdZdZdZdZdZdS)WbAdminPSBaseTabrGFctj||||d|_|t ||t ||t |||dSry)r r^r:add_validationr rr)rvr4 instance_infors r<r^zWbAdminPSBaseTab.__init__sg}iHHH  7@@AAA 5i@@AAA >y'SWXXYYYYYrEc|jj|d}|r)|r|dSdSr)rrwrOrP intFieldValue)rvqueryrUs r<get_select_int_resultz&WbAdminPSBaseTab.get_select_int_resultsPn#::5!DD  (3##%% ($$Q'' 'trEN)rrrrG ui_createdr^rrrEr<rrs? CJZZZrEr)!r%r,r0r" threadingrqueuerrworkbench.client_utilsrwb_admin_utilsrrr r r workbench.utilsr workbench.logr rrrr=rDrKrWr]rYrrrrrEr<r&s, 666666yyyyyyyyyyyyyy######::::::::::&%&%&%R   ---   b6b6b6b6b6b6b6b6J      5   u%u%u%u%u%)>u%u%u%p~rE