目录
安装docker
1.卸载原有版本
【docker】ubuntu完全卸载docker及再次安装_ubuntu 卸载docker client卸载-CSDN博客
2.更新索引包
sudo apt-get update
3.安装添加使用 HTTPS 传输的软件包
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
4.添加软件源的GPG密钥(本人选择的中科大)
中科大:
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
阿里云:
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
官方源:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
5.向 source.list 中添加Docker软件源(本人选择的中科大)
中科大源:
sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
阿里源:
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
官方源:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
6.再次更新索引包
sudo apt-get update
若想直接安装最新版本执行以下命令即可
sudo apt-get install docker-ce
7.查看docker版本
apt-cache madison docker-ce
8.安装指定版本
sudo apt-get install docker-ce=<VERSION>
例如
sudo apt-get install docker-ce=18.06.3~ce~3-0~ubuntu
9.启动后台服务
sudo service docker start
10.查看Docker版本信息
docker version
11.镜像加速
1.新版的 Docker 使用 /etc/docker/daemon.json 来配置 Daemon。
请在该配置文件中加入(没有该文件的话,请先建一个)Docker中国官方加速:
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
重启Docker使之生效:
sudo service docker restart
如果想添加其它加速源,请移步该博客查看:Ubuntu下安装Docker及镜像源设置_ubuntu修改docker镜像源-CSDN博客
2.使用阿里云自己的镜像加速命令
进入以下网址
https://cr.console.aliyun.com/cn-hangzhou/instances
12.添加当前用户到docker组(可选)
创建docker组:
创建docker用户组:
sudo groupadd docker
当前用户加入docker组:
sudo usermod -aG docker $USER
检查创建是否有效:
cat /etc/group
重启docker:
sudo systemctl restart docker
为了避免多次使用sudo命令,故在此将当前用户添加到docker组
# 添加docker用户组,一般已存在,不需要执行
sudo groupadd docker
# 将登陆用户加入到docker用户组中
sudo gpasswd -a $USER docker
# 更新用户组
newgrp docker
# 测试docker命令是否可以使用sudo正常使用
docker version
解决docker拉取镜像报错:Error response from daemon: Get “https://registry-1.docker.io/v2/“: dial tcp
解决docker拉取镜像报错:Error response from daemon: Get “https://registry-1.docker.io/v2/“: dial tcp-CSDN博客
安装Mysql
首先,更新软件包列表索引:
sudo apt update
安装MySQL
sudo apt install mysql-server
mysql --version
由于本地系统为ubuntu20.04,MySql版本号为8.0。
查看服务状态
service mysql status
状态正常,到此安装完毕!
配置
此时,mysql客户端已经作为服务器的依赖安装到本地,故可以通过命令行登录服务器。mysql8.0,root 用户默认通过 auth_socket 插件授权,而 auth_socket 插件通过 Unix socket 文件来验证所有连接到 localhost 的用户。这意味着你不能以用户–密码的方式,登录root账户。通过指令以root身份登录:
sudo mysql
但是,通过第三方程序是无法连接到数据库的,例如JDBC、pymysql等。可以通过修改mysql下的user表,配置密码方式以root身份登录:
use mysql;
select user, host, plugin from user;
将root对应的plugin由 auth_socket
改为 mysql_native_password
即使是mysql8.0也是,否则影响后续远程连接:
#MySQL8.0必须先执行此步骤设置密码,MySQL5.7可以选择先安装下面的secure!!!
alter user 'root'@'localhost' identified with mysql_native_password by '密码';
flush privileges;
exit;
至此,可以不用输入sudo
,通过密码的方式登录数据库:
mysql -uroot -p
增强数据库服务的安全性
执行:
sudo mysql_secure_installation
键入Enter后继续,
设置root用户密码,并反馈当前密码强度,询问是否确认密码:
询问三个问题,并根据提供的答案来设置系统的安全性。
是否关删除匿名测试用户的信息。
是否禁止远程root登录。只允许本地登录root用户,并拒绝远程连接。
是否删除 test 数据库。
根据自身需求键入相应的y or n。
最后输入 y ,重新加载特权表使上述配置生效。返回 All Done!,设置成功。
远程连接
如何连接ubuntu服务器下的mysql数据库?
修改配置文件:
#MySQL8.0!!!
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
#MySQL5.7!!!
sudo vim /etc/my.cnf
注释下图标记行,解除地址绑定:
重启mysql服务:
sudo service mysql restart
登录MySQL后执行:
use mysql;
update user set host='%' where user='root';
flush privileges;
#MySQL8.0执行这行
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
#MySQL5.7执行这行
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
flush privileges;
卸载:
sudo apt purge mysql-* # mysql后用tab补全,把所有与mysql相关的卸载
sudo rm -rf /etc/mysql/ /var/lib/mysql
sudo apt autoremove
sudo apt autoclean
忘记密码(ERROR 1045):
修改配置文件,在[mysqld]后添加 skip-grant-tables
(登录时跳过权限检查):
#MySQL8.0!!!
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
#MySQL5.7!!!
sudo vim /etc/my.cnf
重启服务后可以无密码登录mysql:
sudo service mysql restart
mysql
mysql8.0
use mysql;
#必须先将authentication_string置为空!
update user set authentication_string='' where user='root';
flush privileges;
#设置新密码
ALTER user 'root'@'%' IDENTIFIED BY '新密码';
mysql5.7
use mysql;
update user set authentication_string = password('新密码') where user = 'root';
最后记得删除配置文件中的 skip-grant-tables
并重启服务,否则会影响远程连接!
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
查看密码策略:
SHOW VARIABLES LIKE 'validate_password%';
set global validate_password.policy=0
set global validate_password.length=1;
最后修改密码:
alter user 'root'@'%' identified by 'root';
登录。