
    -_g                     p    d dl Z d dlmZmZmZmZmZ  G d de      Z G d dee      Z G d deee      Z	y)	    N)PluginRedHatPluginDebianPluginUbuntuPlugin	PluginOptc                        e Zd ZdZdZdZdZdZdZ e	dde
d	       e	d
de
dez   	       e	ddd      gZ fdZd Z xZS )MysqlzMySQL and MariaDB RDBMSmysql)servicesz/etc/my.cnfz/etc/my.cnf.dz' (password visible in process listings)dbuserz%username for database dump collection)defaultval_typedescdbpass z!password for data dump collectiondbdumpFzCollect a database dump)r   r   c                    t         |           | j                  | j                  dddg       | j	                  d      r| j                  g d       n| j                  g d       | j	                  d      rd}d	| }| j	                  d
      }| j	                  d      }dt
        j                  v rt
        j                  d   }|du s|du r| j                  j                  |       y |r|du r| j                  j                  |       y |t
        j                  d<   d| d}d}| j                  d| |       | j                  d       y )Nz/etc/mysqlrouter/z/var/lib/mysql/grastate.datz/var/lib/mysql/gvwstate.datall_logs)z/var/log/mysql*z/var/log/mariadb*z/var/log/mysqlrouter/*)z/var/log/mysqld.logz/var/log/mysql/mysqld.logz$/var/log/mysqlrouter/mysqlrouter.logz/var/log/mariadb/mariadb.logr   z0database user name and password must be suppliedzmysql.dbdump: r   r   	MYSQL_PWDTFz--user=z --all-databaseszmysqldump_--all-databasesz
mysqldump )suggest_filenamezdu -s /var/lib/mysql/*)
supersetupadd_copy_spec	mysql_cnf
get_optionosenvironsoslogwarningadd_cmd_output)selfmsg
dbdump_errr   r   optsname	__class__s          :/usr/lib/python3/dist-packages/sos/report/plugins/mysql.pyr   zMysql.setup!   sG   NN))	
 	 ??:&        ??8$DC)#/J__X.F__X.Fbjj(K0~4##J/Vu_##J/ '-BJJ{#VH$45D.D*TF 3dK45    c                     dg}ddj                  |       d}d}| j                  | j                   d||       | j                  | j                   ||       y )Npasswordz(^\s*(|z)\s*=\s*)(.*)z\1*********/*)joindo_path_regex_sub
my_cnf_dirdo_file_subr   )r!   protect_keysregexsubs       r'   postproczMysql.postprocX   sg    "|#((<01?r"3	
 	~~3	
r(   )__name__
__module____qualname__
short_descplugin_nameprofilesr   r/   pw_warn_textr   stroption_listr   r4   __classcell__r&   s   @r'   r	   r	      sk    *JKHI J<L 	(Gc>	@(B:\I	K(E0IJK56n
r(   r	   c                   "     e Zd ZdZ fdZ xZS )RedHatMysql)zmysql-serverr
   zmariadb-servermariadbzopenstack-selinuxc                 f    t         |           | j                  dd| j                   ddg       y )Nz/etc/ld.so.conf.d/mysql-*.confz /etc/ld.so.conf.d/mariadb-*.confr,   z:/var/lib/config-data/puppet-generated/mysql/etc/my.cnf.d/*)r   r   r   r/   r!   r&   s    r'   r   zRedHatMysql.setupq   s7    ,.r"H	
 	r(   )r5   r6   r7   packagesr   r>   r?   s   @r'   rA   rA   g   s    H r(   rA   c                   0     e Zd ZdZdZe dZ fdZ xZS )DebianMysql)zmysql-server.*zmysql-commonzmariadb-server.*zmariadb-commonz percona-xtradb-cluster-server-.*z/etc/mysql/z/my.cnfc           	          t         |           | j                  | j                  ddddddg       | j	                  d       y )Nz/var/log/mysql/error.logz/var/lib/mysql/*.errz%/var/lib/percona-xtradb-cluster/*.errz,/var/lib/percona-xtradb-cluster/grastate.datz,/var/lib/percona-xtradb-cluster/gvwstate.datz0/var/lib/percona-xtradb-cluster/innobackup.*.logz'du -s /var/lib/percona-xtradb-cluster/*)r   r   r   r/   r    rD   s    r'   r   zDebianMysql.setup   sI    OO&"3::>
 	 	EFr(   )r5   r6   r7   rE   r/   r   r   r>   r?   s   @r'   rG   rG   {   s)    H J,g&IG Gr(   rG   )
r   sos.report.pluginsr   r   r   r   r   r	   rA   rG    r(   r'   <module>rK      sC    
9 9V
F V
r% (G%| Gr(   