CentOS7.6新系统需要的那些家伙【持续更新】

文章目录

  • CentOS7.6新系统的那些家伙
    • 一、yum源更换成国内源
    • 二、pip源更换成国内源
    • 三、conda源更换国内源
    • 四、添加一个新用户并授予root权限
    • 五、linux下安装MiniConda
    • 六、安装pyenv以及pyenv-virtual两个python版本以及虚拟化就管理工具
      • 1. 安装依赖
      • 2. 使用脚本安装pyenv和pyenv-virtualenv并配置Python虚拟环境
      • 3. 常用的方法
      • 4. 常用的使用流程
      • 5. 常见的问题
        • 1. 解决下载安装包慢的问题(通过SHELL脚本使用其他源进行下载安装包在进行安装)
    • 七、安装MySQL的几种方式
      • 7.1 使用docker安装MySQL
        • 7.1.1 卸载旧版本(如果存在docker,需先卸载旧版本)
        • 7.1.2 安装Docker
          • 使用存储库安装(推荐使用)
        • 7.1.3 安装mysql5.7.35(普通用户下)
          • *** 安装MySQL:5.7.35镜像
          • *** 进入容器中查看配置文件以及数据文件在哪里?
          • *** 将镜像运行并挂载到主机中
        • 7.1.4 给docker中的mysql添加用户并赋予表权限
        • docker运行报错问题汇总
      • 7.2 通过Yum源快速安装Mysql5.7(稳定版本)并配置
        • 7.2.1 下载官方的rpm源,并配置到yum中
        • 7.2.2 选择对应的mysql版本(默认为上面配置的rpm版本)
          • ***使用此命令查看 MySQL Yum 存储库中的所有子存储库,并查看哪些是启用或禁用的
          • ***修改安装的版本
        • 7.2.3 安装对应版本的MySQL
        • 7.2.4 启动MySQL服务器
        • 7.2.5 配置MySQL服务器
          • 1. 查看MySQL的临时root密码
          • 2. 重置root(两种方式)
          • 3. 通过root用户进行mysql并创建用户和赋予root权限
        • 7.2.6 到此为止,MySQL就可以进行远程访问了

CentOS7.6新系统的那些家伙

  • ***代表重点掌握的意思

一、yum源更换成国内源

  • CentOS7的最小系统安装默认没有很多必备的工具,需要进行单独安装(优先进行这一步骤)
# 安装net-tools
sudo yum install -y net-tools

# 安装wget
sudo yum install -y wget

# 安装vim
sudo yum install -y vim	
  • 备份yum源
sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
  • 下载新的 CentOS-Base.repo
# CentOS 7
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
# CentOS 8
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo
  • 清楚原系统缓存以及生成新缓存
yum clean all # 清除系统yum 缓存

yum makecache # 生成yum缓存
  • yum源推荐

    yum源大全:http://www.360doc.com/content/19/0706/22/54508727_847143477.shtml

二、pip源更换成国内源

  • 更换pip源
cd ~
mkdir .pip
cd .pip
vim pip.conf

# 写入下列语句
[global]
index-url=https://pypi.doubanio.com/simple/

[install]
trusted-host=pypi.doubanio.com

# pip 源推荐
豆瓣
https://pypi.doubanio.com/simple/
阿里云    
https://mirrors.aliyun.com/pypi/simple/
清华大学
https://pypi.tuna.tsinghua.edu.cn/simple/
https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/

三、conda源更换国内源

  • 恢复默认源
conda config --remove-key channels
  • 显示镜像源
conda config --show-sources
  • 更换conda源
vim ~/.condarc

channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
ssl_verify: true

补充:

中国科学技术大学 USTC Mirror

channels:
  - https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
  - https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
  - https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
ssl_verify: true

上海交通大学开源镜像站

channels:
  - https://mirrors.sjtug.sjtu.edu.cn/anaconda/pkgs/main/
  - https://mirrors.sjtug.sjtu.edu.cn/anaconda/pkgs/free/
  - https://mirrors.sjtug.sjtu.edu.cn/anaconda/cloud/conda-forge/
ssl_verify: true

四、添加一个新用户并授予root权限

  • 添加一个新用户
# 添加一个新用户
adduser test

# 添加新用户的密码
sudo passwd 新账号
New password: 输入新密码
Retype new password: 验证新密码

# 查看当前拥有用户
lslogins -u  # 只展示用户的账户

# 删除用户
deluser zhangsan  # 删除普通用户
  • 给新用户赋予root权限
# 查看sudoers文件路径并赋予权限
whereis sudoers

# 编辑/etc/sudoers文件
sudo vim /etc/sudoers
  • 修改完之后重启ssh链接即可使用新用户进行ssh链接

