diff --git "a/16\350\260\242\347\277\240\350\220\215/07.04\342\200\224\342\200\224\345\270\270\350\247\201\347\232\204\351\224\231\350\257\257\345\210\206\347\261\273.md" "b/16\350\260\242\347\277\240\350\220\215/07.04\342\200\224\342\200\224\345\270\270\350\247\201\347\232\204\351\224\231\350\257\257\345\210\206\347\261\273.md" new file mode 100644 index 0000000000000000000000000000000000000000..ee74587413bb516d53bce7059aaa9a9f4be12ad7 --- /dev/null +++ "b/16\350\260\242\347\277\240\350\220\215/07.04\342\200\224\342\200\224\345\270\270\350\247\201\347\232\204\351\224\231\350\257\257\345\210\206\347\261\273.md" @@ -0,0 +1,37 @@ +# 常见的错误分类: + +1. syntax 语法问题 + +2. access denied 访问被拒绝 , + +3. Failed to ... start...启动失败。。。 + +4. ### Command not found(命令不存在) + +5. ### No such file or directory(没有这样的文件或目录) + +6. ### Permission denied(权限不足),权限被拒绝 deny 拒绝,allow允许 + +7. ### File exists(文件已存在) + +8. ### Invalid argument(无效参数) invalid无效 + +9. ### Service not found(服务未找到) Unit asdfasdf.service could not be found + +10. ### Unable to locate package(无法找到包) Unable不能够 + +11. Unknown 未知的 + +12. connect 连接 + + + +## 程序安装方式: + +1. apt 包管理工具,自由在线安装,自由安装需要的一些依赖包 + - apt包管理工具,软件源(菜单) +2. 手动下载的安装包,压缩包等,要自己安装依赖包 + - wget 链接 :直接下载到服务器 + - 先下到个人电脑,用scp上传到服务器 + - tar.gz... .deb 二进制的包装 .exe +3. 下载源代码,再编译安装 \ No newline at end of file diff --git "a/16\350\260\242\347\277\240\350\220\215/07.05\342\200\224\342\200\224mysql\346\225\260\346\215\256\347\232\204\350\277\230\345\216\237\345\222\214\345\244\207\344\273\275\343\200\201\350\277\234\347\250\213\347\231\273\345\275\225.md" "b/16\350\260\242\347\277\240\350\220\215/07.05\342\200\224\342\200\224mysql\346\225\260\346\215\256\347\232\204\350\277\230\345\216\237\345\222\214\345\244\207\344\273\275\343\200\201\350\277\234\347\250\213\347\231\273\345\275\225.md" new file mode 100644 index 0000000000000000000000000000000000000000..ff8ba4d7f24acd96dbb5471d6cf57da7bcdf753c --- /dev/null +++ "b/16\350\260\242\347\277\240\350\220\215/07.05\342\200\224\342\200\224mysql\346\225\260\346\215\256\347\232\204\350\277\230\345\216\237\345\222\214\345\244\207\344\273\275\343\200\201\350\277\234\347\250\213\347\231\273\345\275\225.md" @@ -0,0 +1,183 @@ +# 下载安装MySQL + +1. 使用[wget命令](https://linux265.com/course/linux-command-wget.html)下载最新的发行包 + + ```bash + wget https://repo.mysql.com/mysql-apt-config_0.8.30-1_all.deb + ``` + +2. 下载完成后,使用如下命令进行安装 + + ```bash + dpkg -i mysql-apt-config_0.8.30-1_all.deb + ``` + +3. 执行如上命令后,你会看到如下的MySQL 配置安装界,默认选择了 MySQL 8.0 + +### 安装MySQL + +我们将安装 MySQL 8.0 版, 通过按 Tab 键选择 “确定”,然后按 Enter 键 + +使用以下命令更新软件包,并安装MySQL + +```bash +udo apt update #更新 +apt install mysql-server #安装 +``` + +查看服务运行状态: + +```bash +systemctl status mysql +``` + +登录: + +```bash +mysql -u root -p +``` + +退出: \q + +用来修改用户密码: + +```bash +mysqladmin -u用户名 -p旧密码 password新密码 +``` + +​ + +# 数据的还原和备份 + +### 备份: + +1. 逻辑备份:默认情况下,即备份结构又备份数据 + + - mysqldump:单库备份,不会包含建库语句(所以恢复是要先指定数据库) + - 要么在恢复时,先指定数据库(这个数据库可以任意) + + ```bash + mysqldump -u root -p test2 > /tmp/test.sql + # 数据库名 备份文件路径 + ``` + +2. 指定多个库的备份,已经包含建库语句,所以恢复时不指定数据库 + + - --databases 库1 库2 … + + - ```bash + mysqldump -u root -p --databases > /tmp/test.sql + ``` + +3. 备份所有数据库: + + ```bash + mysqldump -u root -p --all-databases > /tmp/test.sql + ``` + +4. 备份多个表 + + ```bash + # mysqldump -u 用户名 -p 库名 表1 表2 … > 备份文件路径 + mysqldump -u root -p mysqldump_test student course > /tmp/test.sql + ``` + +5. 备份单个表 + + ```bash + # mysqldump -u 用户名 -p 库名 表名 … > 备份文件路径 + mysqldump -u root -p mysql_test student > /tmp/test.sql + ``` + +6. 只备份数据结构,但不备份数据 + + ```bash + mysqldump -u root -p --no-data mysql_test > /tmp/test.sql + ``` + +7. 只备份数据库,但不备份结构 + + ```bash + mysqldump -u root -p --no-create-info mysql_test > /tmp/test.sql + ``` + +8. 备份数据库,压缩输出 + + - ```bash + mysqldump -u root -p mysqldump_test | gzip > /tmp/test.sql.gz #先压缩再备份 + ``` + + - ```bash + gizp -d < /tmp/test.sql.gz | myslq -u root -p + # gzip -d = gunzip + ``` + + - ```bash + gunzip < /tmp/test.sql.gz | mysql -u root -p + ``` + + + + ### 还原(导入): + + 1. ```bash + # mysql -u root -p 数据库 < 要恢复的文件(前提是这个数据库要真实存在) + mysql -u root -p test2 < /tmp/test.sql + ``` + + 2. 登录mysql后,先选择要恢复的数据库,再用source要恢复的文件来恢复 + + ```bash + use test2 + source /tmp/test.sql + ``` + + + + ## 远程登录: + + 1. ### 该表法 + + ```bash + update user set host = '%' where user = 'root'; + + select host, user from user; # 查看 + ``` + + + + ### 修改端口: + + ```bash + ufw enable #开启防火墙 + ufw status #查看防火墙 + ufw allow 3307/tcp # 开启防火墙 + ``` + + + + ```bash + ss -tunl # 查看端口 + ``` + + 1. 修改文件 /etc/mysql/mysql.conf.d 在里面添加3307端口号 + + ``` + port=3307 + ``` + + + + 2. 修改完后重启 + + ```bash + systemctl restart mysql + ``` + + 3. 登录: + + ```bash + mysql -h 110.41.47.189 -u root -P 3307 -p + ``` + + \ No newline at end of file diff --git "a/16\350\260\242\347\277\240\350\220\215/07.06\342\200\224\342\200\224\350\277\234\347\250\213\347\231\273\345\275\225postgreSQL.md" "b/16\350\260\242\347\277\240\350\220\215/07.06\342\200\224\342\200\224\350\277\234\347\250\213\347\231\273\345\275\225postgreSQL.md" new file mode 100644 index 0000000000000000000000000000000000000000..b620e1c13762ff74a492a4cac17616ed9723a936 --- /dev/null +++ "b/16\350\260\242\347\277\240\350\220\215/07.06\342\200\224\342\200\224\350\277\234\347\250\213\347\231\273\345\275\225postgreSQL.md" @@ -0,0 +1,90 @@ +# 安装postgreSQL + +```bash +apt update +apt install postgresql -y +sudo -u postgres psql -c "SELECT version();" #验证postgreSQL版本 +``` + +# 配置远程登录 postgreSQL + +```bash +su postgres #切换到postgres用户 +psql #进入postgreSQL shell +ALTER USER postgres PASSWORD 'new_password'; #修改postgres的密码 new_password 自己设置的密码 +\password #设置密码 +\q #退出postgreSQL shell +psql -U postgres -W #验证登录 +``` + +```bash +#登录 +1. psql -U 用户名 -d 数据库名 + +2. su postgres #切换到postgres用户 + psql +``` + + + +### 配置远程访问: + +```bash +vim /etc/postgresql/你安装的版本号/main/postgresql.conf +#原代码:“#listen_addresses = 'localhost'” +#修改后:“listen_addresses = '*'” *表示任意主机 +vim /etc/postgresql/你安装的版本号/main/pg_hba.conf +#在文件末尾追加:“host all all 0.0.0.0/0 md5” + +``` + + + +```bash +\l # 列举数据库,相当于mysql的show databases +\c 表名 # 切换数据库,相当于mysql的use dbname +\dt # 列举表,相当于mysql的show tables +\d 表名 # 查看表结构,相当于desc tblname,show columns from tbname +\di #查看索引 +\copyright #显示 PostgreSQL 的使用和发行条款 +\encoding [字元编码名称] #显示或设定用户端字元编码 +\h [名称] # SQL 命令语法上的说明,用 * 显示全部命令 +\prompt [文本] 名称 # 提示用户设定内部变数 +\password [USERNAME] # 修改密码 +\password #设置密码 +\q # 退出 psql +``` + + + +```postgresql +创建数据库: +create database [数据库名]; +删除数据库: +drop database [数据库名]; +*重命名一个表: +alter table [表名A] rename to [表名B]; +*删除一个表: +drop table [表名]; + +*在已有的表里添加字段: +alter table [表名] add column [字段名] [类型]; +*删除表中的字段: +alter table [表名] drop column [字段名]; +*重命名一个字段: +alter table [表名] rename column [字段名A] to [字段名B]; +*给一个字段设置缺省值: +alter table [表名] alter column [字段名] set default [新的默认值]; +*去除缺省值: +alter table [表名] alter column [字段名] drop default; +在表中插入数据: +insert into 表名 ([字段名m],[字段名n],......) values ([列m的值],[列n的值],......); +修改表中的某行某列的数据: +update [表名] set [目标字段名]=[目标值] where [该行特征]; +删除表中某行数据: +delete from [表名] where [该行特征]; +delete from [表名];--删空整个表 +创建表: +create table ([字段名1] [类型1] ;,[字段名2] [类型2],......<,primary key (字段名m,字段名n,...)>;); +``` +