diff --git "a/29\351\203\221\347\216\211\347\216\262/19(\351\230\277\345\270\225\345\245\207\346\234\215\345\212\241\345\231\250\345\256\211\350\243\205).md" "b/29\351\203\221\347\216\211\347\216\262/19(\351\230\277\345\270\225\345\245\207\346\234\215\345\212\241\345\231\250\345\256\211\350\243\205).md" new file mode 100644 index 0000000000000000000000000000000000000000..da48adc2888bb576d12cbe57db37b9865cc1b6c6 --- /dev/null +++ "b/29\351\203\221\347\216\211\347\216\262/19(\351\230\277\345\270\225\345\245\207\346\234\215\345\212\241\345\231\250\345\256\211\350\243\205).md" @@ -0,0 +1,47 @@ +# 阿帕奇服务器安装 + +1、使用apt命令安装apache2软件包 + +```bash +sudo apt update +sudo apt install apache2 +``` + +2、安装完成后,查看apache服务状态 + +```bash +sudo systemctl status apache2 +``` + +若状态启动失败,则可能是阿帕奇端口被占用 + +```bash +netstat -tuln //查看当前系统上哪些进程正在使用Apache所需的端口(通常是80或443端口) +sudo fuser -k 80/tcp //终止占用80端口的进程 +``` + +或是修改阿帕奇的相关端口 + +```bash +sudo vim /etc/apache2/ports.conf +将Listen 80改为8080 +``` + +3、将自己的网站文件放置在Apache的默认网站目录 `/var/www/html` 中 + +4、配置防火墙以允许HTTP流量通过 + +```bash +sudo ufw allow 'Apache' +``` + +5、在浏览器输入服务器的ip地址可以看见Apache的默认欢迎页面 + +6、如果想配置虚拟主机或其他高级功能,可以编辑Apache的配置文件进行定制 + +```bash +sudo nano /etc/apache2/apache2.conf +``` + +7、重新启动apache服务器使更改生效 + diff --git "a/29\351\203\221\347\216\211\347\216\262/20(Mysql\347\232\204\345\244\207\344\273\275\345\222\214\350\277\230\345\216\237).md" "b/29\351\203\221\347\216\211\347\216\262/20(Mysql\347\232\204\345\244\207\344\273\275\345\222\214\350\277\230\345\216\237).md" new file mode 100644 index 0000000000000000000000000000000000000000..cc4bfe357e0bd1e2268bfef03e15e0f15abb4023 --- /dev/null +++ "b/29\351\203\221\347\216\211\347\216\262/20(Mysql\347\232\204\345\244\207\344\273\275\345\222\214\350\277\230\345\216\237).md" @@ -0,0 +1,98 @@ +Mysql的备份和还原 + +备份 + +- mysql备份的几种方式 + - 冷备:mysql服务关闭,读写请求均不被允许的状态下进行 + - 温备:mysql服务可开启,但只允许读请求 + - 热备:备份的同时可进行读写 +- 备份范围 + - 完全备份:备份全部字符集 + - 增量备份:前提是一次完全备份,每天更新增加的部分 + - 差异备份:前提也是完全备份,更新有变化的数据 +- 备份的几种方式 + - 物理备份:直接备份数据库文件 + - 操作简单,但不一定可用,需要测试 + - 逻辑备份:备份表中的数据和代码 + - 恢复简单,备份结果可编辑,备份和恢复都需要mysql服务器进程参与,精度易丢失 + +- 备份和恢复的实现代码 + + ```mysql + use hellodb + select * from student + select * from where Age > 30 into outfile '/路径/' + ``` + +- 利用mysqldump(常用来做温备)工具对数据进行备份和还原(逻辑备份) + + - 单库备份,不会包含建库语句,所以恢复时要先指定数据库 + - 在恢复时先制定好数据库(这个数据可任意) + - 要么添加建库语句 + + ```mysql + mysqldump -u root -p 数据库名 > 要保存的路径 ##备份整个数据库,linux语句 + ``` + + - 多库备份,已经包含建库语句,所以恢复时不用指定数据库 + - database 库1 库2 + + ```mysql + mysqldump -u root -p --database test2 test3 > /tmp/test.sql + ``` + + - 备份所有数据库 + + ```mysql + mysqldump -u root -p --all-database > /tmp/test.sql + ``` + + - 备份单个表 + + ```mysql + # mysqldump -u 用户名 -p 库名 表名 > /tmp/test.sql + mysqldump -u root -p mysql_test student > /tmp/test.sql + ``` + + - 备份多个表 + + ```mysql + # mysqldump -u 用户名 -p 库名 表名1 表2.. > 备份的文件路径 + mysqldump -u root -p mysql_test studnet course> /tmp/student.sql + ``` + + - 只备份数据库结构,但不备份数据 + + ```mysql + mysqldump -u root -p --no-data mysql_test > /tmp/student.sql + ``` + + - 只备份数据,但不备份结构 + + ```mysql + mysqldump -u root -p --no-create-info mysql_test > /tmp/student.sql + ``` + + - 备份数据库,压缩输出 + + ```mysql + mysqldump -u root -p mysql_test | gzip > /tmp/test.sql.gz #先压缩再备份 + gzip -d < /tmp/test.sql.gz | mysql -u root -p #gzip -d =gunzip + gunzip < /tmp/test.sql.gz |mysql -u root -p + ``` + + + +还原:利用备份文件还原 + +- mysql -u root -p 数据库 < 要恢复的文件 (前提是这个数据库名要真实存在) +- 登录mysql后,先选择要恢复的数据库(use 数据库),用source恢复 source /路径/文件 + +```mysql +##语法: +##插入语句 insert into 表名 (字段名) values ('xx'),('xx') +##查看有哪些表 show tables +##查看有哪些数据库 show databases +## drop database +``` + diff --git "a/29\351\203\221\347\216\211\347\216\262/21(postgresql\344\275\277\347\224\250\350\257\264\346\230\216).md" "b/29\351\203\221\347\216\211\347\216\262/21(postgresql\344\275\277\347\224\250\350\257\264\346\230\216).md" new file mode 100644 index 0000000000000000000000000000000000000000..ec55f06bf01189f22b1775a56ed27ab281b7f88a --- /dev/null +++ "b/29\351\203\221\347\216\211\347\216\262/21(postgresql\344\275\277\347\224\250\350\257\264\346\230\216).md" @@ -0,0 +1,63 @@ +# postgresql使用说明 + +Debian版本的postgresql安装 + +```bash +1、sudo apt install -y postgresql-common +2、sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh +3、apt update +4、apt install postgresql +##如果只走了前两步就不能用,要先卸载 +1、apt --purge remove postgresql +2、apt autoremove postgre* +3、find / -name postgre* -exec rm -rf{}\ +``` + +查看状态 + +```bash +systemctl status postgre* +``` + +登录使用 + +```bash +su postgre +psql +``` + +postgresql语法 + +```bash +##有关库的命令 +create database 数据库名称 ##创建数据库 +drop database 数据库名称 ##删除数据库 +\c 数据库名称 ##切换到其他数据库 +\l ==show databases; ##列举数据库 +##有关表的命令 +CREATE TABLE users ( + id SERIAL PRIMARY KEY, + name VARCHAR(50) NOT NULL +); + ##创建表 +drop tables 表名 ##删除表 +insert into 表名 (字段名) values ('数据') +select * from 表名 ##查询表中数据 +update 表名 set name = '要更新的数据' where name = '原数据' ##更新数据 +delete from 表名 where name = '数据' ##删除数据 +\dt \desc table ==show tables ##列举表 +\d 表名 ##查看表结构 +\di 查看索引 +alter table [表名A] rename to [表名B] ##重命名一个表 + +``` + +navicat用法 + +```bash +##在pgdata中添加host all all 0.0.0.0/0 md5 +##在postgresql.conf中修改以下内容并取消注释 listen_addresses = ‘*’ +##设置远程连接的密码 \password +##防火墙和安全组开放5432端口,试着改端口 +``` +