CentOS7.6新系统需要的那些家伙【持续更新】_第1张图片

五、linux下安装MiniConda

  • 详细安装操作请看
  • https://blog.csdn.net/weixin_42160053/article/details/125876872

六、安装pyenv以及pyenv-virtual两个python版本以及虚拟化就管理工具

1. 安装依赖

sudo yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel libpcap-devel xz-devel

# 方案二(看的更清楚些)
sudo yum -y install wget gcc make epel-release git
sudo yum -y install bzip2-devel bzip2-libs
sudo yum -y install openssl openssl-devel openssl-static
sudo yum -y install sqlite-devel tk-devel ncurses-devel
sudo yum -y install readline readline-devel readline-static
sudo yum install -y libffi-devel

2. 使用脚本安装pyenv和pyenv-virtualenv并配置Python虚拟环境

官网:https://github.com/pyenv/pyenv-installer

操作流程:

# install:
# curl https://pyenv.run | bash
# 1. 安装pyenv
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
# 2. 配置环境变量
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init --path)"' >> ~/.bashrc
# 3. 重置下.bashrc
source ~/.bashrc
# 4. 验证pyenv是否安装成功
pyenv --version

# 5. 安装pyenv-virtualenv (pyenv虚拟环境管理工具)
# 前提是已经安装好pyenv
git clone https://github.com/pyenv/pyenv-virtualenv $(pyenv root)/plugins/pyenv-virtualenv
# 6. 添加环境变量
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
# 7. 进行重新启动环境变量
source ~/.bashrc
exec "$SHELL"

# 到此pyenv和pyenv-virtualenv安装完毕

3. 常用的方法

# pyenv使用方法
pyenv --version  # 查看pyenv版本
pyenv commands  # 查看pyenv命令
pyenv install --list  # 查看可安装的python版本
pyenv versions  # 查看已安装版本
pyenv version   # 查看当前使用的python版本
pyenv install -v 版本号  # 安装python
pyenv rehash  # 刷新python已安装列表
pyenv uninstall 版本号  # 删除python
pyenv global 版本号  # 设置当前全局python版本
pyenv local  版本号  # 设置局部python版本
pyenv local --unset # 取消局部python版本设置,或者删除当前目录下的.python-version文件

# pyenv-virtualenv
创建虚拟环境: pyenv virtualenv 2.7.13 virtual-env-2.7.13,默认使用当前环境python版本。 
(在文件夹$(pyenv root)/versions/my-virtual-env-2.7.13中创建一个基于Python 2.7.13的虚拟环境。)
列出虚拟环境: pyenv virtualenvs,对每个virtualenv显示2个, 短的只是个链接,那个*表示当前激活的。
激活虚拟环境: pyenv activate virtual-env-2.7.13
退出虚拟环境: pyenv deactivate
删除虚拟环境: pyenv uninstall virtual-env-2.7.13

# pyenv中版本的切换

pyenv global 3.5.3 # 设置全局的Python版本,通过将版本号写入~/.pyenv/version文件的方式
pyenv local 2.7.13 # 设置面向程序的本地版本,通过将版本号写入当前目录下的.python-version文件的方式。 通过这种方式设置的Python版本优先级较global高。
pyenv shell 2.7.13 # 设置面向shell的Python版本,通过设置当前shell的PYENV_VERSION环境变量的方式
优先级: shell > local > global

# 卸载
禁用pyenv很简单,只需要在~/.bash_profile中的pyenv init那行删了即可。
完全移除pyenv,先执行上面第1步,然后删了pyenv的根目录: rm -rf $(pyenv root)

# 如果想下载python安装包快一点可以进行换源
# 在~/.bashrc中添加一个函数,刷新即可

4. 常用的使用流程

# 创建一个python版本
pyenv install 3.7.6
# 进行刷新已安装列表
pyenv rehash
# 查看已安装的python版本
pyenv versions
# 切换到选择的python版本
pyenv global 3.7.6(python版本号)

# 查看现在有的虚拟环境
[root@tingyun_server opt]# pyenv virtualenvs
3.6.1/envs/venv36 (created from /root/.pyenv/versions/3.6.1)
venv36 (created from /root/.pyenv/versions/3.6.1)

# 先创建一个虚拟环境
pyenv virtualenv 3.6.1 virtual-env-3.6.1

# 激活环境:
pyenv activate virtual-env-3.6.1

# 退出环境: 
pyenv deactivate

# 删除环境:
$ rm -rf ~/.pyenv/versions/virtual-env-3.6.1/

5. 常见的问题

1. 解决下载安装包慢的问题(通过SHELL脚本使用其他源进行下载安装包在进行安装)

编辑~/.bashrc

