mysql与redis、Sql Server、oracle安装

傻男人 1年前 ⋅ 754 阅读

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

全部评论: 0

    我有话说: