MySQL編碼html
1、關閉、啓動mysql
Mac:http://www.javashuo.com/article/p-ugejfguz-kz.htmlsql
2、MySQL版本 數據庫
$ mysql -V $ mysql --help | grep Distrib mysql> status; mysql> select version();
3、配置文件位置api
mysqld --help --verbose|grep -A1 -B1 cnf
4、用戶及權限管理服務器
建立用戶ide
CREATE USER 'username'@'host' IDENTIFIED BY 'password'; create user 'gaoying'@'localhost' identified by 'gaoying';
刪除用戶性能
DROP USER 'username'@'host';
受權ui
GRANT privileges ON databasename.tablename TO 'username'@'host' grant all privileges on *.* to 'gaoying'@'localhost';
取消權限 編碼
REVOKE privilege ON databasename.tablename FROM 'username'@'host'; revoke insert on *.* from 'gaoying'@'localhost'; flush privileges;
查看mysql中存在的用戶
select user,host from mysql.user;
查看用戶的受權
show grants for 'root'@'localhost';
5、導入、導出
導入打開終端輸入:(前提是已經配置過MySQL環境變量)
mysql -u root -p create database name; use name; source 『將.sql文件直接拖拽至終端,自動補全其文件目錄』
導出:
mysqldump -uroot -proot --databases db1 --tables a1 --where='id=1' >/tmp/a1.sql
只導出表結構不導出數據,--no-data
mysqldump -uroot -proot --no-data --databases db1 >/tmp/db1.sql
跨服務器導出導入數據
mysqldump --host=h1 -uroot -proot --databases db1 |mysql --host=h2 -uroot -proot db2
將h1服務器中的db1數據庫的全部數據導入到h2中的db2數據庫中,db2的數據庫必須存在不然會報錯
mysqldump --host=192.168.80.137 -uroot -proot -C --databases test |mysql --host=192.168.80.133 -uroot -proot test
加上-C參數能夠啓用壓縮傳遞。
壓縮備份
mysqldump -uroot -p -P3306 -q -Q --set-gtid-purged=OFF --default-character-set=utf8 --hex-blob --skip-lock-tables --databases abc 2>/abc.err |gzip >/abc.sql.gz
還原
gunzip -c abc.sql.gz |mysql -uroot -p -vvv -P3306 --default-character-set=utf8 abc 1> abc.log 2>abc.err
備註: 線上環境導出和導入數據能夠參考「14.壓縮備份」的導出和導入參數。
http://www.javashuo.com/article/p-scsjpdrr-ma.html
6、日誌(錯誤日誌、查詢日誌、慢查詢日誌、事務日誌、二進制日誌)
SQL查詢日誌變量
SHOW GLOBAL VARIABLES LIKE '%log%';
+-----------------------------------------+---------------------------------------------------------+ | Variable_name | Value | +-----------------------------------------+---------------------------------------------------------+ | back_log | 80 | | binlog_cache_size | 32768 | | binlog_checksum | CRC32 | | binlog_direct_non_transactional_updates | OFF | | binlog_error_action | ABORT_SERVER | | binlog_format | ROW | | binlog_group_commit_sync_delay | 0 | | binlog_group_commit_sync_no_delay_count | 0 | | binlog_gtid_simple_recovery | ON | | binlog_max_flush_queue_time | 0 | | binlog_order_commits | ON | | binlog_row_image | FULL | | binlog_rows_query_log_events | OFF | | binlog_stmt_cache_size | 32768 | | expire_logs_days | 0 | | general_log | OFF |定義查詢日誌是否開啓 | general_log_file | /usr/local/mysql/data/gaoyingdeMacBook-Pro.log |定義查詢日誌的文件地址名稱 | innodb_api_enable_binlog | OFF | | innodb_flush_log_at_timeout | 1 |在事務提交時innodb是否同步日誌從緩衝到文件中1表示事務以提交就同步不提交每隔一秒同步一次,性能會不好形成大量的磁盤I/O;定義爲2表示只有在事務提交時纔會同步可是可能會丟失整個事務 | innodb_flush_log_at_trx_commit | 1 | | innodb_locks_unsafe_for_binlog | OFF | | innodb_log_buffer_size | 16777216 | | innodb_log_checksums | ON | | innodb_log_compressed_pages | ON | | innodb_log_file_size | 50331648 | | innodb_log_files_in_group | 2 |至少有兩個 | innodb_log_group_home_dir | ./ |定義innodb事務日誌組的位置 | innodb_log_write_ahead_size | 8192 | | innodb_max_undo_log_size | 1073741824 | | innodb_online_alter_log_max_size | 134217728 | | innodb_undo_log_truncate | OFF | | innodb_undo_logs | 128 | | log_bin | ON | | log_bin_basename | /usr/local/mysql/data/mysql-bin | | log_bin_index | /usr/local/mysql/data/mysql-bin.index | | log_bin_trust_function_creators | OFF | | log_bin_use_v1_row_events | OFF | | log_builtin_as_identified_by_password | OFF | | log_error | /usr/local/mysql/data/mysqld.local.err |定義錯誤日誌 | log_error_verbosity | 3 | | log_output | FILE |日誌的輸出的位置 | log_queries_not_using_indexes | OFF | | log_slave_updates | OFF | | log_slow_admin_statements | OFF | | log_slow_slave_statements | OFF | | log_statements_unsafe_for_binlog | ON | | log_syslog | OFF | | log_syslog_facility | daemon | | log_syslog_include_pid | ON | | log_syslog_tag | | | log_throttle_queries_not_using_indexes | 0 | | log_timestamps | UTC | | log_warnings | 2 |是否把警告信息寫入錯誤日誌中 | max_binlog_cache_size | 18446744073709547520 | | max_binlog_size | 1073741824 | | max_binlog_stmt_cache_size | 18446744073709547520 | | max_relay_log_size | 0 | | relay_log | | | relay_log_basename | | | relay_log_index | | | relay_log_info_file | relay-log.info | | relay_log_info_repository | FILE | | relay_log_purge | ON | | relay_log_recovery | OFF | | relay_log_space_limit | 0 | | slow_query_log | OFF |定義慢查詢日誌的 | slow_query_log_file | /usr/local/mysql/data/gaoyingdeMacBook-Pro-slow.log |輸出方式爲file(文件)時定義慢查詢日誌的位置 | sql_log_off | OFF | | sync_binlog | 1 | | sync_relay_log | 10000 | | sync_relay_log_info | 10000 | +-----------------------------------------+---------------------------------------------------------+
http://blog.51cto.com/pangge/1319304
7、SQL_MOD
show variables like "sql_mode"; 查看MySQL配置文件加載順序 mysqld --help --verbose|grep -A1 -B1 cnf 查看當前mysqld啓動時的加載文件 ps ax | grep '[m]ysqld'