# cd 到用户的根目录
cd ~/

# 编辑.bashrc文件
sudo vim ~/.bashrc

# 添加shell脚本函数
function pyinstall() {
    v=$1
    curl -L https://npm.taobao.org/mirrors/python/$v/Python-$v.tar.xz -o ~/.pyenv/cache/Python-$v.tar.xz
    pyenv install $v
}

# 需要创建一个cache文件夹存放换源下载的python安装包
mkdir -p ~/.pyenv/cache
# 使用方法
pyinstall 3.7.6

七、安装MySQL的几种方式

7.1 使用docker安装MySQL

7.1.1 卸载旧版本(如果存在docker,需先卸载旧版本)

# 如果存在Docker,卸载旧版本的docker
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

7.1.2 安装Docker

详情看官方文档:Docker官方文档

使用存储库安装(推荐使用)

在新主机上首次安装 Docker Engine 之前,您需要设置 Docker 存储库。之后,您可以从存储库安装和更新 Docker。

  • 设置存储库
# 安装yum-utils包(提供yum-config-manager 实用程序)并设置稳定存储库。
sudo yum install -y yum-utils
sudo yum-config-manager \
  --add-repo \
  https://download.docker.com/linux/centos/docker-ce.repo
  • 安装Docker引擎

安装最新版本的Docker Engine和containerd

sudo yum install -y docker-ce docker-ce-cli containerd.io
# 如果提示接受 GPG 密钥,请验证指纹是否匹配060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35,如果匹配 ,请接受。

7.1.3 安装mysql5.7.35(普通用户下)

*** 安装MySQL:5.7.35镜像
# 查看docker运行状态
sudo systemctl status docker
# 启动docker服务
sudo systemctl start docker

# 在Docker中想要安装某个程序只需要进行pull操作即可
# 安装mysql:5.7.35
sudo docker pull mysql:5.7.35
# 完成之后使用sudo docker images查看是否下载mysql镜像成功
sudo docker images

# 创建所需要的文件夹
#sudo mkdir -p ./mysql/conf
#sudo touch ./mysql/conf/my.cnf
#sudo mkdir -p ./mysql/data
#sudo mkdir -p ./mysql/logs
*** 进入容器中查看配置文件以及数据文件在哪里?
# 简单启动一个容器
sudo docker run -p 3306:3306 -d mysql:5.7.35
# 使用sudo docke exec -it 容器id /bin/bash
sudo docker exec -it 38a /bin/bash  # 进入容器id为38a开头的容器

# 检测其中的配置文件、日志文件及数据文件分别存放在哪里?
- 配置文件  /etc/mysql/my.cnf
- 日志文件	/var/log/mysql
- 数据文件	/var/lib/mysql

# 退出容器
exit
*** 将镜像运行并挂载到主机中
# 删除错误配置的容器
sudo docker stop 容器id
sudo docker rm -f 容器id 
# 删除镜像
sudo docker rmi 镜像id

# 接下来进行运行和挂载mysql:5.7.35数据库
-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口。
-v -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。
-v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs
-e MYSQL_ROOT_PASSWORD=root初始化 root 用户的密码。  # 只有第一次运行需要

# 运行mysql:5.7.35镜像并挂载到主机中
sudo docker run -p 3306:3306 --name subwayMysql \
-v $PWD/mysql/conf:/etc/mysql \
-v $PWD/mysql/logs:/var/log/mysql/ \
-v $PWD/mysql/data:/var/lib/mysql/ \
-e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.35   # 安装镜像并设置

# 使用sudo docker ps查看镜像是否在运行
sudo docker ps  # 查看镜像是否在运行

# 再使用Navicat进行连接测试

7.1.4 给docker中的mysql添加用户并赋予表权限

# 使用Navicat或者进入容器内使用mysql -u root -p 进行登陆
user mysql;
select host,user from user;

# 创建一个新的用户
create user 'hcz'@'%' identified by 'ZtLZ3qcGjYW70yyJ';
select host,user from user;

# 为新用户授权
# 允许访问所有数据库下的所有表
grant all privileges on *.* to 'hcz'@'%' identified by 'ZtLZ3qcGjYW70yyJ' ;
FLUSH PRIVILEGES;

# 到这一步就可以通过新创的用户进行root用户权限了

# 删除用户
DROP USER username@localhost;

# 修改后需要刷新权限
FLUSH PRIVILEGES;

docker运行报错问题汇总

  • 出现 Error response from daemon问题

image-20211011144933103

在/etc/docker/下观察是否存在daemon.json,不存在则创建一个输入以下内容。

{
“registry-mirrors”: ["https://docker.mirrors.ustc.edu.cn"]
}

