--base64-output[=name] Determine when the output statements should be base64-encoded BINLOG statements: 'never' disables it and works only for binlogs without row-based events; 'decode-rows' decodes row events into commented SQL statements if the --verbose option is also given; 'auto' prints base64 only when necessary (i.e., for row-based events and format description events); 'always' prints base64 whenever possible. 'always' is for debugging only and should not be used in a production system. If this argument is not given, the default is 'auto'; if it is given with no argument, 'always' is used. --character-sets-dir=name Directory for character set files. -d, --database=name List entries for just this database (local log only). --debug-check Check memory and open file usage at exit . --debug-info Print some debug info at exit. -D, --disable-log-bin Disable binary log. This is useful, if you enabled --to-last-log and are sending the output to the same MySQL server. This way you could avoid an endless loop. You would also like to use it when restoring after a crash to avoid duplication of the statements you already have. NOTE: you will need a SUPER privilege to use this option. -F, --force-if-open Force if binlog was not closed properly. -f, --force-read Force reading unknown binlog events. -H, --hexdump Augment output with hexadecimal and ASCII event dump. -h, --host=name Get the binlog from server. -l, --local-load=name Prepare local temporary files for LOAD DATA INFILE in the specified directory. -o, --offset=# Skip the first N entries. -p, --password[=name] Password to connect to remote server. -P, --port=# Port number to use for connection or 0 for default to, in order of preference, my.cnf, $MYSQL_TCP_PORT, /etc/services, built-in default (3306). --position=# Deprecated. Use --start-position instead. --protocol=name The protocol to use for connection (tcp, socket, pipe, memory). -R, --read-from-remote-server Read binary logs from a MySQL server. -r, --result-file=name Direct output to a given file. --server-id=# Extract only binlog entries created by the server having the given id. --set-charset=name Add 'SET NAMES character_set' to the output. -s, --short-form Just show regular queries: no extra info and no row-based events. This is for testing only, and should not be used in production systems. If you want to suppress base64-output, consider using --base64-output=never instead. -S, --socket=name The socket file to use for connection. --start-datetime=name Start reading the binlog at first event having a datetime equal or posterior to the argument; the argument must be a date and time in the local time zone, in any format accepted by the MySQL server for DATETIME and TIMESTAMP types, for example: 2004-12-25 11:25:56 (you should probably use quotes for your shell to set it properly). -j, --start-position=# Start reading the binlog at position N. Applies to the first binlog passed on the command line. --stop-datetime=name Stop reading the binlog at first event having a datetime equal or posterior to the argument; the argument must be a date and time in the local time zone, in any format accepted by the MySQL server for DATETIME and TIMESTAMP types, for example: 2004-12-25 11:25:56 (you should probably use quotes for your shell to set it properly). --stop-position=# Stop reading the binlog at position N. Applies to the last binlog passed on the command line. -t, --to-last-log Requires -R. Will not stop at the end of the requested binlog but rather continue printing until the end of the last binlog of the MySQL server. If you send the output to the same MySQL server, that may lead to an endless loop. -u, --user=name Connect to the remote server as username. -v, --verbose Reconstruct SQL statements out of row events. -v -v adds comments on column data types. -V, --version Print version and exit. --open_files_limit=# Used to reserve file descriptors for use by this program.
用户登陆mysql时,mysql会对连接的用户进行身份验证,并对通过验证的用户赋予对应的权限 mysql权限主要存在于user db host tables_priv columns_priv 表中当用户访问mysql时,其所属权限的加载顺序为:user--->db--->tables_priv--->columns_priv如果user中INSERT权限设置为Y,则用户拥有全局的INSERT权限若user中INSERT权限设置为N,mysql会通过db表查询用是否拥有某个数据库的INSERT权限,若db中INSERT权限为N,mysql或通过tables_priv表查询用户是否拥有某个表的插入权限, 创建用户,并分配权限: grant select on *.* to root@localhost identified by 'password' with grant option;回收用户权限 revoke select on *.* from root@localhost;向用户授予数据库test的car_info表的索引权限 grant INDEX on test.car_info to cyberton_admin@localhost;查看用户权限 show grants for cyberton_admin@localhost;修改用户密码 grant usage on *.* TO 'cyberton_admin'@'localhost' IDENTIFIED BY '123456789';或update user set password = password('123456') where user = 'cyberton_admin';flush privileges;或 SET PASSWORD FOR cyberton_admin@localhost = PASSWORD('123456');删除用户 drop user cyberton_admin@localhost;或回收用户权限
mysql安全问题
严格控制操作系统账号和权限避免以root权限运行防止DNS欺骗 user表中host字段尽量使用IP地址,而不是域名删除匿名账号(密码为空字符)只授予账号必须的权限除root外,任何用户不应有user表的存取权限REVOKE命令漏洞 当用户被多次授予权限时,通过revoke all privileges 并不能回收权限,需要分别回收了解my.cnf下和安全相关的一些参数,safe-user-create