MySQL

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'
相關文章
相關標籤/搜索