Skip to content

Thoughts on vttablet required credentials and configuration #2876

Open
@sjmudd

Description

When setting up vttablet for the first time a new user is quite overwhelmed with the number of startup options. One of them is simply about which credentials are needed and how to provide them. Also how the connection to mysqld is expected to take place.

Probably a section in the docs should say:

  • the list of user types that are required, and their required grants (you have this in one of the init files but it's easy to not find it)
  • the configuration parameters required to talk with these users to mysql in vtgate:

e.g.

...
        -db-config-allprivs-charset $CHARSET \
        -db-config-allprivs-dbname $KEYSPACE \
        -db-config-allprivs-uname $ALLPRIVS_USER \
        -db-config-allprivs-unixsocket $SOCKET \
        -db-config-app-charset $CHARSET \
        -db-config-app-dbname $KEYSPACE \
        -db-config-app-uname  $APP_USER \
        -db-config-app-unixsocket $SOCKET \
        -db-config-dba-charset $CHARSET \
        -db-config-dba-dbname $KEYSPACE \
        -db-config-dba-uname $DBA_USER \
        -db-config-dba-unixsocket $SOCKET \
        -db-config-filtered-charset $CHARSET \
        -db-config-filtered-dbname $KEYSPACE \
        -db-config-filtered-uname $FILTERED_USER \
        -db-config-filtered-unixsocket $SOCKET \
        -db-config-repl-charset $CHARSET \
        -db-config-repl-dbname $KEYSPACE \
        -db-config-repl-uname $LEGACY_REPL_USER \
        -db-config-repl-flags $REPL_FLAGS \
        -db-credentials-file $CREDENTIALS_FILE \
        -db-credentials-server file \
...

include in the same place an example of the credentials file.

I noticed that -enable_replication_reporter is needed to make the tablet "serve" and if this information is not available then the tablet will not be usable for serving traffic (or that's what it seems to me).

This option is good to temporarily get some log output to watch

       -alsologtostderr \

-tablet_path was not clear. There seems to be a need to reference a tablet by keyspace and UID, the latter being a unique identifier and this needs to be in a specific format, something like <keyspace>-<uid> with UID being that numeric value. This doesn't seem well explained but once seen or described it's easy to set this value to something that works.

For someone setting this up for the first time I think help putting this information in one place would be very good.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions