Merge pull request #489 from github/checking-thresholds

Validating password length
This commit is contained in:
Shlomi Noach 2017-09-06 15:36:46 +03:00 committed by GitHub
commit 3fc3446561
6 changed files with 14 additions and 1 deletions

View File

@ -200,7 +200,7 @@ func (this *Applier) CreateChangelogTable() error {
id bigint auto_increment, id bigint auto_increment,
last_update timestamp not null DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, last_update timestamp not null DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
hint varchar(64) charset ascii not null, hint varchar(64) charset ascii not null,
value varchar(255) charset ascii not null, value varchar(4096) charset ascii not null,
primary key(id), primary key(id),
unique key hint_uidx(hint) unique key hint_uidx(hint)
) auto_increment=256 ) auto_increment=256

View File

@ -192,6 +192,9 @@ func (this *Inspector) inspectOriginalAndGhostTables() (err error) {
// validateConnection issues a simple can-connect to MySQL // validateConnection issues a simple can-connect to MySQL
func (this *Inspector) validateConnection() error { func (this *Inspector) validateConnection() error {
if len(this.connectionConfig.Password) > mysql.MaxReplicationPasswordLength {
return fmt.Errorf("MySQL replication length limited to 32 characters. See https://dev.mysql.com/doc/refman/5.7/en/assigning-passwords.html")
}
query := `select @@global.port, @@global.version` query := `select @@global.port, @@global.version`
var port int var port int
if err := this.db.QueryRow(query).Scan(&port, &this.migrationContext.InspectorMySQLVersion); err != nil { if err := this.db.QueryRow(query).Scan(&port, &this.migrationContext.InspectorMySQLVersion); err != nil {

View File

@ -17,6 +17,7 @@ import (
) )
const MaxTableNameLength = 64 const MaxTableNameLength = 64
const MaxReplicationPasswordLength = 32
type ReplicationLagResult struct { type ReplicationLagResult struct {
Key InstanceKey Key InstanceKey

View File

@ -0,0 +1,7 @@
drop table if exists gh_ost_test;
create table gh_ost_test (
id int auto_increment,
i int not null,
ts timestamp,
primary key(id)
) auto_increment=1;

View File

@ -0,0 +1 @@
MySQL replication length limited to 32 characters

View File

@ -0,0 +1 @@
--password="0123456789abcdefghij0123456789abcdefghijxx"