首页
关于我们
友链链接
壁纸下载
更多
统计中心
热点搜索
图床上传
推荐
剩余价值
磁链清理
IP定位
Search
1
[Win DD包] wes7-x86-cn-精简,安装后仅占用1.55G存储空间
25,789 阅读
2
v2rayN基础使用教程、配置说明、添加订阅、路由选择
17,651 阅读
3
鸿蒙Next也能科学上网?Clash Meta for harmorny next os
9,673 阅读
4
保姆级教程!甲骨文ARM DD成Debian10并升级内核成5.10
6,412 阅读
5
纯血鸿蒙系统如何安装电报、推特、Tiktok和油管APP
6,177 阅读
Linux学堂
网站建设
网络资源
主题插件
固件工具
主机评测
MV频道
登录
Search
标签搜索
vps
typecho
linux
bench
mysql
cloudflare
nginx
lnmp
ssl
empirecms
openwrt
google
centos
docker
qbittorrent
telegram
n1
301
free
onedrive
V+变量
累计撰写
295
篇文章
累计收到
239
条评论
首页
栏目
Linux学堂
网站建设
网络资源
主题插件
固件工具
主机评测
MV频道
页面
关于我们
友链链接
壁纸下载
统计中心
热点搜索
图床上传
推荐
剩余价值
磁链清理
IP定位
搜索到
295
篇与
的结果
2025-03-21
让Mysql数据备份变得简单,巧用mysqldump数据导入导出功能
一 前言在日常维护工作当中经常会需要对数据进行导出操作,而mysqldump是导出数据过程中使用非常频繁的一个工具;它自带的功能参数非常多,文章中会列举出一些常用的操作,在文章末尾会将所有的参数详细说明列出来。二 语法默认不带参数的导出,导出文本内容大概如下:创建数据库判断语句-删除表-创建表-锁表-禁用索引-插入数据-启用索引-解锁表。Usage: mysqldump [OPTIONS] database [tables]OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]OR mysqldump [OPTIONS] --all-databases [OPTIONS]插入测试数据复制代码CREATE DATABASE db1 DEFAULT CHARSET utf8;USE db1;CREATE TABLE a1(id int);insert into a1() values(1),(2);CREATE TABLE a2(id int);insert into a2() values(2);CREATE TABLE a3(id int);insert into a3() values(3);CREATE DATABASE db2 DEFAULT CHARSET utf8;USE db2;CREATE TABLE b1(id int);insert into b1() values(1);CREATE TABLE b2(id int);insert into b2() values(2);复制代码三 实操教程1.导出所有数据库该命令会导出包括系统数据库在内的所有数据库mysqldump -uroot -proot --all-databases >/tmp/all.sql2.导出db1、db2两个数据库的所有数据mysqldump -uroot -proot --databases db1 db2 >/tmp/user.sql3.导出db1中的a1、a2表注意导出指定表只能针对一个数据库进行导出,且导出的内容中和导出数据库也不一样,导出指定表的导出文本中没有创建数据库的判断语句,只有删除表-创建表-导入数据mysqldump -uroot -proot --databases db1 --tables a1 a2 >/tmp/db1.sql4.条件导出,导出db1表a1中id=1的数据如果多个表的条件相同可以一次性导出多个表字段是整形mysqldump -uroot -proot --databases db1 --tables a1 --where='id=1' >/tmp/a1.sql字段是字符串,并且导出的sql中不包含drop table,create tablemysqldump -uroot -proot --no-create-info --databases db1 --tables a1 --where="id='a'" >/tmp/a1.sql5.生成新的binlog文件,-F有时候会希望导出数据之后生成一个新的binlog文件,只需要加上-F参数即可mysqldump -uroot -proot --databases db1 -F >/tmp/db1.sql6.只导出表结构不导出数据,--no-datamysqldump -uroot -proot --no-data --databases db1 >/tmp/db1.sql7.跨服务器导出导入数据mysqldump --host=h1 -uroot -proot --databases db1 |mysql --host=h2 -uroot -proot db2将h1服务器中的db1数据库的所有数据导入到h2中的db2数据库中,db2的数据库必须存在否则会报错mysqldump --host=192.168.80.137 -uroot -proot -C --databases test |mysql --host=192.168.80.133 -uroot -proot test 加上-C参数可以启用压缩传递。8.将主库的binlog位置和文件名追加到导出数据的文件中,--dump-slave注意:--dump-slave命令如果当前服务器是从服务器那么使用该命令会执行stop slave来获取master binlog的文件和位置,等备份完后会自动执行start slave启动从服务器。但是如果是大的数据量备份会给从和主的延时变的更大,使用--dump-slave获取到的只是当前的从服务器的数据执行到的主的binglog的位置是(relay_mater_log_file,exec_master_log_pos),而不是主服务器当前的binlog执行的位置,主要是取决于主从的数据延时。该参数在在从服务器上执行,相当于执行show slave status。当设置为1时,将会以CHANGE MASTER命令输出到数据文件;设置为2时,会在change前加上注释。该选项将会打开--lock-all-tables,除非--single-transaction被指定。在执行完后会自动关闭--lock-tables选项。--dump-slave默认是1mysqldump -uroot -proot --dump-slave=1 --databases db1 >/tmp/db1.sqlmysqldump -uroot -proot --dump-slave=2 --database db1 >/tmp/db1.sql9.将当前服务器的binlog的位置和文件名追加到输出文件,--master-data该参数和--dump-slave方法一样,只是它是记录的是当前服务器的binlog,相当于执行show master status,状态(file,position)的值。注意:--master-data不会停止当前服务器的主从服务10.--opt等同于--add-drop-table, --add-locks, --create-options, --quick, --extended-insert, --lock-tables, --set-charset, --disable-keys 该选项默认开启, 可以用--skip-opt禁用.mysqldump -uroot -p --host=localhost --all-databases --opt11.保证导出的一致性状态--single-transaction该选项在导出数据之前提交一个BEGIN SQL语句,BEGIN 不会阻塞任何应用程序且能保证导出时数据库的一致性状态。它只适用于多版本存储引擎(它不显示加锁通过判断版本来对比数据),仅InnoDB。本选项和--lock-tables 选项是互斥的,因为LOCK TABLES 会使任何挂起的事务隐含提交。要想导出大表的话,应结合使用--quick 选项。--quick, -q不缓冲查询,直接导出到标准输出。默认为打开状态,使用--skip-quick取消该选项。12.--lock-tables, -l开始导出前,锁定所有表。用READ LOCAL锁定表以允许MyISAM表并行插入。对于支持事务的表例如InnoDB和BDB,--single-transaction是一个更好的选择,因为它根本不需要锁定表。请注意当导出多个数据库时,--lock-tables分别为每个数据库锁定表。因此,该选项不能保证导出文件中的表在数据库之间的逻辑一致性。不同数据库表的导出状态可以完全不同。13.导出存储过程和自定义函数--routines, -Rmysqldump -uroot -p --host=localhost --all-databases --routines14.压缩备份压缩备份mysqldump -uroot -p -P3306 -q -Q --set-gtid-purged=OFF --default-character-set=utf8 --hex-blob --skip-lock-tables --databases abc 2>/abc.err |gzip >/abc.sql.gz还原gunzip -c abc.sql.gz |mysql -uroot -p -vvv -P3306 --default-character-set=utf8 abc 1> abc.log 2>abc.err备注: 线上环境导出和导入数据可以参考“14.压缩备份”的导出和导入参数。15 其它常用选项:复制代码--no-create-db, ---取消创建数据库sql(默认存在)--no-create-info,---取消创建表sql(默认存在)--no-data ---不导出数据(默认导出)--add-drop-database ---增加删除数据库sql(默认不存在)--skip-add-drop-table ---取消每个数据表创建之前添加drop数据表语句(默认每个表之前存在drop语句)--skip-add-locks ---取消在每个表导出之前增加LOCK TABLES(默认存在锁)--skip-comments ---注释信息(默认存在)复制代码四 参数说明:复制代码--all-databases , -A导出全部数据库。mysqldump -uroot -p --all-databases--all-tablespaces , -Y导出全部表空间。mysqldump -uroot -p --all-databases --all-tablespaces--no-tablespaces , -y不导出任何表空间信息。mysqldump -uroot -p --all-databases --no-tablespaces--add-drop-database每个数据库创建之前添加drop数据库语句。mysqldump -uroot -p --all-databases --add-drop-database--add-drop-table每个数据表创建之前添加drop数据表语句。(默认为打开状态,使用--skip-add-drop-table取消选项)mysqldump -uroot -p --all-databases (默认添加drop语句)mysqldump -uroot -p --all-databases –skip-add-drop-table (取消drop语句)--add-locks在每个表导出之前增加LOCK TABLES并且之后UNLOCK TABLE。(默认为打开状态,使用--skip-add-locks取消选项)mysqldump -uroot -p --all-databases (默认添加LOCK语句)mysqldump -uroot -p --all-databases –skip-add-locks (取消LOCK语句)--allow-keywords允许创建是关键词的列名字。这由表名前缀于每个列名做到。mysqldump -uroot -p --all-databases --allow-keywords--apply-slave-statements在'CHANGE MASTER'前添加'STOP SLAVE',并且在导出的最后添加'START SLAVE'。mysqldump -uroot -p --all-databases --apply-slave-statements--character-sets-dir字符集文件的目录mysqldump -uroot -p --all-databases --character-sets-dir=/usr/local/mysql/share/mysql/charsets--comments附加注释信息。默认为打开,可以用--skip-comments取消mysqldump -uroot -p --all-databases (默认记录注释)mysqldump -uroot -p --all-databases --skip-comments (取消注释)--compatible导出的数据将和其它数据库或旧版本的MySQL 相兼容。值可以为ansi、mysql323、mysql40、postgresql、oracle、mssql、db2、maxdb、no_key_options、no_tables_options、no_field_options等,要使用几个值,用逗号将它们隔开。它并不保证能完全兼容,而是尽量兼容。mysqldump -uroot -p --all-databases --compatible=ansi--compact导出更少的输出信息(用于调试)。去掉注释和头尾等结构。可以使用选项:--skip-add-drop-table --skip-add-locks --skip-comments --skip-disable-keysmysqldump -uroot -p --all-databases --compact--complete-insert, -c使用完整的insert语句(包含列名称)。这么做能提高插入效率,但是可能会受到max_allowed_packet参数的影响而导致插入失败。mysqldump -uroot -p --all-databases --complete-insert--compress, -C在客户端和服务器之间启用压缩传递所有信息mysqldump -uroot -p --all-databases --compress--create-options, -a在CREATE TABLE语句中包括所有MySQL特性选项。(默认为打开状态)mysqldump -uroot -p --all-databases--databases, -B导出几个数据库。参数后面所有名字参量都被看作数据库名。mysqldump -uroot -p --databases test mysql--debug输出debug信息,用于调试。默认值为:d:t,/tmp/mysqldump.tracemysqldump -uroot -p --all-databases --debugmysqldump -uroot -p --all-databases --debug=” d:t,/tmp/debug.trace”--debug-check检查内存和打开文件使用说明并退出。mysqldump -uroot -p --all-databases --debug-check--debug-info输出调试信息并退出mysqldump -uroot -p --all-databases --debug-info--default-character-set设置默认字符集,默认值为utf8mysqldump -uroot -p --all-databases --default-character-set=utf8--delayed-insert采用延时插入方式(INSERT DELAYED)导出数据mysqldump -uroot -p --all-databases --delayed-insert--delete-master-logsmaster备份后删除日志. 这个参数将自动激活--master-data。mysqldump -uroot -p --all-databases --delete-master-logs--disable-keys对于每个表,用/!40000 ALTER TABLE tbl_name DISABLE KEYS /;和/!40000 ALTER TABLE tbl_name ENABLE KEYS /;语句引用INSERT语句。这样可以更快地导入dump出来的文件,因为它是在插入所有行后创建索引的。该选项只适合MyISAM表,默认为打开状态。mysqldump -uroot -p --all-databases --dump-slave该选项将主的binlog位置和文件名追加到导出数据的文件中(show slave status)。设置为1时,将会以CHANGE MASTER命令输出到数据文件;设置为2时,会在change前加上注释。该选项将会打开--lock-all-tables,除非--single-transaction被指定。该选项会自动关闭--lock-tables选项。默认值为0。mysqldump -uroot -p --all-databases --dump-slave=1mysqldump -uroot -p --all-databases --dump-slave=2--master-data该选项将当前服务器的binlog的位置和文件名追加到输出文件中(show master status)。如果为1,将会输出CHANGE MASTER 命令;如果为2,输出的CHANGE MASTER命令前添加注释信息。该选项将打开--lock-all-tables 选项,除非--single-transaction也被指定(在这种情况下,全局读锁在开始导出时获得很短的时间;其他内容参考下面的--single-transaction选项)。该选项自动关闭--lock-tables选项。mysqldump -uroot -p --host=localhost --all-databases --master-data=1;mysqldump -uroot -p --host=localhost --all-databases --master-data=2;--events, -E导出事件。mysqldump -uroot -p --all-databases --events--extended-insert, -e使用具有多个VALUES列的INSERT语法。这样使导出文件更小,并加速导入时的速度。默认为打开状态,使用--skip-extended-insert取消选项。mysqldump -uroot -p --all-databasesmysqldump -uroot -p --all-databases--skip-extended-insert (取消选项)--fields-terminated-by导出文件中忽略给定字段。与--tab选项一起使用,不能用于--databases和--all-databases选项mysqldump -uroot -p test test --tab=”/home/mysql” --fields-terminated-by=”#”--fields-enclosed-by输出文件中的各个字段用给定字符包裹。与--tab选项一起使用,不能用于--databases和--all-databases选项mysqldump -uroot -p test test --tab=”/home/mysql” --fields-enclosed-by=”#”--fields-optionally-enclosed-by输出文件中的各个字段用给定字符选择性包裹。与--tab选项一起使用,不能用于--databases和--all-databases选项mysqldump -uroot -p test test --tab=”/home/mysql” --fields-enclosed-by=”#” --fields-optionally-enclosed-by =”#”--fields-escaped-by输出文件中的各个字段忽略给定字符。与--tab选项一起使用,不能用于--databases和--all-databases选项mysqldump -uroot -p mysql user --tab=”/home/mysql” --fields-escaped-by=”#”--flush-logs开始导出之前刷新日志。请注意:假如一次导出多个数据库(使用选项--databases或者--all-databases),将会逐个数据库刷新日志。除使用--lock-all-tables或者--master-data外。在这种情况下,日志将会被刷新一次,相应的所以表同时被锁定。因此,如果打算同时导出和刷新日志应该使用--lock-all-tables 或者--master-data 和--flush-logs。mysqldump -uroot -p --all-databases --flush-logs--flush-privileges在导出mysql数据库之后,发出一条FLUSH PRIVILEGES 语句。为了正确恢复,该选项应该用于导出mysql数据库和依赖mysql数据库数据的任何时候。mysqldump -uroot -p --all-databases --flush-privileges--force在导出过程中忽略出现的SQL错误。mysqldump -uroot -p --all-databases --force--help显示帮助信息并退出。mysqldump --help--hex-blob使用十六进制格式导出二进制字符串字段。如果有二进制数据就必须使用该选项。影响到的字段类型有BINARY、VARBINARY、BLOB。mysqldump -uroot -p --all-databases --hex-blob--host, -h需要导出的主机信息mysqldump -uroot -p --host=localhost --all-databases--ignore-table不导出指定表。指定忽略多个表时,需要重复多次,每次一个表。每个表必须同时指定数据库和表名。例如:--ignore-table=database.table1 --ignore-table=database.table2 ……mysqldump -uroot -p --host=localhost --all-databases --ignore-table=mysql.user--include-master-host-port在--dump-slave产生的'CHANGE MASTER TO..'语句中增加'MASTER_HOST=,MASTER_PORT=' mysqldump -uroot -p --host=localhost --all-databases --include-master-host-port--insert-ignore在插入行时使用INSERT IGNORE语句.mysqldump -uroot -p --host=localhost --all-databases --insert-ignore--lines-terminated-by输出文件的每行用给定字符串划分。与--tab选项一起使用,不能用于--databases和--all-databases选项。mysqldump -uroot -p --host=localhost test test --tab=”/tmp/mysql” --lines-terminated-by=”##”--lock-all-tables, -x提交请求锁定所有数据库中的所有表,以保证数据的一致性。这是一个全局读锁,并且自动关闭--single-transaction 和--lock-tables 选项。mysqldump -uroot -p --host=localhost --all-databases --lock-all-tables--lock-tables, -l开始导出前,锁定所有表。用READ LOCAL锁定表以允许MyISAM表并行插入。对于支持事务的表例如InnoDB和BDB,--single-transaction是一个更好的选择,因为它根本不需要锁定表。请注意当导出多个数据库时,--lock-tables分别为每个数据库锁定表。因此,该选项不能保证导出文件中的表在数据库之间的逻辑一致性。不同数据库表的导出状态可以完全不同。mysqldump -uroot -p --host=localhost --all-databases --lock-tables--log-error附加警告和错误信息到给定文件mysqldump -uroot -p --host=localhost --all-databases --log-error=/tmp/mysqldump_error_log.err--max_allowed_packet服务器发送和接受的最大包长度。mysqldump -uroot -p --host=localhost --all-databases --max_allowed_packet=10240--net_buffer_lengthTCP/IP和socket连接的缓存大小。mysqldump -uroot -p --host=localhost --all-databases --net_buffer_length=1024--no-autocommit使用autocommit/commit 语句包裹表。mysqldump -uroot -p --host=localhost --all-databases --no-autocommit--no-create-db, -n只导出数据,而不添加CREATE DATABASE 语句。mysqldump -uroot -p --host=localhost --all-databases --no-create-db--no-create-info, -t只导出数据,而不添加CREATE TABLE 语句。mysqldump -uroot -p --host=localhost --all-databases --no-create-info--no-data, -d不导出任何数据,只导出数据库表结构。mysqldump -uroot -p --host=localhost --all-databases --no-data--no-set-names, -N等同于--skip-set-charsetmysqldump -uroot -p --host=localhost --all-databases --no-set-names--opt等同于--add-drop-table, --add-locks, --create-options, --quick, --extended-insert, --lock-tables, --set-charset, --disable-keys 该选项默认开启, 可以用--skip-opt禁用.mysqldump -uroot -p --host=localhost --all-databases --opt--order-by-primary如果存在主键,或者第一个唯一键,对每个表的记录进行排序。在导出MyISAM表到InnoDB表时有效,但会使得导出工作花费很长时间。 mysqldump -uroot -p --host=localhost --all-databases --order-by-primary--password, -p连接数据库密码--pipe(windows系统可用)使用命名管道连接mysqlmysqldump -uroot -p --host=localhost --all-databases --pipe--port, -P连接数据库端口号--protocol使用的连接协议,包括:tcp, socket, pipe, memory.mysqldump -uroot -p --host=localhost --all-databases --protocol=tcp--quick, -q不缓冲查询,直接导出到标准输出。默认为打开状态,使用--skip-quick取消该选项。mysqldump -uroot -p --host=localhost --all-databases mysqldump -uroot -p --host=localhost --all-databases --skip-quick--quote-names,-Q使用(`)引起表和列名。默认为打开状态,使用--skip-quote-names取消该选项。mysqldump -uroot -p --host=localhost --all-databasesmysqldump -uroot -p --host=localhost --all-databases --skip-quote-names--replace使用REPLACE INTO 取代INSERT INTO.mysqldump -uroot -p --host=localhost --all-databases --replace--result-file, -r直接输出到指定文件中。该选项应该用在使用回车换行对(\r\n)换行的系统上(例如:DOS,Windows)。该选项确保只有一行被使用。mysqldump -uroot -p --host=localhost --all-databases --result-file=/tmp/mysqldump_result_file.txt--routines, -R导出存储过程以及自定义函数。mysqldump -uroot -p --host=localhost --all-databases --routines--set-charset添加'SET NAMES default_character_set'到输出文件。默认为打开状态,使用--skip-set-charset关闭选项。mysqldump -uroot -p --host=localhost --all-databases mysqldump -uroot -p --host=localhost --all-databases --skip-set-charset--single-transaction该选项在导出数据之前提交一个BEGIN SQL语句,BEGIN 不会阻塞任何应用程序且能保证导出时数据库的一致性状态。它只适用于多版本存储引擎,仅InnoDB。本选项和--lock-tables 选项是互斥的,因为LOCK TABLES 会使任何挂起的事务隐含提交。要想导出大表的话,应结合使用--quick 选项。mysqldump -uroot -p --host=localhost --all-databases --single-transaction--dump-date将导出时间添加到输出文件中。默认为打开状态,使用--skip-dump-date关闭选项。mysqldump -uroot -p --host=localhost --all-databasesmysqldump -uroot -p --host=localhost --all-databases --skip-dump-date--skip-opt禁用–opt选项.mysqldump -uroot -p --host=localhost --all-databases --skip-opt--socket,-S指定连接mysql的socket文件位置,默认路径/tmp/mysql.sockmysqldump -uroot -p --host=localhost --all-databases --socket=/tmp/mysqld.sock--tab,-T为每个表在给定路径创建tab分割的文本文件。注意:仅仅用于mysqldump和mysqld服务器运行在相同机器上。注意使用--tab不能指定--databases参数mysqldump -uroot -p --host=localhost test test --tab="/home/mysql"--tables覆盖--databases (-B)参数,指定需要导出的表名,在后面的版本会使用table取代tables。mysqldump -uroot -p --host=localhost --databases test --tables test--triggers导出触发器。该选项默认启用,用--skip-triggers禁用它。mysqldump -uroot -p --host=localhost --all-databases --triggers--tz-utc在导出顶部设置时区TIME_ZONE='+00:00' ,以保证在不同时区导出的TIMESTAMP 数据或者数据被移动其他时区时的正确性。mysqldump -uroot -p --host=localhost --all-databases --tz-utc--user, -u指定连接的用户名。--verbose, --v输出多种平台信息。--version, -V输出mysqldump版本信息并退出--where, -w只转储给定的WHERE条件选择的记录。请注意如果条件包含命令解释符专用空格或字符,一定要将条件引用起来。mysqldump -uroot -p --host=localhost --all-databases --where=” user=’root’”--xml, -X导出XML格式.mysqldump -uroot -p --host=localhost --all-databases --xml--plugin_dir客户端插件的目录,用于兼容不同的插件版本。mysqldump -uroot -p --host=localhost --all-databases --plugin_dir=”/usr/local/lib/plugin”--default_auth客户端插件默认使用权限。mysqldump -uroot -p --host=localhost --all-databases --default-auth=”/usr/local/lib/plugin/”复制代码五 错误处理1.unknown option '--no-beep'第一种方法:删除my.ini[client]下的 no-beep 参数;第二种方法:在 mysqldump 后加--no-defaults参数 。六 总结文章中列举了一些常用的导出操作,还有很多其它的参数也会经常用到,包括“--add-drop-database”,“--apply-slave-statements”,“--triggers”等。客户端的导入导出功能也是不错的选择,比如workbench、navicat;其中navicat的导出向导中可以有很多文件格式可以选择。--tab的快速导出导入数据是个不错的方法,它会在指定的目录下生成一个sql表结构文件和一个text数据文件
2025年03月21日
143 阅读
0 评论
0 点赞
2025-03-21
避免小硬盘VPS硬盘爆盘——清除Linux系统中的垃圾的一些常用命令
一 前言针对一些硬盘比较小的VPS,特别是用来富强的VPS一般硬盘会比较小,或者由于程序长期运行产生的垃圾文件太多而导致硬盘爆满,这个时候就需要清除下linux的一些垃圾文件了。二 删除垃圾文件的常用命令1. 清理临时文件可以使用tmpwatch命令来清理系统中的临时文件。该命令会删除超过指定时间的临时文件。例如,清理3天前的临时文件可以使用以下命令:tmpwatch 3d /tmp2. 删除无用的日志文件可以使用logrotate命令来管理系统日志文件。该命令可以定期压缩和删除过时的日志文件。配置文件通常位于/etc/logrotate.d/目录下。你可以编辑对应的配置文件,根据需要设置日志文件的压缩和删除策略。3. 清除应用程序缓存用程序产生的缓存文件占用系统空间。可以使用以下命令清理应用程序的缓存:sudo apt-get clean # Ubuntu/Debian sudo yum clean all # Red Hat/CentOS sudo dnf clean all # Fedora4.删除不再需要的软件包已经安装的软件包占用了系统空间。你可以通过以下命令删除不再需要的软件包:sudo apt-get autoremove # Ubuntu/Debian sudo yum autoremove # Red Hat/CentOS sudo dnf autoremove # Fedora5. 清理回收站回收站中的文件也会占用磁盘空间。你可以使用以下命令清空回收站:rm -rf ~/.local/share/Trash/*6. 删除旧版本内核更新内核时,旧版本的内核文件可能会占用很大的空间。你可以使用以下命令删除旧版本的内核文件:sudo apt-get purge linux-image-x.x.x-x-generic # Ubuntu/Debian sudo yum remove kernel.x.x.x.x # Red Hat/CentOS sudo dnf remove kernel.x.x.x.x # Fedora7 其他命令清理Linux系统中的垃圾文件和不必要的数据可以帮助释放磁盘空间并提高系统性能。下面是一些常用的Linux命令来清除垃圾文件:1. apt autoremove对于使用Debian或Ubuntu系统的用户,可以使用该命令来卸载不再需要的软件包及其相关的依赖项。这样可以释放磁盘空间。2. apt clean该命令会清除软件包缓存目录(/var/cache/apt/archives/)中的所有已下载的.deb文件。这些文件是安装软件时下载的,但实际上不再需要了。3. apt autoclean与apt clean类似,但它只会删除旧版本的.deb文件,保留最新版本的文件。4. du -sh /path/to/directory该命令用于查看特定目录的磁盘使用情况。可以用来确定哪些目录占用了大量的磁盘空间,然后再决定是否删除其中的垃圾文件。5. find /path/to/directory -type f -mtime +30 -delete该命令可以删除指定目录中超过30天未被访问或修改的所有文件。可以根据需要修改数字30来选择合适的时间段。6. journalctl –vacuum-size=100M该命令用于清除系统日志文件,可以释放磁盘空间。上述命令将保留最新的100MB日志文件,并且删除旧的日志文件。7. rm -rf ~/.cache/*这会删除用户的缓存目录中所有的文件,包括浏览器缓存、临时文件和其他应用程序的缓存文件。除了以上的命令,还可以安装一些第三方工具来清除Linux系统中的垃圾文件,例如:BleachBit、Stacer等等。请注意,在执行清理垃圾的命令之前,请仔细检查要删除的文件和软件包,确保不要误删重要文件。
2025年03月21日
164 阅读
0 评论
0 点赞
2025-03-21
便宜大厂不限流量VPS-手把手教你Scaleway 1c1g开机(0.21-0.24欧)图文版教程
一 前言2025 最新 Scaleway星辰 法国FR/荷兰NL/波兰PL 1C1G3G 至高100Mbps速率 无限入站流量 IPv6(Only) IPv4(Cloudflare WARP) €0.21/M 每年不到20CNY!! VPS小鸡 缩小硬盘 密码登录 重装Debian系统 CLI无视库存开机教程。任何面板操作均可能导致 0.01 欧的扣款,且工单不可退.要求验证银行卡账单上对应的验证码,操作复杂,需要有一定动手能力要求。首月创建因为面板操作花销会多一点,后续会根据磁盘大小收费,3G 0.21欧/月,4G 0.24欧/月。建议选择4g的,只差0.03o,避免后续使用的时候硬盘爆掉。二 图文教程1 前期准备官网:https://www.scaleway.com/en/访问官网并创建账号,创建过程会要求输入地址和支付信息。地址可以瞎填,会扣款 1 欧用于验证支付信息(后续会退还),银行卡会生成一次账单,后续该账单会用于进一步验证。2 创建 SSH Key以用于后续登录,官网教程,也可使用 Termius 创建并添加教程与官网类似生成SSH登录密钥并上传(必须,重要!!确保你在创建机器后能 SSH 连接上管理小鸡)官方提供的教程(推荐)How to generate an SSH key.楼主是 Windows 电脑,使用的 PuTTYgen 工具生成的 Ed25519 SSH key。实测 Termius 也能方便快捷地生成密钥(路径:顶部菜单 Vaults>侧边栏 Keychain>二级菜单 KEY 右侧 >Generate Key>Key type 自选>Generate & Save)生成密钥后,点击右上角头像,选择 SSH Keys>Add SSH key,然后根据界面提示上传密钥。至此,你应该成功在你的账号名下添加了SSH登录密钥。仅在DD系统中途需要SSH密钥,本教程提供的方案最后无需密钥,只需密码即可登录SSH。如您需要保留密钥登录功能请您自行保存好此密钥,并自行修改步骤。注意 : 开机有两种方式,任选GUI或CLI即可。法国地区大概率只能使用CLI开机。3 GUI开机1)左上角,选择 create-instance,在 PARIS 1、AMSTERDAM 1、WARSAW 2 这三个地区选择 Learning,并选择 STARDUST1-S注意:一般只有荷兰和波兰这两个地区有资源,想要开法国请采用 CLI 开机线路上说法国和荷兰(也就是前两个更好),性能上波兰更好(最后一个),具体请搜站内评测。2)系统自己决定(最后都会变成debian),名字和标签也无所谓3) 来到 Add volumes,将其改为 Local4)网络部分去掉勾选 IPv45)SSH 部分一般已经默认勾选了之前创建 SSH,如果没有检查之前的 SSH 操作6)最后来到预估花销,选择 month,就能看到如果使用GUI开机,那么基本上就结束了,直接去到安全组部分继续。4 CLI 开机看到右上角 CLI,输入以下命令可对应开各地区的机器,电脑端无法右键或 Ctrl+V 粘贴,使用 Ctrl+Shift+V 粘贴,正常创建以后,会出现服务器信息法国scw instance server create zone=fr-par-1 root-volume=local:10GB name=fr type=STARDUST1-S ipv6=true ip=none荷兰scw instance server create zone=nl-ams-1 root-volume=local:10GB name=nl type=STARDUST1-S ipv6=true ip=none波兰scw instance server create zone=pl-waw-2 root-volume=local:10GB name=pl type=STARDUST1-S ipv6=true ip=none创建成功后点击左侧 Instance,点击 Attach flexible IP,并选择 IPv65 安全组设置选择 Instance 的 Security 选项,点击你刚刚创建的那个机器对应的选项,添加规则允许所有进出(IPv4、v6 均添加)最终效果应该如下6 降低配置1)来到你刚刚创建的机器的管理页面,关机2)选择 Attacched volumes,并解绑硬盘3)返回 Instance,选择 Volumes 删除 10G 的硬盘4)再回到机器管理页面选择 Attacched volumes选择 create,并先将硬盘大小改至 5GB,选择 Local 后,再改至 4GB(debian12 至少需要4G),然后 Add(如果你需要安装其他系统,请参照其他教程,本教程仅提供debian,但是整体方法差不多,可以参照修改)注意:如果安装debian11使用3GB即可,但是debian11疑似存在网络配置问题,解决方法请参照感谢标题下的第一个帖子,或者也可以通过CLI创建一个 4GB的用于debian12也可以。5) 来到 Advanced settings,选择救援系统启动,保存后开机,开机时间可能非常长,请耐心等等,开机以后在你本地使用之前创建的 key 登录,账号为 root6) 连接完成后,请执行如下命令四条任选其一即可,不建议 debian 11,疑似存在网络配置的问题。# Debian 12: curl -Lo- "https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-nocloud-amd64.raw" | dd of=/dev/vda bs=1M # Debian 12: curl -Lo- "https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-nocloud-amd64.tar.xz" | tar -xJO | dd of=/dev/vda bs=1M # Debian 11: curl -Lo- "https://cloud.debian.org/images/cloud/bullseye/latest/debian-11-nocloud-amd64.raw" | dd of=/dev/vda bs=1M # Debian 11: curl -Lo- "https://cloud.debian.org/images/cloud/bullseye/latest/debian-11-nocloud-amd64.tar.xz" | tar -xJO | dd of=/dev/vda bs=1M7) 确定对应磁盘,一般都是 vda,如果确认是 vda 继续操作磁盘确认:lsblk重装系统:parted -l partprobe parted -s /dev/vda resizepart 1 100% e2fsck -f /dev/vda1 resize2fs /dev/vda1注意:这里会比较复杂,会先提示 sda,sda 直接跳过即可,然后提示 Warning: Not all of the space available to /dev/vda appears to be used, you can fix the GPT to use all of the space or continue with the current setting? 选择 f 修复8) 回到实例管理面板并关机,再来到 Advanced settings,Boot mode 选择 local 并保存, Boot volume 选择 4GB 并保存(选择 later),启动机器9) 来到 Overview,点击 Console,进入 VNC,等到出现登录界面,输入 root 回车即可登录10) 更新软件包,安装必备软件apt update -y && apt upgrade -y apt install openssh-server sudo curl wget nano11)设置允许密码登录nano /etc/ssh/sshd_config找个合适的位置输入(或者你在文件里面找到修改也行)PermitRootLogin yesctrl+o 回车,ctrl+s 回车即可保存。12)设置密码passwd根据提示设置完成后,重启 SSH 服务systemctl restart ssh然后就可以在本地使用 root + 密码正常登录了7添加Warp IPv4出口项目地址:https://gitlab.com/fscarmen/warp本地登陆以后,使用以下命令添加warp 4的出口wget -N https://gitlab.com/fscarmen/warp/-/raw/main/menu.sh && bash menu.sh然后2,1一直回车就行8 装Argo实现科学上网直接用fscarmen大佬的argo+xray一键安装脚本即可。这样我们就有1台无线流量的富强VPS,而每个月只需要花费0.24欧元。bash <(wget -qO- https://raw.githubusercontent.com/fscarmen/argox/main/argox.sh)
2025年03月21日
206 阅读
0 评论
0 点赞
2025-03-21
Aiven提供适用于国外的5GB的免费Mysql大容量数据库申请
前言Aiven的免费计划提供多种数据库选择,服务器在加州,配置为1C1G5G,足够多数网站使用了,适合在国外的网站使用,国内连接可能存在不稳定的情况。澳大利亚开源云数据平台 Aiven 宣布了其开源数据库服务 Aiven for PostgreSQL、Aiven for MySQL 和 Aiven for Redis 的免费计划。通过新推出的社区论坛获得技术支持的任何人都可以使用这些免费计划。关于免费MYsql服务,之前本站有过介绍:1.学习测试可用的免费的mysql云数据库,可以远程连接2.白嫖mysql云数据库——来自中国大陆的免费的在线MySQL云数据库SqlpubAiven 是做什么的?Aiven 使得建立云数据库变得如此简单,以至于任何人都可以做到。Aiven的一键式解决方案消除了云数据基础设施的烦恼。一切都在一处:您所需的所有云提供商和工具都集中在一处。完全托管:在 10 分钟内创建功能齐全、完全托管的数据基础架构。保持控制:使用强大的开源服务控制您的数据。完成工作所需的一切:Aiven 的一体化云数据平台结合了所有连接到您使用的数据服务所需的工具,支持所有主要的云服务提供商。申请及使用教程1 打开官网https://www.aiven.io2 选择注册方式并完成注册3 填写数据库名称4 登录后台获取最终的mysql信息
2025年03月21日
206 阅读
0 评论
0 点赞
2025-03-21
学习测试可用的免费的mysql云数据库,可以远程连接
前言本站之前介绍过Sqlpub提供的免费数据库:白嫖mysql云数据库——来自中国大陆的免费的在线MySQL云数据库Sqlpub。关于Sqlpub提供的免费数据库的主要信息如下:是中国境内基于阿里云杭州的MySQL数据库,当前数据库版本为:MySQL 8.4.3 ,你甚至可以申请开发版(开发版每年需要9.9元,已经很便宜了)。作为难得的国内免费MySQL数据库,sqlpub最大支持36000次/小时的请求、同时30个连接和500M存储空间,这个容量和连接已经足够一般的小站使用了。在学习数据库的时候,是不是感觉烦于没有云数据库可以学习远程连接,或者搭建数据库环境太过于麻烦,不想搭建。那么你可以试一试这几个免费的云数据库。其他免费Mysql数据库当然,由于是免费的,在储存容量和连接数上都有限制,也不适合商用。1.db4freedb4free.net - 免费的 MySQL 数据库https://db4free.net/mysql数据库,基本最新版本,服务器在国外,可能比较慢但是是稳定的。无需注册账号,不定时清空超过200MB的资料库。2.sqlpubSQLPub - 免费的MySQL数据库申请地址:https://sqlpub.com/mysql数据库,基本最新版本,服务器在国内。无需注册账号,最大36000次/小时的请求、同时10个连接和500M存储空间。3. aiven申请地址:https://go.aiven.io/机器性能好,速度快,服务器是加州的digital ocean5G以内的数据库,可以新增数据库不足之处是连接启用了ssl,需要在应用端部署证书4.memfireMemFireDB申请地址:https://cloud.memfiredb.com/只支持PostgreSQL,不支持mysql,服务器在国内。需要注册账号,每个账号限一个。5.freesqldatabase申请地址:https://www.freesqldatabase.com/可选亚太地区,速度还行1个5MB的数据库,容量太小。不能新增数据库注册后通过邮件发送数据库密码但为了保持免费数据库帐户有效,要求每周点击链接,避免删除不再需要的数据库。这些免费Mysql数据库,让我们可以方便的进行学习和测试,也可以作为小站使用,但生产环境不建议使用,毕竟生产环境需要稳定。请大家珍惜互联网上的免费资源。
2025年03月21日
441 阅读
1 评论
0 点赞
2025-03-20
白嫖mysql云数据库——来自中国大陆的免费的在线MySQL云数据库Sqlpub
前言Sqlpub是中国境内基于阿里云杭州的MySQL数据库,当前数据库版本为:MySQL 8.4.3 ,你甚至可以申请开发版(开发版每年需要9.9元,已经很便宜了)。作为难得的国内免费MySQL数据库,sqlpub最大支持36000次/小时的请求、同时30个连接和500M存储空间,这个容量和连接已经足够一般的小站使用了。官方简介如下:SQLPub免费的MySQL数据库,提供最新版本、甚至是开发者版本的 MySQL 服务器测试服务。 您可以轻易地 注册免费账号 测试您的应用。例如,您可以测试在MySQL版本升级后您的应用是否依然能够正常运行。 sqlpub.com 也是让您学习并熟悉新版本功能及操作的极佳资源。您将获得最大36000次/小时的请求、同时10个连接和500M存储空间。严禁用于非法用途 (传播暴力、淫秽色情信息等),发现永久禁用。申请教程网站功能很简单,打开首页就是注册页面,填写完数据库名称和用户名以及邮箱之后,获取邮箱验证码就可以直接开通数据库。1 打开首页打开官网2 注册信息填写填写完数据库名称和用户名以及邮箱之后,获取邮箱验证码就可以直接开通数据库。3 目前开通的数据库形式webmysql登录地址: https://client.sqlpub.com/user/login mysql服务器地址:mysql2.sqlpub.com mysql服务端口号:3307 数据库名:vvars(注册时填写的数据库名) 用户名:vvars(注册时填写的用户名) 密码:vvars.com(注册时填写的用户名)4 注意事项作为国内难得的数据库,有这样的服务已经非常不容易了,作为在中国境内开发调试程序或者本地测试使用还是不错的。但是不建议在生产中使用,如果服务放在国外,直接连接国内或许也不是一个好方法。
2025年03月20日
1,226 阅读
2 评论
0 点赞
2025-03-20
免费开源的网站访问流量统计分析平台Umami的Docker安装方式实战
一 前言Umami统计功能不多,但足以用于日常小站统计使用,本站之前介绍过如何在VPS环境下安装:自建网站统计工具-免费开源的网站访问流量统计分析平台Umami。但有些生产环境的依赖不满足要求或没有安装,或者不想影响生产环境,这个时候通过docker安装Umami则是一个不错的选择。1 官网官网:https://umami.is演示:https://eu.umami.is/share/LGazGOecbDtaIwDr/umami.is项目:https://github.com/mikecao/umami部署完成后的地址:https://s.vvars.com2 要求具有 Node.js 版本 18.18 或更高版本的服务器数据库。Umami支持MariaDB(最低版本v10.5)、MySQL(最低版本v8.0)和PostgreSQL(最低版本v12.14)数据库。二 使用 Docker安装更简单的方式是使用 Docker 一键启动,在源码根目录下面有 docker-compose 的配置,默认配置构建 umami 容器并启动 Postgres 数据库。1 安装 docker-compose环境sudo apt install docker-compose有的VPS,如有些国内的VPS,可能本地环境配置问题,无法安装成功,这个时候可以一键脚本Docker 和 Docker Compose 一键安装脚本 可手动选择安装版本和下载源:bash <(curl -sSL https://linuxmirrors.cn/docker.sh)2 获取源代码并打开umami目录git clone https://github.com/umami-software/umami.git cd umami3 生成容器docker compose up -d或者,仅拉取具有 PostgreSQL 支持的 Umami Docker 映像:docker pull docker.umami.is/umami-software/umami:postgresql-latest或者使用 MySQL 支持:docker pull docker.umami.is/umami-software/umami:mysql-latest不出意外的话,已经可以用ip:3000来访问umami了,对应的用户名为admin,密码umami。三 配置反代域名此步骤用于那些需要 https 自己又没有配置好 Nginx 的同学,如果 http 满足需求可以跳过这一步。将反代代码放入nginx的配置文件中,之后就能通过https://s.vvars.com访问了。location / { proxy_pass http://127.0.0.1:3000; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }最终nginx配置文件代码如下:server { listen 443 ssl; http2 on; #listen [::]:443 ssl http2; server_name s.vvars.com ; index index.html index.htm index.php default.html default.htm default.php; root /home/wwwroot/default; location / { proxy_pass http://127.0.0.1:3000; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } ssl_certificate /usr/local/nginx/conf/ssl/s.vvars.com/fullchain.cer; ssl_certificate_key /usr/local/nginx/conf/ssl/s.vvars.com/s.vvars.com.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers "TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5"; ssl_session_cache builtin:1000 shared:SSL:10m; # openssl dhparam -out /usr/local/nginx/conf/ssl/dhparam.pem 2048 ssl_dhparam /usr/local/nginx/conf/ssl/dhparam.pem; access_log off; }
2025年03月20日
242 阅读
1 评论
0 点赞
2025-03-19
小白也疯狂,GNU/Linux 更换系统软件源一键脚本
一 前言之前介绍过LinuxMirrors大佬开发的Docker 和 Docker Compose 一键安装脚本 可手动选择安装版本和下载源。今天介绍另外LinuxMirrors大佬开发的GNU/Linux 更换系统软件源一键脚本。1 项目地址:https://github.com/SuperManito/LinuxMirrorshttps://gitee.com/SuperManito/LinuxMirrorshttps://linuxmirrors.cn/2 适配的操作系统操作系统适配版本Debian8 ~ 13Ubuntu14 ~ 24Kali LinuxallLinux Mint19 ~ 22 / LMDE 6Deepin(深度)allZorin OSallArmbianallProxmox VEallRaspberry Pi OSallRed Hat Enterprise Linux7 ~ 9Fedora30 ~ 41CentOS7 ~ 8 / Stream 8 ~ 10Rocky Linux8 ~ 9AlmaLinux8 ~ 9openEuler(开源欧拉)21 ~ 24OpenCloudOS(鸥栖)8.6 ~ 9 / Stream 23openKylin(开放麒麟)allAnolis OS(龙蜥)8 / 23openSUSELeep 15 / TumbleweedArch LinuxallAlpine Linuxv3 / edgeGentooallNixOS19 ~ 24二 脚本安装教程1 根据区域选择一键脚本1)国内bash <(curl -sSL https://linuxmirrors.cn/main.sh)或bash <(curl -sSL https://raw.githubusercontent.com/SuperManito/LinuxMirrors/main/ChangeMirrors.sh)2)境外bash <(curl -sSL https://linuxmirrors.cn/main.sh) --abroad或bash <(curl -sSL https://raw.githubusercontent.com/SuperManito/LinuxMirrors/main/ChangeMirrors.sh) --abroad3)国内教育网bash <(curl -sSL https://linuxmirrors.cn/main.sh) --edu或bash <(curl -sSL https://raw.githubusercontent.com/SuperManito/LinuxMirrors/main/ChangeMirrors.sh) --edu2 注意事项1)需使用 ROOT 用户执行脚本切换命令为 sudo -i 或 su root。不同系统使用的命令不同,因为部分系统没有在初始安装时为 ROOT 账户设置密码(例如 Ubuntu)或系统默认禁止 ROOT 用户登录。2)建议使用支持 SSH 的现代化终端应用如果你系统命令行界面的中文显示乱码那么将导致无法查看交互内容,此外部分系统 GUI 图形界面的终端应用可能存在一些无法预料的显示问题。部分系统会自动开启 SSH 服务。3) 如果是在新装系统上首次执行脚本当前依赖 curl 指令获取脚本内容,但部分操作系统没有预装此软件包,届时则会报错 Command not found,只需要安装对应的依赖软件即可。脚本本身与 curl wget 指令无关,更不会下载任何内容。4)脚本运行期间需要交互选择配置请通过方向键 Up Down Left Right 或 WASD 控制选项并按 Enter 回车键确认。如果发现交互异常那么请改变终端软件的窗口大小后重试,另外窗口不要铺满全屏。
2025年03月19日
225 阅读
0 评论
0 点赞
2025-03-18
Docker 和 Docker Compose 一键安装脚本 可手动选择安装版本和下载源
一 前言Docker CE:Docker Community Edition 镜像仓库,用于下载并安装 Docker 相关软件包。 Docker Hub:Docker Hub 镜像仓库,默认为官方提供的公共库,用于切换下载镜像时的来源仓库,又称镜像加速器。1 项目地址:https://github.com/SuperManito/LinuxMirrorshttps://gitee.com/SuperManito/LinuxMirrorshttps://linuxmirrors.cn/2 主要特点轻松使用:只需要一行命令就能直接运行,无需安装任何依赖文档提供了各种场景的解决方案,Linux 初学者也能轻松上手多元软件源适配:深入考察了国内镜像站的系统适配情况,测试了下载速度与IPv6兼容性另外提供全网搜集的国内教育网镜像站和海外镜像站供用户选择零技术门槛:无需了解相关技术,文档提供了全面的知识储备和操作指引文档还提供了一些常见问题的解决方法以及一些高级用法的示例广泛的系统支持:适配众多操作系统,涵盖主流版本,精准识别系统类型及其版本脚本兼容性较高,不支持的系统会有相应提示并无操作跳出脚本功能强大:脚本使换源变得更简单,默认交互运行,逐步引导用户选择软件源配置同时提供了强大的命令选项,可实现各种高级定制需求高度可定制:脚本命令选项设计遵循正式应用程序规范,能够满足各种高级需求代码结构清晰,易于阅读和修改,可克隆后根据需求自行定制开源,MIT:项目已设立开源许可协议,脚本代码完全开源且免费使用二 Docker 一键安装脚本及安装1 一键脚本bash <(curl -sSL https://linuxmirrors.cn/docker.sh)集成安装 Docker Engine 和 Docker Compose (插件),支持选择或更换软件源以及镜像仓库、安装指定版本、重装等功能,支持 ARM 架构处理器。脚本参考 官方文档 采用官方提供的方法使用系统包管理工具进行安装,这意味着可安装的版本是由官方仓库决定的,本脚本不存在兼容性等问题。2 命令选项(高级用法)名称含义选项值--source指定 Docker CE 源地址(域名或IP)地址--source-registry指定镜像仓库地址(域名或IP)地址--branch指定 Docker CE 源仓库仓库名(详见下方文档)--codename指定 Debian 系操作系统的版本代号代号名称--designated-version指定 Docker CE 安装版本版本号(详见下方文档)--protocol指定 Docker CE 源的 WEB 协议http 或 https--install-latest是否安装最新版本的 Docker Enginetrue 或 false--close-firewall是否关闭防火墙true 或 false--clean-screen是否在运行前清除屏幕上的所有内容true 或 false--ignore-backup-tips忽略覆盖备份提示(即不覆盖备份)无备注:软件源完整格式 <WEB协议>://<软件源地址(域名或IP)>/<软件源仓库(路径)>1)指定 Docker CE 软件源地址bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --source mirror.example.com/docker-ce注意该地址路径需要包含镜像站的 Docker CE 软件源仓库路径即 docker-ce2)指定镜像仓库地址bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --source-registry registry.example.com3)指定 Docker CE 软件源仓库一般无需指定,脚本默认会自动判断bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --branch centos仓库名是固定的,目前只有 centos debian fedora raspbian rhel sles static ubuntu 这几个具体详见 官方安装文档 和 Docker CE 官方仓库4)指定 Docker CE 安装版本指定安装版本时会忽略 是否安装最新版本 的命令选项,格式为 主版本.次版本.补丁版本,例如 27.4.1。bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --designated-version 27.0.0如果指定的版本不存在或者不支持当前系统,届时脚本会报错跳出2 安装过程:root@green-cluster-10 ~ # bash <(curl -sSL https://linuxmirrors.cn/docker.sh) +---------------------------------------------------+ | | | ============================================= | | | | 欢迎使用 Docker 一键安装脚本 | | | | ============================================= | | | +---------------------------------------------------+ ##################################################### 提供以下 Docker CE 和 Docker Hub 源可供选择: ##################################################### Docker CE ❖ 阿里云 1) ❖ 腾讯云 2) ❖ 华为云 3) ❖ Azure 4) ❖ 网易 5) ❖ 清华大学 6) ❖ 中科大 7) ❖ 官方 8) Docker Hub ❖ 阿里云(北京) 1) ❖ 阿里云(杭州) 2) ❖ 阿里云(成都) 3) ❖ 阿里云(广州) 4) ❖ 阿里云(香港) 5) ❖ 腾讯云 6) ❖ 华为云 7) ❖ Azure 8) ❖ DaoCloud 9) ❖ 中科大 10) ❖ 谷歌云 11) ❖ 官方 12) ##################################################### 运行环境 Ubuntu 18.04 x86_64 系统时间 2022-03-27 00:24:28 ##################################################### └─ 请选择并输入你想使用的 Docker CE 源 [ 1~8 ]:8 └─ 是否安装最新版本的 Docker Engine? [Y/n] y └─ 请选择并输入你想使用的 Docker Hub 源 [ 1~12 ]:12 └─ 是否安装 Docker Compose? [Y/n] y三 卸载1、CentOS 卸载 Docker 教程sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine2、Debian / Ubuntu 卸载 Docker 教程sudo apt-get remove docker docker-engine docker.io containerd runc
2025年03月18日
665 阅读
2 评论
1 点赞
2025-03-18
自建网站统计工具-免费开源的网站访问流量统计分析平台Umami
前言Umami统计功能不多,但足以用于日常小站统计使用。1 官网官网:https://umami.is演示:https://eu.umami.is/share/LGazGOecbDtaIwDr/umami.is项目:https://github.com/mikecao/umami部署完成后的地址:https://s.vvars.com2 要求具有 Node.js 版本 18.18 或更高版本的服务器数据库。Umami支持MariaDB(最低版本v10.5)、MySQL(最低版本v8.0)和PostgreSQL(最低版本v12.14)数据库。二安装教程本文介绍如何在VPS上安装Umami,关于在Docker上安装Umami,可以参考本站文章:免费开源的网站访问流量统计分析平台Umami的Docker安装方式实战。1 安装 Yarnnpm install -g yarn2 获取源代码并安装软件包git clone https://github.com/umami-software/umami.git cd umami yarn install3 配置Umami1)在umami目录下创建.env文件,包含以下内容:DATABASE_URL=连接URL2)连接URL格式:postgresql://用户名:mypassword@localhost:5432/mydb mysql://用户名:mypassword@localhost:3306/mydb4. 构建应用程序yarn build如果您是首次安装,构建步骤将在您的数据库中创建表。它会创建一个名为 admin、password 的 umami 登录用户。5 启动应用程序yarn start默认情况下,这将在启动应用程序上http://localhost:3000。您需要代理来自Web服务器的请求或更改端口才能直接为应用程序提供服务。6 Umami域名配置Umami上面的安装已经完成了,但是只能使用IP+端口访问,我们这里就要利用到Nginx反向绑定域名的方法来实现Umami域名访问了。代码如下: location / { proxy_pass http://127.0.0.1:3000; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }如果你用的是LNMP或者Oneinstack一键安装包,找到Nginx配置文件,然后添加以上反向绑定域名的代码即可。配置方法和Bitwarden自建密码存储系统图文教程绑定域名反代类似,主要调整你的反代部分,示例如下:server { listen 443 ssl http2; #listen [::]:443 ssl http2; server_name s.vvars.com ; index index.html index.htm index.php default.html default.htm default.php; root /home/wwwroot/wzfou.com; location / { proxy_pass http://127.0.0.1:3000; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } ssl_certificate /usr/local/nginx/conf/ssl/tmth.wzfou.me/fullchain.cer; ssl_certificate_key /usr/local/nginx/conf/ssl/tmth.wzfou.me/tmth.wzfou.me.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers "TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5"; ssl_session_cache builtin:1000 shared:SSL:10m; # openssl dhparam -out /usr/local/nginx/conf/ssl/dhparam.pem 2048 ssl_dhparam /usr/local/nginx/conf/ssl/dhparam.pem; access_log /home/wwwlogs/tmth.wzfou.me.log; }
2025年03月18日
212 阅读
1 评论
0 点赞
1
...
4
5
6
...
30