PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Replikation startet nicht, Repli-User kann aber alles lesen



Yod@
01.03.11, 17:29
Hallo Leute,

ich hab hier ein kleines Problem bei dem ich nicht weiter komme.

wenn ich dieses Kommando abschicke bekomme ich die selbe Fehlermeldung
wie sie auch im "SHOW SLAVE STATUS" drin steht:


# echo "LOAD DATA FROM MASTER" | mysql -t -uroot -pgeheim
ERROR 1218 (08S01) at line 1: Error connecting to master: Access denied for user 'otto'@'slavedb.domain.net' (using password: YES)


allerdings darf der User "otto" alles was er braucht.
Ich hab ihn auf beiden Rechnern so angelegt:

# echo "CREATE USER otto IDENTIFIED BY 'geheim';GRANT SELECT,SUPER,REPLICATION CLIENT,RELOAD,REPLICATION SLAVE ON *.* TO 'otto'@'%' IDENTIFIED BY 'geheim';" | mysql -u root -pgeheim


und er kann auch auf den Master zugreifen:

mysqlshow -t -uotto -pgeheim -h masterdb

+--------------------+
| Databases |
+--------------------+
| information_schema |
| mysql |
+--------------------+


# echo "select * FROM user where user='otto' \G;" | mysql -t -uotto -pgeheim -h masterdb mysql
*************************** 1. row ***************************
Host: %
User: otto
Password: *82220DCF4F0E73F924A5C7E41B65F254607C394E
Select_priv: Y
Insert_priv: N
Update_priv: N
Delete_priv: N
Create_priv: N
Drop_priv: N
Reload_priv: Y
Shutdown_priv: N
Process_priv: N
File_priv: N
Grant_priv: N
References_priv: N
Index_priv: N
Alter_priv: N
Show_db_priv: N
Super_priv: Y
Create_tmp_table_priv: N
Lock_tables_priv: N
Execute_priv: N
Repl_slave_priv: Y
Repl_client_priv: Y
Create_view_priv: N
Show_view_priv: N
Create_routine_priv: N
Alter_routine_priv: N
Create_user_priv: N
Event_priv: N
Trigger_priv: N
ssl_type:
ssl_cipher:
x509_issuer:
x509_subject:
max_questions: 0
max_updates: 0
max_connections: 0
max_user_connections: 0


-----------------------------------------------------------------------------------
meine Slave-CFG's


# cat /etc/mysql/conf.d/default.cnf
[mysqld]
pid_file = mysql.pid
log_bin = mysql-bin
relay_log = mysql-relay-bin



# cat /etc/mysql/conf.d/GLOBAL.cnf
[server]
sql-mode=""



# cat /etc/mysql/conf.d/Tuning.cnf
[mysqld]
key_buffer = 256M
table_cache = 512
max_connections = 900
connect_timeout = 10
tmp_table_size= 256M
max_heap_table_size = 256M
query_cache_limit = 256M
query_cache_size= 256M
query_cache_type= 1



# cat /etc/mysql/conf.d/replication.cnf
[mysqld]
server_id = 112
#
innodb_flush_log_at_trx_commit=1
sync_binlog = 1
#
#bind_address = 127.0.0.1
master_host = masterdb
master_user = otto
master_password = geheim
master_port = 3306
master_connect_retry = 60
report_host = slavedb


-----------------------------------------------------------------------------------
meine Master-CFG's


# cat /etc/mysql/conf.d/default.cnf
[mysqld]
pid_file = mysql.pid
log_bin = mysql-bin
relay_log = mysql-relay-bin



# cat /etc/mysql/conf.d/GLOBAL.cnf
[server]
sql-mode=""



# cat /etc/mysql/conf.d/Tuning.cnf
[mysqld]
key_buffer = 256M
table_cache = 512
max_connections = 900
connect_timeout = 10
tmp_table_size= 256M
max_heap_table_size = 256M
query_cache_limit = 256M
query_cache_size= 256M
query_cache_type= 1



# cat /etc/mysql/conf.d/replication.cnf
[mysqld]
server_id = 111
#
innodb_flush_log_at_trx_commit=1
sync_binlog = 1


-----------------------------------------------------------------------------------


# echo "SHOW MASTER STATUS;" | mysql -t -u root -pgeheim -h masterdb
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000012 | 695 | | |
+------------------+----------+--------------+------------------+



# echo "SHOW SLAVE STATUS \G;" | mysql -t -u root -pgeheim -h slavedb
*************************** 1. row ***************************
Slave_IO_State:
Master_Host: masterdb
Master_User: otto
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000010
Read_Master_Log_Pos: 352
Relay_Log_File: mysql-relay-bin.000001
Relay_Log_Pos: 4
Relay_Master_Log_File: mysql-bin.000010
Slave_IO_Running: No
Slave_SQL_Running: No
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 352
Relay_Log_Space: 106
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: NULL
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 1045
Last_IO_Error: error connecting to master 'otto@vdbswsi01:3306' - retry-time: 60 retries: 86400 message: Access denied for user 'otto'@'vdbswsi02.oqrm.victorvox.net' (using password: YES)
Last_SQL_Errno: 0
Last_SQL_Error:



Besonders Verwunderlich ist das, weil ich ja schon ein paar Rechner mit genau dieser Konfiguration laufen habe, bei denen alles prima funktioniert... :(


Wenn einer eine Idee hat, wäre ich sehr dankbar.
Danke!

der Rest ist von der Default-Installation unverändert.
Die DB ist praktisch noch "unbenutzt".

Yod@
02.03.11, 10:47
Ich hab den Fehler auf Grund von Hinweisen aus einem anderem Forum gefunden.

Neue MySQL- und MariaDB-Versionen scheren sich nicht mehr um die Replikationseinträge in den cnf-Dateien.
Hier muss man unter anderem das Passort für den Replikations-User
über die Kommandozeile übergeben, das wird dann gespeichert und
auch nach einem Neustart weiterverwendet...

Ich dachte, das spätestens nach einem Neustart alle CFG-Einträge greifen... Irrtum!

Gruß
Yoda