Docker的Centos7安装MySQL

时间:2025-03-31 18:24:51

以特权模式运行容器。

docker run -d -p 3307:3306 --name=zzn --privileged=true centos:centos7 /usr/sbin/init

docker exec -it zzn /bin/bash
  • 1
  • 2
  • 3

安装wget命令

yum install -y wget
  • 1

下载mysql的rpm文件

wget -i -c /get/
  • 1

安装mysql

yum -y install 

rpm --import /RPM-GPG-KEY-mysql-2022

yum -y install mysql-server
  • 1
  • 2
  • 3
  • 4
  • 5

修改配置

vi /etc/
最下面添加
explicit_defaults_for_timestamp=true
user=root
  • 1
  • 2
  • 3
  • 4

初始化MySQL

mysqld --initialize

如果忘记密码可以把 datadir 目录中的文件删除,之后再执行此命令即可重新初始化mysql

cat /var/log/ 可以找到 初始密码
  • 1
  • 2
  • 3
  • 4
  • 5

启动mysql服务

mysqld
  • 1

启动成功后终端这个时候会卡住相当于这个终端不能用,下面那片空白会不能执行其他命令没反应,
如果当前服务终端被卡住,还想继续执行命令,则可以开启新的终端,必须用exec重新进入开启新的终端,用attach还会是卡住状态

进入mysql

mysql -uroot -p 初始密码 登录进去
  • 1

重置MySQL密码

set password for root@localhost=password('123456');
// 8.0 及之后版本执行 set password for root@localhost = 'password'
// root作为超级管理员,IP访问权限写为localhost比较保险,千万不能写成%
grant all privileges on *.* to 'root'@'localhost' identified by '123456';
//8.0及之后版本执行 create user 'root'@'%' identified by 'password';  GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';

flush privileges;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7