oli's blog

MariaDB and MySQL PERFORMANCE_SCHEMA Hints

Unbreakable MySQL Cluster with Galera and glb

Taxonomy upgrade extras: 

We did a similar thing this week with Galera Cluster for MySQL and the Galera Load Balancer (glb).

information_schema helps you to find databases

Taxonomy upgrade extras: 

Hi Fabio,

There are several ways to do this. The most simple one but possibly not what you need is:

Virtualization gotchas

Taxonomy upgrade extras: 

VirtualBox

Network Interface does not start on Guest System:

MAC Address must be all the same in:

MySQL and MariaDB Security

Overview

MySQL Security Products

Security Vulnerabilities Fixed in MariaDB

Oracle Critical Patch Update (CPU) Advisory for MySQL

RedHat/CentOS vulnerabilities by CVE name

Red Hat vulnerabilities by CVE name for MySQL

Registration for MySQL and MariaDB training

Taxonomy upgrade extras: 

Register here for our MySQL and MariaDB trainings in Switzerland. For our MySQL and MariaDB trainings in Germany you can register directly on-line at the MySQL and MariaDB training class schedule.

MariaDB and MySQL advanced training

You are already familiar with the MySQL or MariaDB and you are challenged to operate a serious MySQL database. If this is the case this training is the right one for you.

MySQL database configurator

Taxonomy upgrade extras: 

Will come soon…

Please let us know your intention to for choosing this page!

Table Analyzer

Taxonomy upgrade extras: 

Will come soon…

Please let us know your intention to for choosing this page!

Artikel über MySQL im neuen iX

Hallo MySQL Gemeinde,

Im neuen iX (2012-10) hat es zwei nette Artikel über: MySQL HA-Lösungen (S. 116) und MySQL 5.6 (S. 66).

Re: Modified channel failover steps in recent releases

Taxonomy upgrade extras: 

Hello Frazer,

Thank you very much for your valuable feedback. Good that Oracle is doing something in this direction and make MySQL even easier to use!

Run mpm agent less often

Taxonomy upgrade extras: 

Hello Roger,

The item FromDual.MySQL.check (MPM Agent is alive) is triggering the agent. Its interval is by default set to 10 seconds. Try to set the interval to 30 seconds and let us know if it helps…

Press

Taxonomy upgrade extras: 

If you have questions related to FromDual GmbH please get in contact with us:

PHP cheat sheet

Taxonomy upgrade extras: 

PHP Java bytecode

PHP Compiler

// Call with php -f test.php

error_reporting(E_ALL);

// Class (blueprint) = package => object (instantiated class)
class ParentClass {

  // variable = property

  // encapsulation
  // visible anywhere
  public $public       = 'Public';
  // visible only within the class, and in inherited and parent classes
  protected $protected = 'Protected';
  // visible only within class
  private $private     = 'Private';

  // function = methode
  public function printItem($string) {

    // ParentClass
    print get_class($this) . ': ' . $string . PHP_EOL;
    print $this->public . PHP_EOL;
    print $this->protected . PHP_EOL;
    print $this->private . PHP_EOL;
  }

  const CONST_VALUE = 'PHP is great!';

  public function printPHP() {

    $classname = get_class($this);
    print constant($classname . '::CONST_VALUE') . PHP_EOL;
    print $classname::CONST_VALUE . PHP_EOL;
    print ParentClass::CONST_VALUE . PHP_EOL;
  }
}

class ChildClass extends ParentClass {

  public function printItem($string) {

    // ChildClass
    print get_class($this) . ': ' . $string . PHP_EOL;
    print self::__bla();
  }

  // private functions are names with __
  private function __bla() {
    print 'bla' . PHP_EOL;
  }
}

class Main {

  private static $instance;
  var $bla;

  private static function __init() {
  }
}

class Person {

  var $name;   // public!

  // access modfiers (public = default)
  public $height;
  protected $social_insurance;
  private $pin_number;

  // PHP constructor methode initialise object when instantiated
  function __construct($persons_name) {

    $this->name = $persons_name;
  }

  private function getPinNumber() {

    return $this->pin_number;
  }

  function setName($new_name) {

    $this->name = $new_name;
  }

  function getName() {

    return $this->name;
  }
}

// inherit from Person all public and protected properties and methodes
// Employee is a TYPE of Person
class Employee extends Person {

  function __construct($employee_name) {

    $this->setName($employee_name);
  }

  // Overwrite the setName methode from Person
  function setName($new_name) {
    if ( $new_name != 'Oli' ) {
      $this->name = strtoupper($new_name);
    }
    else {
      Person::setName($new_name);
      // Or alternatively:
      // parent::setName($new_name);
    }
  }
}


$main = new Main();

$parent = new ParentClass();
$child = new ChildClass();

$parent->printItem('baz');
// Output: 'ParentClass: baz'
$parent->printPHP();
// Output: 'PHP is great'

$child->printItem('baz');
// Output: 'ChildClass: baz'
$child->printPHP();
// Output: 'PHP is great'


// interface bar {
// }

// class MyDatabase implements IDatabase {
// }

// abstract class Base {
//     abstract protected function __construct ();
// }

// protected function hello_right () {

// handle/reference to new object person
$p = new Person('Oliver');
print $p->getName() . PHP_EOL;
$p->setName('Oli');
print $p->getName() . PHP_EOL;
// This is a bad behaviour!
print 'Bad hehaviour: ' . $p->name . PHP_EOL;
// This should give an error
// print $p->pin_number . PHP_EOL;


$e = new Employee('Hugo');
print "Employee " . $e->getName() . PHP_EOL;
$e = new Employee('Oli');
print "Employee " . $e->getName() . PHP_EOL;

function inverse($x) {
  if (!$x) {
    throw new Exception('Division by zero.');
  }
  else return 1/$x;
}

try {
  echo inverse(5) . "<br>n";
  echo inverse(0) . "<br>n";
}
catch (Exception $e) {
  echo 'Caught exception: ' .  $e->getMessage() . "<br>n";
}

// Continue execution
echo 'Hello World';
*/

MONyog

Taxonomy upgrade extras: 

Hello Mahesh,

Thanks for the suggestion. I have added MONyog...

Alternative query

Taxonomy upgrade extras: 
SELECT t.table_schema, t.table_name, t.engine
  FROM information_schema.tables AS t
  LEFT JOIN information_schema.key_column_usage AS i ON t.table_schema = i.table_schema AND t.table_name = i.table_name AND i.constraint_name = 'PRIMARY'
 WHERE i.constraint_name IS NULL
   AND t.table_schema NOT IN ('information_schema', 'mysql')
;

InnoDB variables and status explained

Taxonomy upgrade extras: 

InnoDB Buffer Pool

The InnoDB Buffer Pool is the memory area where the InnoDB Storage Engine caches its data and index blocks. Each InnoDB data and index block has a size of Innodb_page_size (16384 byte = 16 kbyte). The InnoDB Buffer Pool is configured in bytes with the innodb_buffer_pool_size variable. On a dedicated system the InnoDB Buffer Pool can be configured up to 80% of the systems physical RAM (free).

Bug report was opened

Taxonomy upgrade extras: 

A bug report for the following problem has been opened: http://support.fromdual.com/bugs/view.php?id=40

Does fpmmm work with Zabbix 2.0?

Taxonomy upgrade extras: 

A customer asked:

I would like to know if the FromDual Performance Monitor for MySQL works with Zabbix 2.0?

Pages

Subscribe to RSS - oli's blog