7.2 通过Yum源快速安装Mysql5.7(稳定版本)并配置

官方详细文档:https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/

7.2.1 下载官方的rpm源,并配置到yum中

  • 通过如下命令查看当前Linux系统是el几
# 通过如下命令查看当前Linux系统是el几
uname -a

在这里插入图片描述

下载源:https://dev.mysql.com/downloads/repo/yum/

命令行:sudo rpm -Uvh http://dev.mysql.com/get/platform-and-version-specific-package-name.rpm

platform-and-version-specific-package-name===包名
例如:sudo rpm -Uvh http://dev.mysql.com/get/mysql80-community-release-el7-4.noarch.rpm

CentOS7.6新系统需要的那些家伙【持续更新】_第2张图片

7.2.2 选择对应的mysql版本(默认为上面配置的rpm版本)

***使用此命令查看 MySQL Yum 存储库中的所有子存储库,并查看哪些是启用或禁用的

yum repolist all | grep mysql

enable代表当前安装的版本

CentOS7.6新系统需要的那些家伙【持续更新】_第3张图片

***修改安装的版本

1、使用yum-config-manager命令进行修改

# 默认是找不到yum-config-manager命令的,需要进行安装
yum -y install yum-utils

# 再执行如下命令即可
sudo yum-config-manager --disable mysql57-community
sudo yum-config-manager --enable mysql80-community

2、手动编辑/etc/yum.repos.d/mysql-community.repo 文件进行修改

编辑/etc/yum.repos.d/mysql-community.repo 文件

CentOS7.6新系统需要的那些家伙【持续更新】_第4张图片

7.2.3 安装对应版本的MySQL

sudo yum install -y mysql-community-server

7.2.4 启动MySQL服务器

# 启动MySQL服务器
sudo systemctl start mysqld

# 开机自启动MySQL服务器
sudo systemctl enable mysqld

# 查看MySQL服务器的状态
sudo systemctl status mysqld

7.2.5 配置MySQL服务器

1. 查看MySQL的临时root密码

sudo grep 'temporary password' /var/log/mysqld.log

在这里插入图片描述

MySQL 的 validate_password 插件是默认安装的。
这将要求密码至少包含 1 个大写字母、1 个小写字母、1 个数字和 1 个特殊字符,并且密码总长度至少为 8 个字符。

2. 重置root(两种方式)
  • 通过临时密码进入mysql里面进行密码的更改

格式:mysqladmin -u用户名 -p旧密码 password 新密码
例子:mysqladmin -uroot -p123456 password 123
update user set authentication_string = password(‘新密码’) where user = '用户名' and host = '主机名';

  • 通过命令mysql_secure_installation进行重置root以及其他权限

1、先改密码:

CentOS7.6新系统需要的那些家伙【持续更新】_第5张图片

2、是否修改密码?选择N

CentOS7.6新系统需要的那些家伙【持续更新】_第6张图片

3、是否移除匿名用户?选择y

在这里插入图片描述

4、是否关闭root用户远程连接数据库?选择y

CentOS7.6新系统需要的那些家伙【持续更新】_第7张图片

5、是否删除test库以及对test库的访问权限?选择y

CentOS7.6新系统需要的那些家伙【持续更新】_第8张图片

6、是否重新加载授权表?选择y

在这里插入图片描述

更多详细,看官方文档

3. 通过root用户进行mysql并创建用户和赋予root权限
# 通过命令进入mysql
mysql -u root -p
`输入设置的密码`
# 查看用户信息
select host,user,plugin,authentication_string from mysql.user;
# 创建用户(1、只允许本地登陆访问,2、允许远程登陆访问)
1. 只允许本地登陆访问
create user 'test'@'localhost' identified by '123456';
2. 运行远程登陆访问
create user 'test'@'%' identified by '123456';
# 最后都需要刷新权限
flush privileges;

# 删除用户
DROP USER 'username'@'host';


# 创建用户并赋予权限(8.0版本需要分开执行)
# mysql5.7、5.6等旧版本创建用户并赋予权限
grant ALL PRIVILEGES ON *.* to root@"%" identified by "xxxx" WITH GRANT OPTION;

# mysql8.0创建用户并赋予权限步骤如下:
# 为新用户添加权限(1、本地,2、外网)
1. 本地
grant all privileges on 数据库名.表名 to '用户名'@'localhost';
flush privileges;
2. 外网(全部授权)
grant ALL PRIVILEGES ON *.* to root@"%";
# 刷新权限
flush privileges;

7.2.6 到此为止,MySQL就可以进行远程访问了

CentOS7.6新系统需要的那些家伙【持续更新】_第9张图片

你可能感兴趣的:(云服务器,linux,运维,服务器)