Docker、Linux命令行安装MySQL

本文详细介绍了在Linux环境下通过命令行手动安装MySQL 5.7的步骤,包括创建用户组、解压安装、初始化数据库、设置开机自启以及修改密码。此外,还涵盖了使用Docker安装MySQL 8.0.30的方法,包括拉取镜像、配置环境变量、数据持久化以及使用docker-compose管理。同时,文章提及了忘记密码时的解决办法。
摘要由CSDN通过智能技术生成

命令行安装

下载

mysql.tar.gz下载

安装

# 1.创建mysql用户与组
groupadd mysql
useradd -r -g mysql mysql

# 2.解压并移动到/usr/local目录下
tar -zxvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.24  /usr/local/mysql

# 3.创建mysql数据存储文件夹以及授权
mkdir /usr/local/mysql/data
chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql

# 4.mysql初始化操作
cd /usr/local/mysql/bin
# 此步骤会生成默认root用户密码 请注意
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql

# 5.编辑mysql配置文件
vim /etc/my.cnf
	[mysqld]
	datadir=/usr/local/mysql/data
	port = 3306
	sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
	symbolic-links=0
	max_connections=400
	innodb_file_per_table=1
	lower_case_table_names=1
	character_set_server=utf8

初始化

# 1.启动mysql服务
/usr/local/mysql/support-files/mysql.server start

# 2.添加软连接,并重启mysql服务
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
service mysql restart

# 3.登录mysql
mysql -u root -p

# 4.修改密码
set password for root@localhost = password('admin');

# 5.开放客户端连接权限
use mysql
update user set user.Host='%' where user.User='root';
flush privileges;

开机自启

# 1.将服务文件拷贝到init.d下 并命名为mysqld
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld 

# 2.赋予可执行权限
chmod +x /etc/init.d/mysqld

# 3.添加服务
chkconfig --add mysqld

# 4.显示服务列表
chkconfig --list

忘记密码

# 1.关闭mysql服务
service mysql stop

# 2.修改/etc/my.cnf文件
skip-grant-tables # 添加这句话作用是登录时跳开密码校验

# 3.登录mysql
mysql -u root

# 4.修改数据库密码
use mysql
update mysql.user set authentication_string=password('admin') where user='root';
flush privileges;

Docker安装

docker run

# 从DockerHub仓库中拉去mysql8.0.30版本镜像文件
docker pull mysql:8.0.30

docker run -d -p 3306:3306 --name mysql --restart=always  -e MYSQL_ROOT_PASSWORD=123456 -v /usr/local/docker/mysql/conf.d:/etc/mysql/conf.d -v /usr/local/docker/mysql/data:/var/lib/mysql mysql:8.0.30

-e MYSQL_ROOT_PASSWORD=123456	# 指定root密码
--restart=always	# docker重启后自动加载该容器
-v /usr/local/docker/mysql/conf.d:/etc/mysql/conf.d 	# mysql配置文件与宿主机绑定
-v /usr/local/docker/mysql/data:/var/lib/mysql	# mysql的数据与宿主机进行绑定
-d 后台运行 -p 端口映射 --name设置名称

docker-compose

version: "3.8"

 mysql:
    container_name: "app_mysql"
    image: "mysql:8.0.30"
    # 重启策略
    restart: always
    networks:
      - app
    # 端口映射
    ports:
      - "3306:3306"
    volumes:
      # 数据挂载
      - "/usr/local/docker/app/mysql/data:/var/lib/mysql"
      # 配置文件挂载
      - "/usr/local/docker/app/mysql/config:/etc/mysql/conf.d"
    environment:
      # root用户密码
      MYSQL_ROOT_PASSWORD: 123456
      # mysql时区
      TZ: Asia/Shanghai
    command:
      # 将mysql8.0默认密码策略修改为原先策略 (mysql8.0对其默认策略做了更改 会导致密码无法匹配)
      --default-authentication-plugin=mysql_native_password
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --explicit_defaults_for_timestamp=true
      --lower_case_table_names=1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值