This is easy to confirm that pt-* tools works differently than mysql command line client in this case:
[openxs@centos ~]$ pt-online-schema-change --alter "engine=InnoDB" --host=localhost --user=u1 --password=a,b D=test,t=t1
Cannot connect to MySQL: DBI connect('test;host=localhost;mysql_read_default_group=client','u1',...) failed: Access denied for user 'u1'@'localhost' (using password: YES) at /usr/bin/pt-online-schema-change line 2261
[openxs@centos ~]$ mysql --host=localhost --user=u1 --password=a,b -e "select version(), current_user()"
Warning: Using a password on the command line interface can be insecure.
+-------------+----------------+
| version() | current_user() |
+-------------+----------------+
| 5.6.19-67.0 | u1@localhost |
+-------------+----------------+
This is easy to confirm that pt-* tools works differently than mysql command line client in this case:
[openxs@centos ~]$ pt-online- schema- change --alter "engine=InnoDB" --host=localhost --user=u1 --password=a,b D=test,t=t1 'test;host= localhost; mysql_read_ default_ group=client' ,'u1',. ..) failed: Access denied for user 'u1'@'localhost' (using password: YES) at /usr/bin/ pt-online- schema- change line 2261
Cannot connect to MySQL: DBI connect(
[openxs@centos ~]$ mysql --host=localhost --user=u1 --password=a,b -e "select version(), current_user()" ------- +------ ------- ---+ ------- +------ ------- ---+ ------- +------ ------- ---+
Warning: Using a password on the command line interface can be insecure.
+------
| version() | current_user() |
+------
| 5.6.19-67.0 | u1@localhost |
+------
and manual (http:// www.percona. com/doc/ percona- toolkit/ 2.1/pt- online- schema- change. html#cmdoption- pt-online- schema- change- -password) says nothing about the need to escape comma explicitly. So, this must be either fixed in the tool(s) or clearly documented.