给路由器装mysql以及进入docker内部

起因

想给我的typecho使用mysql数据库,但是因为是路由器,其linux并不完整,容易出现问题。安装失败了两次,故使用docker方案。

但是猜想是网络配置的原因:

  1. docker的typecho连接不上docker的mysql
  2. 另一台物理主机能连上docker的mysql

因此这次配置是失败了,但是仍有值得记录的地方:

SSH穿透进入docker的办法:非常有用

在这记录下二者的配置过程,方便以后复现

安装mysql

配置mysql的docker命令
不多,就是两句话:
用ssh连接路由器后,输入 :

docker pull arm64v8/mysql

一会之后 ,输入

docker run -d -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 arm64v8/mysql

这样,咱们的管理员密码就是123456了,账号是root

按理说,现在能用了! 不需要额外去配置别的了,如果你想改名,想加内容管理他,咱就下载一个社区版本的免费小海豚就能用了。十分容易而简单。不要用命令行了朋友们,命令行肯定不如gui好用

SQLyog Community - 64 bit
20e87bbe1496547c1de3f131636f6f7d.png
该软件是社区版本的小海豚,名称:sqlyog

安装Typecho

ps:如果你想下载typecho的docker:请使用下面的这个:
就两句话:

docker pull 80x86/typecho 
docker run -d \--name=typecho-blog2 \--restart always \--mount type=tmpfs,destination=/tmp \-v /opt/srv/http/typecho:/data \-e PHP_TZ=Asia/Shanghai \-e PHP_MAX_EXECUTION_TIME=600 \-p 91:80 \80x86/typecho:latest 

这样,我们就可以在 路由器地址上加上端口号91 ,开始部署typecho了。大家可以参考我的这个文章:

https://www.bilibili.com/read/cv17259057

重点SSH穿透docker

进入docker

用ssh来控制docker内部,我们用的方法是这样的:

等新docker安装好了,我们看看这个docker的id 是啥,找到他!

思路是先查看:docker 的 ID
找到名字就能进他家了

 sudo docker ps  

我看到了很多的id(第一列),咱记住他的id待会要用:

咱们的id是这个
676b1a7281c3。你刚安装好的docker肯定是启动状态的。先开始你的docker才能找到。
直接输入:

sudo docker exec -it 676b1a7281c3 /bin/bash  

等待一段时间,就进来了。非常快乐:
我们现在的ssh操作就相当于大家的mysql直接安装在服务器上一样,非常nice。

给大家几个基础的命令参考:

来自:https://blog.csdn.net/m0_67402970/article/details/123786903

登录数据库,用户是root

mysql -u root -p 

根据提示,待会把密码输入进去:
咱密码刚刚设置好了,就是123456

创建新数据库bkk

mysqladmin -u root -p create bkk

按理说,咱们到这里,就是纯纯用命令来操作mysql了,但毕竟用ssh来操作数据库很上头,我没有学习清楚:我把基础命令给大家贴上来:大家参考下吧

https://blog.csdn.net/m0_67402970/article/details/123786903
作者:m0_67402970

### 目录 - [1、mysql服务的启动和停止](#1mysql_4) - [2、登陆mysql](#2mysql_10) - [3、增加新用户](#3_16) - [4、 操作数据库](#4__27) - - [Ⅰ、 显示数据库列表。](#__39) - [Ⅱ、 显示库中的数据表:](#__45) - [Ⅲ、 显示数据表的结构:](#__50) - [Ⅳ、 建库与删库:](#__54) - [Ⅴ、 建表与删表:](#__59) - [Ⅵ、 清空表中记录:](#__65) - [Ⅶ、 显示表中的记录:](#__69) - [Ⅷ、 往表中加入记录:](#__73) - [Ⅹ、更新表中数据](#_79) - [5、导出和导入数据](#5_87) - - [Ⅰ. 导出数据:](#__89) - [Ⅱ. 导入数据:](#__95) - [Ⅲ. 将文本数据导入数据库:](#__99) - [6、退出MYSQL命令:](#6MYSQL_105) ## 1、mysql服务的启动和停止 ``` net stop mysql net start mysql ``` ## 2、登陆mysql ``` mysql (-h)-u 用户名 -p 用户密码 注意,如果是连接到另外的机器上,则需要加入一个参数-h机器IP ``` 键入命令mysql -u root -p, 回车后提示你输入密码,然后回车即可进入到mysql中了 ## 3、增加新用户 ``` grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"` ``` 例:增加一个用户user密码为password,让其可以在本机上登录, 并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,然后键入以下命令: ``` grant select,insert,update,delete on *.* to user@localhost Identified by “password”; ``` 如果希望该用户能够在任何机器上登陆mysql,则将localhost改为"%"。 ## 4、 操作数据库 登录到mysql中,然后在mysql的提示符下运行下列命令,每个命令以分号结束。 选择你所创建的数据库 ``` use 数据库名 ``` 导入.sql文件命令(例D:/mysql.sql): ``` mysql>use 数据库名; mysql>source d:/mysql.sql; ``` ## Ⅰ、 显示数据库列表。 ``` show databases; ``` 缺省有两个数据库:mysql和test。 mysql库存放着mysql的系统和用户权限信息,我们改密码和新增用户,实际上就是对这个库进行操作。 ## Ⅱ、 显示库中的数据表: ``` use 库名; tables; ``` ## Ⅲ、 显示数据表的结构: ``` describe 表名; ``` ## Ⅳ、 建库与删库: ``` create database 库名(character set utf8); drop database 库名; ``` ## Ⅴ、 建表与删表: ``` use 库名; create table 表名(字段列表); drop table 表名; ``` ## Ⅵ、 清空表中记录: ``` delete from 表名; ``` ## Ⅶ、 显示表中的记录: ``` select * from 表名; ``` ## Ⅷ、 往表中加入记录: ``` insert into 表名 values (字段列表); ``` ## Ⅹ、更新表中数据 ``` mysql>update 表名 set 字段="值" where 子句 order by 子句 limit 子句 WHERE 子句:可选项。用于限定表中要修改的行。若不指定,则修改表中所有的行。 ORDER BY 子句:可选项。用于限定表中的行被修改的次序。 LIMIT 子句:可选项。用于限定被修改的行数。 ``` ## 5、导出和导入数据 ## Ⅰ. 导出数据: ``` mysqldump --opt test > mysql.test 即将数据库test数据库导出到mysql.test文本文件 例:mysqldump -u root -p用户密码 --databases dbname > mysql.dbname ``` ## Ⅱ. 导入数据: ``` mysqlimport -u root -p用户密码 < mysql.dbname。 ``` ## Ⅲ. 将文本数据导入数据库: ``` 文本数据的字段数据之间用tab键隔开。 use test; load data local infile "文件名" into table 表名; ``` ## 6、退出MYSQL命令: ``` exit (回车) ```

Last modification:July 30, 2022
给博主买瓶冰可乐