Linux环境安装mysql、git、docker、nginx
一 .linux安装mysql
1.安装包
在/usr/local下创建mysql文件夹,进入该文件夹
cd /usr/local/mysql
使用命令下载mysql对应的版本
wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz
查看用户组是否有mysql
groups mysql
创建mysql保存文件夹并赋权(没有就新增一个 useradd mysql)
mkdir -p /data/mysql
chown mysql:mysql -R /data/mysql
编辑mysql配置文件,没有就新加
vim /etc/my.cnf
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
#skip-grant-tables
如果原本有my.cnf文件,删掉里面的内容
解压下载好的mysql文件,将里面的内容移到/usr/local/mysql文件夹下
mv mysql-5.7.44-linux-glibc2.12-x86_64/* ./
进入sbin文件夹进行初始化
cd /usr/local/mysql/bin/
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
查看初始化密码
cat /data/mysql/mysql.err
复制myql启动文件
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
启动mysql
service mysql start
无密码登录mysql配置
vim /etc/my.cnf
在【mysqld】模块下面添加:skip-grant-tables 保存退出。
service mysql restart
无密码登录mysql
/usr/local/mysql/bin/mysql -u root -p #不输入密码直接敲回车登录
如果出现缺包的问题,直接创建软链接
ln -s /usr/lib64/libncurses.so.6 /usr/lib64/libncurses.so.5
ln -s /usr/lib64/libtinfo.so.6 /usr/lib64/libtinfo.so.5
配置root能所有端访问
use mysql #选择访问mysql库
update user set host = '%' where user = 'root'; #使root能再任何host访问
FLUSH PRIVILEGES; #刷新
修改root密码
ALTER USER "root"@"%" IDENTIFIED BY "password";
FLUSH PRIVILEGES; #刷新
如果忘记密码了,去/usr/local/mysql/bin 下,执行mysqld_safe
./mysqld_safe --skip-grant-tables &
然后再去执行[修改root密码]步骤
删除my.cnf的免密配置,重启服务
service mysql restart
登录root用户创建其他用户
/usr/local/mysql/bin/mysql -u root -p 输入刚修改的密码
CREATE USER 'test'@'%' IDENTIFIED BY '123';
- '%' - 所有情况都能访问
- ‘localhost’ - 本机才能访问
- ’111.222.33.44‘ - 指定 ip 才能访问
grant all on 数据库名.数据库表 to 用户名@'%' identified by "密码";
- all 可以替换为 select,delete,update,create,drop
- 数据库名 所有的 用*
- 数据库表 所有的 用*
2. docker安装mysql
- 下载mysql
docker pull mysql:5.7
启动
```xml
docker run -p 3306:3306 --name mysql -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=root123456 -d mysql:5.7
--lower_case_table_names=1(如果需要设置linux下的mysql表名不区分大小写)
docker run -p 33611:3306 --name mysql -e MYSQL_ROOT_PASSWORD=aaa -d mysql:5.7 --lower_case_table_names=1
(如果需要设置linux下的mysql表名不区分大小写)
参数说明
-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口
-v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机
-v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
-v /mydata/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=root:初始化 root 用户的密码
```xml
启动失败问题
CentOS7中的安全模块selinux把权限禁掉了,无法使用-v命令进行挂载
添加selinux规则,将要挂载的目录添加到白名单
chcon -Rt svirt_sandbox_file_t /mydata/mysql/log
chcon -Rt svirt_sandbox_file_t /mydata/mysql/data
chcon -Rt svirt_sandbox_file_t /mydata/mysql/conf
配置
进入容器的mysql
docker exec -it mysql mysql -uroot -pTfkj@qq.0248a
设置远程访问
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option; flush privileges;
小问题解决
使用轻量服务器链接不到mysql问题
1.配置轻量服务器的防火墙,在腾讯云控制台处
2. 进入容器的mysql
- show databases; 查询数据库
- use mysql; 使用mysql
- show tables; 查询mysql里面的表,应该有user用户表
- update user set authentication_string=password("yourNewPassword") where User='root'; 更新密码
- 重启mysql
二. linux安装redis
redis版本 6.0.20
1.准备环境
在使用make编译redis时,需要升级原有的gcc版本
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
echo "source /opt/rh/devtoolset-9/enable" >> /etc/profile
gcc -v
以上方式升级gcc失败时,通过源码安装升级
yum install wget make gmp-devel mpfr-devel libmpc-devel bzip2 zlib-devel
#可以从清华源找到需要的版本https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/
wget https://ftp.gnu.org/gnu/gcc/gcc-8.3.0/gcc-8.3.0.tar.gz
tar xf gcc-8.3.0.tar.gz
cd gcc-8.3.0
./contrib/download_prerequisites
mkdir build
cd build
../configure --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --enable-gnu-indirect-function --with-tune=generic --disable-multilib
#CPU*2
make -j 4
make install
这个速度太慢了
由于Centos7不被维护了,所以需要修改源,参考https://zhuanlan.zhihu.com/p/707097821
sed -i s/mirror.centos.org/vault.centos.org/g /etc/yum.repos.d/*.repo sed -i s/^#.*baseurl=http/baseurl=http/g /etc/yum.repos.d/*.repo sed -i s/^mirrorlist=http/#mirrorlist=http/g /etc/yum.repos.d/*.repo
2.编译安装
进入到redis文件夹,解压文件
tar -zxvf redis-6.0.20.tar.gz
进入到解压后的文件编译
make
然后安装PREFIX=/usr/local/redis 指定安装目录
make install PREFIX=/usr/local/redis
3.运行
修改配置文件,让redis可以以守护进行运行
daemonize no 修改为 daemonize yes
三.linux安装docker
1. 卸载docker
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
2. 安装docker
yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
如果是国内的服务器,配置下面的代理
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install -y docker-ce docker-ce-cli containerd.io
3.启动
systemctl start docker
4.设置开启启动
systemctl enable docker
5. 验证docker版本
docker --version
6.配置代理
本机先启动代理
没有就先创建该文件
vim /etc/systemd/system/docker.service.d/proxy.conf
[Service]
Environment="HTTP_PROXY=http://127.0.0.1:7890"
Environment="HTTPS_PROXY=http://127.0.0.1:7890"
#重启
sudo systemctl daemon-reload &&
sudo systemctl restart docker
#查看是否已经用上代理
Environment=HTTP_PROXY=http://127.0.0.1:7890 HTTPS_PROXY=http://127.0.0.1:7890
四.linux安装git
1. 安装(linux)
git最新版本查看地址https://github.com/git/git/tags,下载对应版本的tar.gz
1. 查看服务器是否有git
git --version #查看git版本
yum remove git -y #移除旧git版本(如果有的话)
2. 安装所需软件依赖包
yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum install -y gcc-c++ perl-ExtUtils-MakeMaker
3.将下载好的git放到自己的文件夹(也可以使用wget命令下载),然后解压
tar -zxvf xxx.tra.gz #对应的git包名称
4.配置编译安装
cd git-2.37.1 #解压好的git目录
make configure #编译
./configure --prefix=/usr/local/git ##配置目录
make && make install #安装
5.加入环境变量
vim /etc/profile
export GIT_PATH=/usr/local/git/bin
export JAVA_PATH=/usr/local/jdk/jdk1.8.0_251/bin
export MAVEN_PATH=/usr/local/maven/apache-maven-3.9.6/bin
export PATH=$PATH:${GIT_PATH}:${JAVA_PATH}:${MAVEN_PATH}
source /etc/profile #刷新环境变量
2. 配置用户信息
git config --global user.name "username"
git config --global user.email xxx.@.com
3.查询全部配置
git config --list
五.linux安装nginx
5.1安装包方式
基础环境更新
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
进入安装包页面
./configure
make
make install
配置环境变量
vim /etc/profile
PATH=$PATH:/usr/local/nginx/sbin
export PATH
#配置立即生效
source /etc/profile
nginx配置SSL
nginx -V #大写的V检查nginx是否安装了ssl 如果没有安装,则进行安装
进入到nginx的解压目录执行 /usr/local/nginx是nginx的安装目录
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
在nginx的解压目录执行make (不能执行make install 不然会将nginx重新安装)
make
执行完成后,会在解压目录生成一个objs文件夹,将文件夹下的nginx文件替换到安装目录下 /usr/local/nginx/sbin
cp xx/objs/nginx /usr/local/nginx/sbin/
#4 重启nginx检查即可
#如果提示nginx文件没有权限 则执行 sodu chmod -R 777 nginx
5.2 yum方式安装
yum install -y nginx
系统启动时运行
systemctl enable nginx
启动nginx
systemctl start nginx
停止nginx
systemctl stop nginx
配置文件在/etc/nginx/下
在conf.d文件下加自己需要的配置文件即可
六.yum配置阿里源
1.备份原文件
cp -r /etc/yum.repos.d /etc/yumcp.repos.d
2.进入文件夹删除原文件
cd /etc/yum.repos.d
rm -rf *
3.下载新的文件
# 1. 配置Base源 能够下载CentOS自带的软件
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
# 2. 配置Epel源 :下载第三方工具
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
# 3. 清空源缓存 && 生成阿里云缓存
yum clean all
yum makecache
- 本文标签: Linux redis mysql
- 本文链接: https://www.tianyajuanke.top/article/87
- 版权声明: 本文由吴沛芙原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权