Home | 简体中文 | 繁体中文 | 杂文 | 打赏(Donations) | OSChina 博客 | Facebook | Linkedin | 知乎专栏 | Search | About

第 2 章 Client and Utility Programs

目录

2.1. mysql - the MySQL command-line tool
2.1.1. ~/.my.cnf
2.1.2. 屏幕输出到文件
2.1.3. 终端编码
2.1.4. Unix Socket
2.1.5. 重定向巧用
2.1.6. --sigint-ignore 忽略 Ctrl + C
2.2. mysqldump - a database backup program
2.2.1. 备份数据库,无结构,只有数据
2.2.2. 备份数据库结构(不备份数据)
2.2.3. 使用完整的insert插入数据
2.2.4. --extended-insert / --skip-extended-insert
2.2.5. --skip-lock-tables
2.2.6. --skip-add-locks
2.2.7. --where
2.2.8. 注释信息--comments /--skip-comments
2.3. mysqladmin - client for administering a MySQL server
2.3.1. reload
2.3.2. 更改密码
2.3.3. status
2.3.4. process list
2.4. myisamchk — MyISAM Table-Maintenance Utility
2.5. mysqlcheck — A Table Maintenance and Repair Program
2.6. mysqlslap - load emulation client
2.7. mysqldumpslow - Parse and summarize the MySQL slow query log.
2.8. mysql log

2.1. mysql - the MySQL command-line tool

2.1.1. ~/.my.cnf

# mysql_secure_installation config file
[mysql]

[mysqld]

[client]
user=root
password='chen'

[mysqldump]
quick

[mysqladmin]

[mysqlhotcopy]
			

2.1.2. 屏幕输出到文件

			
mysql>tee /home/neo/screen.txt
mysql>select * from member;
mysql>exit
			
			

2.1.3. 终端编码

mysql> show variables like 'char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
			

设置终端编码 set names utf8;

mysql> select * from category;
+----+------+-------------+--------+-----------+-----------+
| id | name | description | status | parent_id | path      |
+----+------+-------------+--------+-----------+-----------+
|  1 | ??   | ???????     | Y      |      NULL | 1/        |
|  4 | ???  | ???         | Y      |         1 | 1/4       |
|  5 | ???  | NULL        | Y      |         4 | 1/4/5     |
|  6 | ???  | NULL        | Y      |         5 | 1/4/5/6   |
|  7 | ???  | NULL        | Y      |         6 | 1/4/5/6/7 |
+----+------+-------------+--------+-----------+-----------+
5 rows in set (0.00 sec)

mysql> set names utf8;
Query OK, 0 rows affected (0.00 sec)

mysql> select * from category;
+----+-----------+-----------------------+--------+-----------+-----------+
| id | name      | description           | status | parent_id | path      |
+----+-----------+-----------------------+--------+-----------+-----------+
|  1 | 中国    | 中华人民共和家                                    | Y      |      NULL | 1/        |
|  4 | 广东省 | 广东省                                                      | Y      |         1 | 1/4       |
|  5 | 深圳市 | NULL                      | Y      |         4 | 1/4/5     |
|  6 | 宝安区 | NULL                      | Y      |         5 | 1/4/5/6   |
|  7 | 龙华镇 | NULL                      | Y      |         6 | 1/4/5/6/7 |
+----+-----------+-----------------------+--------+-----------+-----------+
5 rows in set (0.00 sec)

			

2.1.4. Unix Socket

mysql -uroot -p -S /tmp/mysql.sock
			

2.1.5. 重定向巧用

			
echo "show databases;" | mysql -uroot -pneo

cat |mysql -uroot -pneo << EOF
show databases;
EOF
			
			

2.1.6. --sigint-ignore 忽略 Ctrl + C

使用该选项方式用户中途通过 Ctrl + C 推出,只能通过 quit 退出

$ mysql --sigint-ignore
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 71
Server version: 5.5.32-0ubuntu0.13.04.1 (Ubuntu)

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> quit
Bye