mysql与redis安装
mysql
一、yum一键安装
安装脚本 提取码:p0gf
二、docker安装
目录准备
mkdir -p /home/mount/mysql/data /home/mount/mysql/logs /home/mount/mysql/conf
配置文件准备(非必须)
目录/home/mount/mysql/conf下新建my.cnf文件
[mysqld]
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
#设置该 DB 最大连接数
max_connections=2000
#设置单用户最大连接数
max_user_connections=1000
# 表名不区分大小写
lower_case_table_names=1
#server-id=1
datadir=/var/lib/mysql
#socket=/var/lib/mysql/mysqlx.sock
#symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
安装命令
docker run --name mysql -p 13307:3306 \
-v /home/mount/mysql/data:/var/lib/mysql \
-v /home/mount/mysql/logs:/logs \
-v /home/mount/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=Zhcf@RzMS20210814 -d mysql:5.7
命令说明:
- -e MYSQL_ROOT_PASSWORD 是设置mysql的root账号密码
- -v /root/home/mysql/data:/var/lib/mysql 将主机/root/home/mysql/目录下的data目录挂载到容器的 /var/lib/mysql
- -v /root/home/mysql/logs:/logs 将主机/root/home/mysql目录下的 logs 目录挂载到容器的 /logs
- -v /root/home/mysql/conf:/etc/mysql/conf.d 将主机/root/home/mysql录下的conf/my.conf 挂载到容器的 /etc/mysql/conf.d
- mysql:5.7 是你的镜像标签(示例为5.7的版本)
可能出现的问题
- ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded: ÕÒ²»µ½Ö¸¶¨µÄÄ£¿é
- 解决的方法:
- 1、docker exec -it xxxx bash (xxxx表示当前MySQL的容器id)
- 2、mysql -uroot -p
- 3、ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root'; # 最后面的分号不能少
- 4、给root用户赋予所有的权限:Grant all privileges on . to root@'%'; 5、flush privileges
备份数据库
docker exec myql服务容器ID sh -c ' exec mysqldump --all-databases -uroot -p"password" ' > /目录/bak文件名.sql
redis
一、yum一键安装
安装脚本 提取码:0pa0
二、docker安装
目录准备
mkdir -p /home/mount/redis/data /home/mount/redis/logs /home/mount/redis/conf
下载redis的配置文件
配置文件 提取码:le15
将下载的配置放入到
/home/mount/redis/conf/
安装命令
docker run --name redis --restart=always \
--privileged=true -p 26382:6379 \
-v /home/mount/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf \
-v /home/mount/redis/data/:/data \
-v /home/mount/redis/log/redis.log:/var/log/redis.log \
-d redis redis-server /usr/local/etc/redis/redis.conf \
--appendonly yes --requirepass 'Zhcf@2024.#Qz!' \
--protected-mode no
命令说明:
- –-appendonly yes redis启动后数据持久化
- protected-mode no # 默认yes开启保护模式,限制为本地访问,
- --requirepass 'admin123' 设置密码为admin123
安装Sql Server
启动命令
docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Txcf@SqlServer20221014." -p 11432:1433 --name sqlserver \
--memory 2400M \
-v sqldata:/var/opt/mssql -d mcr.microsoft.com/mssql/server
"ACCEPT_EULA=Y"与"SA_PASSWORD=Txcf@SqlServer20221014."" : windows docker,这里必须是双引号。 "SA_PASSWORD=Txcf@SqlServer20221014." 给SA用户设置登录密码,密码复杂度:大小写+特殊符号+数字 --memory 2000M:sqlserver 的容器运行时,内存要>=2000MB,因此,要指定 容器运行时内存。否则容器已启动就推出,且不会有任何异常信息,如果内存够大,则不需要处理
- 坑点:挂载目录要为根目录才可以,尝试过其他的挂载方式都未成功,实际挂载的目录为: /var/lib/docker/volumes/sqldata
连接
进入容器内部执行以下的语句
./sqlcmd -S localhost -U txcf -P "Txcf@SqlServer20221014."
oracle
已Oracle_11g版本为例
1、拉取镜像
因为镜像有6G多,故先把镜像拉下来
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
2、启动容器
docker run -d -p 11523:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
3、进入容器内部配置用户名
docker exec -it oracle11g bash
4、切换用户配置: su root
输入密码: helowin
5、配置ORACLE环境变量
vi /etc/profile
,并添加如下内容, 保存退出后使配置生效source /etc/profile
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH
6、创建软连接: ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
7、切换到oracle 用户: su - oracle
8、登录sqlplus并修改sys、system用户密码:
sqlplus /nolog # 登录
conn /as sysdba # 连接
alter user system identified by system; # 修改system密码为system1
alter user sys identified by sys; # 修改sys密码为sys1
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
exit;
9、查看一下oracle实例状态: lsnrctl status
10、连接
- 端口:11523
- 服务名:helowin
- 用户名:system
- 密码:system
注意:本文归作者所有,未经作者允许,不得转载