installation_von_mysql_5.6.13_auf_ubuntu_13.10

Installation von MySQL 5.6.13 auf Ubuntu 13.10

Auf der Webseite wurde vergessen, dass das mysql-Log-Verzeichnis vor dem ersten Start noch angelegt werden muss.

aptitude update && aptitude -y safe-upgrade && aptitude autoclean
aptitude install libaio1 vim mc screen

<reboot>

dpkg -i mysql-5.6.13-debian6.0-x86_64.deb
ls -lha /opt/mysql/server-5.6/

In Zeile 697 ändern wir MyISAM in InnoDB:

vi /opt/mysql/server-5.6/scripts/mysql_install_db
...
                                              "--default-storage-engine=InnoDB",
...
less /opt/mysql/server-5.6/INSTALL-BINARY

echo 'PATH="/opt/mysql/server-5.6/bin/:${PATH}"' > /etc/profile.d/server-5.6.sh
chmod 0755 /etc/profile.d/server-5.6.sh
. /etc/profile.d/server-5.6.sh
echo ${PATH}
/opt/mysql/server-5.6/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

groupadd mysql
useradd -r -g mysql mysql

DATADIR=/var/lib/mysql
echo ${DATADIR}
mkdir -p ${DATADIR} /var/log/mysql
chown mysql.mysql ${DATADIR}
/opt/mysql/server-5.6/scripts/mysql_install_db --user=mysql --datadir=${DATADIR} --random-passwords
mv /opt/mysql/server-5.6/my.cnf /etc/my.cnf
chmod 0644 /etc/my.cnf

jetzt bauen wir die Konfiguration zusammen:

cat ~/.mysql_secret | awk '/# The random password set for the root user at/{print $NF}' | tail -n1 | awk '{print "[client]\nhost     = localhost\nuser     = root\npassword =",$1"\nsocket   = /tmp/mysql.sock"}' > ~/.my.cnf
chmod 0600 ~/.my.cnf
vi /etc/my.cnf
...

server-id                 = 01
bind-address              = 0.0.0.0
socket                    = /tmp/mysql.sock
#socket                    = /var/run/mysqld/mysqld.sock
slave-sql-verify-checksum = 1
log-bin
log-slave-updates
binlog-format             = ROW     # ROW (empfohlen für Replikation); STATEMENT (Standard vor MySQL 5.1.12); MIXED (Standard ab MySQL 5.1.12)
#binlog-format             = MIXED   # bei 5.6.13 startet die DB mit RAW nicht
# binlog_row_event_max_size muss ein vielfaches von 256 sein 
# Standard vor MySQL 5.6 ist 1024
# Standard ab MySQL 5.6 ist 8192
binlog_row_event_max_size = 8192
relay-log-info-repository = TABLE
relay-log-recovery        = 1
master-info-repository    = TABLE
master-verify-checksum    = 1

max_connect_errors        = 1000
max_connections           = 1000
default-storage-engine    = innodb

enforce-gtid-consistency
gtid-mode                 = ON

basedir                   = /opt/mysql/server-5.6
datadir                   = /var/lib/mysql

Jetzt starten wir MySQL:

cp /opt/mysql/server-5.6/support-files/mysql.server /etc/init.d/
update-rc.d mysql.server defaults
service mysql.server restart
cat ~/.mysql_secret
/opt/mysql/server-5.6/bin/mysql_secure_installation
mysqlshow
mysql_upgrade

Benutzerrechte anpassen:

echo "UPDATE user SET host='%' WHERE user='root' AND host='$(hostname)';" | mysql -t mysql
mysqladmin reload
echo "SELECT host,user,password FROM user;" | mysql -t mysql

Replikation aufsetzen

192.168.0.101 (Master)

echo "CREATE USER otto IDENTIFIED BY 'qwertz' ; GRANT REPLICATION SLAVE ON *.* TO 'otto'@'%';" | mysql
mysqladmin reload
echo "SELECT host,user,password FROM user;" | mysql -t mysql
echo "SHOW SLAVE STATUS \G;SHOW MASTER STATUS;SHOW SLAVE HOSTS;" | mysql -t

192.168.0.102 (Slave)

echo "CREATE USER otto IDENTIFIED BY 'qwertz' ; GRANT REPLICATION SLAVE ON *.* TO 'otto'@'%';" | mysql
mysqladmin reload
echo "SELECT host,user,password FROM user;" | mysql -t mysql
echo "SHOW SLAVE STATUS \G;SHOW MASTER STATUS;SHOW SLAVE HOSTS;" | mysql -t

echo "CHANGE MASTER TO MASTER_HOST='192.168.0.101', MASTER_USER='otto', MASTER_PASSWORD='qwertz';" | mysql
echo "START SLAVE;" | mysql -t
echo "SHOW SLAVE STATUS \G;SHOW MASTER STATUS;SHOW SLAVE HOSTS;" | mysql -t

will man den Slave an eine andere Position beim Master einhängen, dann gibt man die genaue Position mit an:

echo "CHANGE MASTER TO MASTER_HOST='192.168.0.101', MASTER_USER='otto', MASTER_PASSWORD='qwertz', MASTER_LOG_FILE='vdb01-bin.000008', MASTER_LOG_POS=1468;" | mysql
echo "START SLAVE;" | mysql -t
echo "SHOW SLAVE STATUS \G;SHOW MASTER STATUS;SHOW SLAVE HOSTS;" | mysql -t
/home/http/wiki/data/pages/installation_von_mysql_5.6.13_auf_ubuntu_13.10.txt · Zuletzt geändert: von 127.0.0.1