Docker搭建MySQL8过程记录
159
2022-11-19
Docker 部分
-
首先,确保系统中已安装有 Docker 环境;
-
拉取 MySQL 8 镜像
可以到【这里】查看具体需要的版本
docker pull mysql/mysql-server:8.0.4
-
创建文件和文件夹
- my.cnf 文件保存配置信息
- data/ 数据库文件目录
-
创建并启动容器
docker run -d --name mysql \
-p 3306:3306 \
-v /home/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-v /home/mysql/data:/var/lib/mysql \
mysql:8.0.4
MySQL 配置
Docker 容器启动后还需要对 MySQL 服务进行配置否则无法外部访问。
-
进入容器
docker exec -it 容器id bash
-
登录mysql,默认情况下密码为空,直接回车即可
mysql -u root -p
-
修改 root 用户密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
FLUSH PRIVILEGES;
-
使用mysql数据表
use mysql;
-
查看user表中的数据:
select Host, User from user;
-
修改user表中的Host:
update user set Host=‘%’ where User=‘root’;
-
此番操作后连接数据库服务提示错误:
The user specified as a definer (‘mysql.infoschema’@‘localhost’)
,执行如下命令
create user 'mysql.infoschema'@'localhost' identified by '新密码';
grant all on *.* to 'mysql.infoschema'@'localhost';
- 又一番操作后,连接数据库服务提示错误:
2013 - Lost connection to MySQL server at reading initial communication packet
,修改my.cnf
配置后重启 MySQL 服务
[mysqld]
character-set-server = utf8mb4
skip-name-resolve
其他
MySQL 8 查看锁表和表使用情况
show OPEN TABLES where In_use > 0;
select * from performance_schema.data_locks;
select * from performance_schema.data_lock_waits;
参考
docker 安装mysql8详细说明
解决mysql8 Operation ALTER USER failed for ‘root’@’%‘
MySQL 8报错:The user specified as a definer (‘mysql.infoschema’@‘localhost’)
数据库-MySql 2013 - Lost connection to MySQL server at reading initial communication packet
mysql查询死锁表 Unknown table ‘INNODB_LOCKS‘ in information_schema
- 0
- 0
-
分享