将Mysql查询结果直接发送邮件

由于工作需要,要做一个定时获取数据库一些内容,然后发送邮件通知用户的功能.功能采用mysql客户端的输出管道给sendEmail完成.越来越觉得linux强大…

mysql --default-character-set=utf8 -H -uDBUSE -pDBPASS -hDBHOST DBNAME -e "QUERYSQL"|sendEmail -f from@mail.com -t to@mail.com -s mail.mail.com -u "MAIL TITLE"  -o message-content-type=text/html -o message-charset=utf-8

MySQL Grails 乱码配置

1. 修改 /etc/mysql/my.cnf

mysql 5.5 以后,注意mysqld的配置,不是default-character-set 而是 character-set-server

[client]
default-character-set=utf8
 [mysqld]
character-set-server=utf8
 [mysql]
default-character-set=utf8

在相应位置添加如上内容

2.修改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/ |
+————————–+—————————-+

如果有哪个为latin1,设置为utf8,如:

SET character_set_server='utf8';

3.建数据库/表时

CREATE DATABASE MYDATABASENAME charset utf8;

4.配置:

url="jdbc:mysql://localhost:3306/testdb?useUnicode=true&characterEncoding=UTF-8"