Merge pull request #489 from github/checking-thresholds
Validating password length
This commit is contained in:
commit
3fc3446561
@ -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
|
||||||
|
@ -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 {
|
||||||
|
@ -17,6 +17,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const MaxTableNameLength = 64
|
const MaxTableNameLength = 64
|
||||||
|
const MaxReplicationPasswordLength = 32
|
||||||
|
|
||||||
type ReplicationLagResult struct {
|
type ReplicationLagResult struct {
|
||||||
Key InstanceKey
|
Key InstanceKey
|
||||||
|
7
localtests/fail-password-length/create.sql
Normal file
7
localtests/fail-password-length/create.sql
Normal 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;
|
1
localtests/fail-password-length/expect_failure
Normal file
1
localtests/fail-password-length/expect_failure
Normal file
@ -0,0 +1 @@
|
|||||||
|
MySQL replication length limited to 32 characters
|
1
localtests/fail-password-length/extra_args
Normal file
1
localtests/fail-password-length/extra_args
Normal file
@ -0,0 +1 @@
|
|||||||
|
--password="0123456789abcdefghij0123456789abcdefghijxx"
|
Loading…
Reference in New Issue
Block a user