一、如何在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
如在客戶端恢復數據,需要開放權限
?
恢復測試:
?