Ubuntu系统初始化

#!/bin/bash
#安装numix源
add-apt-repository ppa:numix/ppa -y
#安装java jdk
add-apt-repository ppa:webupd8team/java -y
#为知笔记
add-apt-repository ppa:wiznote-team -y
#percona软件
curl https://repo.percona.com/apt/percona-release_0.1-4.$(lsb_release -sc)_all.deb
dpkg -i percona-release_0.1-4.$(lsb_release -sc)_all.deb
#系统更新
apt update
apt dist-upgrade -y

#安装需要功能
apt install -y tasksel vym retext wireshark geany geany-plugins 
apt install -y filezilla unzip unrar p7zip-full
apt install -y fonts-droid-fallback fonts-dejavu* fonts-wqy-* fonts-arphic-uming
apt install -y vsftpd git apache2 php7.0
apt install -y dkms gdebi wiznote
apt install -y oracle-java8-installer oracle-java8-set-default

#美化
apt install -y numix-icon-theme numix-gtk-theme numix-folders numix-icon-theme-circle unity-tweak-tool

#编程所需
apt install -y build-essential gcc g++ automake make autoconf htop vim curl git wget lftp tasksel net-tools ctags
apt install -y python2.7 python2.7-dev python-pip
apt install -y python-easygui python-pygame python-tk python-pyqt5 
apt install -y python-nmap nmap python-numpy mycli
curl https://raw.githubusercontent.com/wklken/vim-for-server/master/vimrc > ~/.vimrc
pip install pip --upgrade

#配置中文化
apt install -y hunspell-en-za hunspell-en-ca hunspell-en-au
apt install -y language-pack-zh-hans libreoffice-help-zh-cn mythes-en-au fcitx-frontend-qt4 libreoffice-l10n-en-gb libreoffice-l10n-zh-cn  libreoffice-help-en-gb thunderbird-locale-en-gb thunderbird-locale-zh-hans libreoffice-l10n-en-za firefox-locale-zh-hans language-pack-gnome-zh-hans thunderbird-locale-zh-cn
apt install -y fcitx-ui-qimpanel fcitx-sunpinyin  fcitx-table-wubi   fcitx-frontend-qt5  hyphen-en-gb fcitx-ui-classic hunspell-en-gb fcitx-module-cloudpinyin fonts-arphic-ukai fcitx fcitx-frontend-gtk3 fcitx-frontend-gtk2  fcitx-pinyin fcitx-libs

#安装服务功能
tasksel install openssh-server
tasksel install basic-ubuntu-server

#安装数据库
MYSQL_PASSWORD=123456
echo "mysql-server-5.7 mysql-server/root_password password ${MYSQL_PASSWORD}
mysql-server-5.7 mysql-server/root_password seen true
mysql-server-5.7 mysql-server/root_password_again password ${MYSQL_PASSWORD}
mysql-server-5.7 mysql-server/root_password_again seen true
" | debconf-set-selections
DEBIAN_FRONTEND=noninteractive apt install -y --force-yes mysql-server

#配置httpd功能
tasksel install lamp-server
a2enmod deflate rewrite headers expires
apt install -y libapache2-mod-wsgi
service apache2 restart
#apt install -y phpmyadmin

#设置wireshark普通用户启动
chgrp wireshark /usr/bin/dumpcap
chmod 4755 /usr/bin/dumpcap
gpasswd -a $(whomai) wireshark

#虚拟化配置
tasksel install virt-host
apt -y install qemu-kvm libvirt-bin virtinst bridge-utils 
apt -y install libosinfo-bin libguestfs-tools virt-top 
modprobe vhost_net 
apt -y install virt-manager iotop 

#升级系统配置

ldconfig
updatedb
sync

#防火墙配置
ufw enable
service ufw start
ufw allow ssh
ufw allow http
ufw allow https
ufw allow ftp
ufw allow ftps
ufw reload
ufw status
sync
reboot

MySQL日志

MySQL日志是记录MySQL数据库的日常做早和错误信息的文件。MySQL中,日志可以分为二进制日志、错误日志和通用查询日志以及慢查询日志。

日志是MySQL数据库的重要组成部分。日志文件中记录着MySQL数据库运行期间发生的变化。当数据库遭到意外的损害时,可以通过日志文件来查询出错原因,并且可以通过日志文件进行数据恢复。

服务器日志

记录进程启动运行过程中的特殊时间,帮助分析MySQL服务遇到的问题
根据需求抓取特定的SQL语句,追踪性能可能存在的问题的业务SQL
1. 服务错误日志
记录实例启动运行过程中的重要消息
配置参数
如果MySQL无法启动,应当首先查询
2. 慢查询日志
记录执行时间超过一定阈值的SQL语句
3. 综合查询日志
用于分析系统可能存在的性能问题的SQL语句

事务日志

记录应用程序对数据的所有更改;
可用于数据恢复;
可用于实例间数据恢复
1. 存储引擎事务日志;
部分引擎拥有重做日志(redo log)
InnoDB有WAL(Write Ahead Log)机制存储引擎;
日志随着事务commit有限持久化,却表异常恢复不丢数据;
日志顺序写性能较好
2. 二进制日志

二进制日志

二进制日志也叫做变更日志(update log),主要用于记录数据库的变化情况。

启动和设置二进制日志

[ubuntu]
sujx@TC8304:~$ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
\\查找定位log_bin,取消字段前面的#号
server-id       = 1
log_bin         = /var/log/mysql/mysql-bin.log 
sujx@TC8304:~$ sudo service mysql restart
sujx@TC8304:/var/log/mysql$ ls
error.log    mysql-bin.000002  mysql-bin.index  mysql-bin.000001

查看二进制日志

sujx@TC8304:/var/log/mysql$ sudo mysqlbinlog mysql-bin.000001

删除二进制日志

mysql> reset master;

MySQL的备份与还原

备份数据是数据库管理中最常用的操作。为了保证数据库中的数据的安全,数据库管理员需要定期的进行数据库备份。一旦数据库遭到破坏,即通过备份的文件来还原数据库。

数据备份

使用mysqldump命令备份

使用mysqldump命令备份
sujx@TC8304:~$ mysqldump -u sujx -p sujx employee > backupemployee.sql

直接复制整个数据库的目录

适用于MyISAM存储引擎,不适用Innodb.

使用mysqlhotcopy工具快速备份

数据还原

sujx@TC8304:~$ mysql -usujx -p sujx <backupemployee.sql

数据库迁移

网易云课堂成绩

一个多月时间的里面,我参加网易云课堂的学习成绩单。

感觉这个信息统计不完全正确啊,明明所有作业、测验和考试都参加了。