以特权模式运行容器。
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