一、如何在MySQL数据库中使用tab键补全功能
1.修改主配置文件/etc/my.cnf
vim /etc/my.cnf
[mysql]
#no-auto-rehash
auto-rehash
2.重启MySQL服务,登录测试
/etc/init.d/mysqld restart
mysql -uroot -p (可在数据库中使用tab键)
3.;临时支持tab键
mysql -uroot -p --auto-rehash
二、是MySQL数据库支持简题中文
1.临时支持简体中文
在数据库中编辑 charset utf8;
2.永久支持简题中文(yum方式安装的MySQL服务)
vim /etc/my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
/etc/init.d/mysqld restart
三、MySQL日志管理
1.错误日志
包含了当MySQL启动和停止时,以及服务器在运行过程中发生的任何错误时的相关信息,默认在安装目录/usr/local/mysql/data/下的“主机名。err”。
可在登陆时使用“--log-error=文件路径及文件名”的方式来指定MySQL保存错误日志的位置;或者修改住配置文件/etc/my.cnf,在【mysql】下方添加“log-error=文件路径及文件名”,重启mysql服务。
vim /etc/my.cnf
[mysqld]
log-error=mysql_error.log
/etc/init.d/mysqld restart
cat /usr/local/mysql/data/mysql_error.log
2.通用查询日志
MySQL所有连接和语句都将会被记录。默认关闭此项日志记录,一般作调试用,平时开启会记录大量数据占用磁盘空间。
可在登录时使用“--log=文件路径及文件名”或“-l 文件路径及文件名”选项指定;或修改主配置文件/etc/my.cnf,在【mysqld】下添加“log=ON”和“log=文件路径及文件名”,重启mysqld服务。
vim /etc/my.cnf
[mysqld]
log=ON
log=/usr/local/mysql/data/mysql_general.log (绝对路径可以省略,保证mysql对该目录具有写入权限!
tail -f /usr/local/mysql/data/mysql_general.log
mysql -uroot -p
show databases;
use auth;
show tables; (发现日志记录了所有执行过的命令)
3.二进制日志
包含了所有更新了的数据或者已经潜在更新了数据的所有语句,记录了数据的更改。主要目的是在恢复时能够最大可能的恢复数据库。默认是开启的,默认路径在/usr/local/mysql/data/下的,以“mysql-bin”开头的二进制日志。
可在登录时使用“--log-bin=文件路径及文件名前缀”选项指定;或修改主配置文件/etc/my.cnf中【mysqld】下的“log-bin=文件路径及文件名”修改存放路径。
可用mysqlbinlog命令查看二进制日志文件。
vim /etc/my.cnf
[mysqld]
log-bin=mysql-bin
cd /usr/local/mysql/data/
mysqlbinlog --no-defaults mysql-bin.000001
4.慢速查询日志
vim /etc/my.cnf
[mysqld]
long_query_time=5
log-slow-queries=mysql_slow.log
/etc/init.d/mysqld restart
ll /usr/local/mysql/data/mysql_slow.log
四、数据乱码的解决方法
1.MySQL数据乱码的可能原因
1)服务器系统字符设置问题
2)数据表与设置问题
3)客户端连接语系的问题
2.解决方法
1)在创建数据库时设定
格式:create database 库名 character set 'utf8' collate 'utf8_general_ci';
2)在创建表示设定字符集
格式:create table 表名 (字段 格式) default charset=utf8;
3)使用set names 设置默认字符集
格式:set names utf8; 或 charset utf8;
4)永久修改,修改主配置文件在【mysql】字段中加入:detault_character_set=utf8;
注意是mysql,不是mysqld,否则启动时报错!!!
修改配置文件记得重启!
五、MySQL数据库备份脚本
实验要求:对mysql-server的auth库和client库,实现异地备份,每天凌晨2:00进行备份,撰写一个数据恢复脚本。
MySQL服务端授权,给予select和locktables权限,以备份
客户端安装客户端软件
· 连接测试
撰写客户端备份脚本
改变系统时间,执行任务计划,模拟每天的备份,为之后的恢复脚本做准备
撰写数据恢复脚本
vim /opt/restore_mysql.sh
chmod +x /opt/restore_mysql.sh
如在客户端恢复数据,需要开放权限
恢复测试: