ubuntu 18.04 下安装 MySQL

查看系统是否安装mysql

1
sudo netstat -tap | grep mysql

安装

1
sudo apt-get install mysql-server mysql-client

配置

  1. 登录mysql

    • 开始安装的不知道mysql的登录密码,可以使用下列命令查看,然后登录
      1
      sudo cat /etc/mysql/debian.cnf  # 使用client下的user和password登录
    • 或者也可以直接输入 sudo mysql 登录
  2. 修改root用户密码

    1
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new-password';
  3. 添加新用户

    1
    2
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' ;
    FLUSH PRIVILEGES;

踩坑

问题: 关于远程连接时遇到的问题,设置了远程连接账号,开放了3306端口, 本地Navicat无法连接
解答: 检查发现需要修改配置文件 将 bind-address 127.0.0.1 注释掉

ubuntu 18.04下安装 MongoDB

建议查看官方文档: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/index.html

  1. 导入MongoDB的包公钥

    1
    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
  2. 创建源列表文件

    1
    echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
    1
    2
    sudo apt-get update
    sudo apt-get install -y mongodb-org

ubuntu 18.04下安装 Redis

安装

1
2
3
4
5
6
7
8
sudo wget http://download.redis.io/releases/redis-5.0.5.tar.gz
tar -zxvf redis-5.0.5.tar.gz
sudo mv ./redis-5.0.5 /usr/local/redis
cd /usr/local/redis/
sudo make # 生成
sudo make test # 测试
sudo make install # 安装,将redis命令安装到/usr/local/bin目录
sudo cp /usr/local/redis/redis.conf /etc/redis/

配置

1
2
3
4
5
6
cd /etc/redis/
vi redis.conf
daemonize yes # 设置守护进程
# 设置日志目录,目录和文件需要先手动创建好
dir /var/lib/redis
logfile "/var/log/redis/redis-server.log"

启动服务

1
sudo redis-server /etc/redis/redis.conf

设置开机启动

  1. 将redis服务脚本(/usr/local/redis/utils/redis_init_script)复制到 /etc/init.d目录下

    1
    sudo cp /usr/local/redis/utils/redis_init_script /etc/init.d
  2. 将服务脚本改名为redis并修改配置信息,本次只修改了一个 CONF=”/etc/redis/redis.conf”

  3. 给文件执行权限

    1
    sudo chmod +x /etc/init.d/redis
  4. 加入服务,开机自启

    • 第一次 chkconfig --add redis 提示未找到命令

    • 使用第二种方法 sudo update-rc.d redis defaults 成功

    • 之后使用命令 sudo service redis start | stop | restart 即可

参考链接: https://blog.csdn.net/qq_42403743/article/details/81358676

https://jingyan.baidu.com/article/ca41422f3fa2421eae99edd2.html

踩坑

  • 输入 sudo make test 时报错

    解决方法: 安装tcl,按照下面安装后问题解决

    1
    2
    3
    4
    5
    6
    sudo wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
    sudo tar xzvf tcl8.6.1-src.tar.gz -C /usr/local/
    cd /usr/local/tcl8.6.1/unix/
    sudo ./configure
    sudo make
    sudo make install

    PS: 如果之后make test 还报错,可以重新运行几次make test 命令试试

ubuntu 18.04下安装 Git

安装

1
sudo apt-get install git 

配置

基本命令

  • ssh-keygen -t rsa

  • 将id_rsa.pub的内容复制到GitHub

  • 验证是否成功 ssh -T git@github.com

全局设置

1
2
git config --global user.name "yourusername"
git config --global user.email "youremail"

一台电脑同时连接github和gitee

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
cd ~/.ssh
ssh-keygen -t rsa -C "xxxx@email.com" -f "github_id_rsa"
ssh-keygen -t rsa -C "xxxx@email.com" -f "gitee_id_rsa"
# 将生成的公钥文件对应复制到github和gitee中,为了解决冲突,需要创建config文件
touch ~/.ssh/config
# 文件内输入下列内容,完成后保存即可。

# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitee_id_rsa

# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_id_rsa

PS: 多台电脑使用同一的ssh文件,可以直接将.ssh文件夹复制到其他电脑,然后覆盖对应的目录。

ubuntu 18.04下安装 Docker

建议查看官方文档: https://docs.docker.com/engine/install/ubuntu/

使用存储库安装

  1. 设置存储库

    • 更新apt软件包索引并安装软件包以允许apt通过HTTPS使用存储库
      1
      2
      3
      4
      5
      6
      7
      8
      sudo apt-get update

      sudo apt-get install \
      apt-transport-https \
      ca-certificates \
      curl \
      gnupg-agent \
      software-properties-common
    • 添加Docker的官方GPG密钥
      1
      curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    • 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88通过搜索指纹的后8个字符,验证您现在是否拥有带有指纹的密钥
      1
      sudo apt-key fingerprint 0EBFCD88
    • 输出以下内容
      1
      2
      3
      4
      pub   rsa4096 2017-02-22 [SCEA]
      9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
      uid [ unknown] Docker Release (CE deb) <docker@docker.com>
      sub rsa4096 2017-02-22 [S]
    • 设置稳定的存储库
      1
      2
      3
      4
      sudo add-apt-repository \
      "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
      $(lsb_release -cs) \
      stable"
  2. 安装DOCKER引擎

    1
    2
    3
    # 更新apt程序包索引,并安装最新版本的Docker Engine和容器
    sudo apt-get update
    sudo apt-get install docker-ce docker-ce-cli containerd.io
  3. 以非root用户管理Docker

    1
    2
    sudo groupadd docker
    sudo usermod -aG docker $USER

使用脚本安装

1
2
sudo wget -qO- https://get.docker.com | sh  # 自动下载安装docker命令
sudo usermod -aG docker $USER # 给与docker权限,如果输入命令后不生效,可以重启系统后再试

docker基本命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
docker info  # 查看docker信息
docker pull # 拉取镜像
docker build # 创建镜像
docker run # 运行容器
docker images # 查看镜像
docker ps # 查看运行中的容器
docker ps -a # 查看所有容器
docker stop sdai3nf # 停止容器
docker rm ef87fse8 cf045930cd83 # 删除停止的容器,可以同时删除多个容器
docker rmi fd8efke # 删除镜像
docker cp # 在宿主机和容器之间拷贝文件
docker commit # 保存改动为新的镜像

docker run ubuntu echo hello docker
docker run -p -d 8080:80 nginx
docker cp index.html cf045930cd83://usr/share/nginx/html
docker commit -m "hello" cf045930cd83 hello # 提交命令,保存容器的更改,会返回一个新的镜像;最后的hello是镜像名
docker exec -it nginx /bin/bash # 进入容器内部

Dockerfile

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
FROM           # 基础镜像
RUN # 执行命令
ADD # 添加文件,比COPY更强,可以复制远程文件
COPY # 拷贝文件
CMD # 执行命令,程序入口
EXPOSE # 暴露端口
WORKDIR # 指定路径
MAINTAINER # 维护者
ENV # 设置环境变量
ENTRYPOINT # 容器入口,如果没有CMD,从这里启动,如果有,那CMD的内容就是这个的参数
USER # 指定用户
VOLUME # 挂载卷


FROM alpine:latest
MAINTAINER xxxx // 容器作者
CMD echo 'hello docker'

// 运行命令创建镜像
docker build -t hello .
docker run hello // 运行容器,输出内容

FROM ubuntu
MAINTAINER xxxx
RUN sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
RUN apt-get update
RUN apt-get install -y nginx
COPY index.html /var/www/html
ENTRYPOINT ["/usr/sbin/nginx", "-g", "daemon off;"]
EXPOSE 80

// 运行命令创建镜像
docker build -t hello .
docker run -d -p 8080:80 hello
curl http://localhost:8080

VOLUME

1
2
3
4
5
6
7
8
docker run -v /usr/share/nginx/html nginx  // 挂载卷
docker inspect nginx // 查看信息, 可以看到挂载卷宿主机的路径

docker run -v $PWD/code:/usr/share/nginx/html nginx // 挂载卷

docker create -v $PWD/data:/var/mydata --name data_container ubuntu // 创建一个用来提供数据的容器
docker run --volumes-from data_container ubuntu // 新的容器从data_container里加载数据
docker run -it --volumes-from data_container ubuntu /bin.bash // 创建后可以直接进入容器内

Registry

1
2
3
docker search ubuntu
docker pull ubuntu
docker push myname/ubuntu

docker-compose

  1. 安装
    1
    curl -L https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker-compose
  2. 授权
    1
    chmod a+x /usr/local/bin/docker-compose // 给所有用户授权执行
  3. 使用
    1
    2
    3
    4
    5
    6
    docker-compose --version  // 查看版本
    docker-compose build // 构建镜像
    docker-compose up -d // 启动容器
    docker-compose stop // 停止容器
    docker-compose rm // 删除容器
    docker-compose ps

官方文档: https://docs.docker.com/compose/
下载地址: https://github.com/docker/compose/releases