mysql5

一,乱码问题

在sercurecrt的命令行操作数据库,select出来的中文数据都是乱码,sercurecrt的视图编码和系统用户的编码是一样的,都是utf8,所以用sercurecrt查看中文内容应该是不会乱码的。上网搜索,发现mysql5提供了以下几个个设置字符集的系统变量:

mysql> show variables like 'character_%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | latin1                     |
| character_set_connection | latin1                     |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | latin1                     |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |

其中

1,character_set_client    :客户端编码

2,character_set_connection:客户端与数据库连接编码

3, character_set_database  :数据库编码

4,character_set_results   :查询返回时使用的编码

问题出在character_set_results 是latin1。

解决办法:

sercurectr设置为默认编码(gbk)

查询前执行

mysql> set character_set_results=gbk;

---------------------------------

使用上述变量,要理解这个核心思想: character_set_client,character_set_connection这两个变量保证要与 character_set_database编码的一致,而 character_set_results则保证与SELECT返回的结果与程序的编码一致。我们可以在程序中使用 set names来同时设置character_set_client, character_set_connection, character_set_results这三个系统变量。

 

二,查看mysql进程

1,ps auxww|grep mysqld | grep -v grep

2,监听端口

netstat -anp | grep 3306

3,查看是否存在文件/tmp/mysql.sock

4,mysql客户端访问:/usr/local/mysql/bin/mysql

5,关闭mysql

a,正常关闭:/usr/local/mysql/bin/mysqladmin shutdown ,如果设置了密码,在加一个选项-p

b,强制关闭:killall -9 mysqld_safe:

killall -9 mysqld

 

6,发邮件

mail -s "mysql backup is success!" [email protected] < /data/databk/backuplog

 

7. 重置密码

mysqld --skip-grant-tables

 

 

你可能感兴趣的:(mysql)