1.环境:
centos8
podman3.2
mysql8
2.安装
拉取镜像 (拉去最新版的)
docker pull mysql
创建数据目录和配置文件目录
mkdir -p /usr/mysql/conf /usr/mysql/data
设置权限
chmod -R 755 /usr/mysql/
创建配置文件
vim /usr/mysql/conf/my.cnf
将以下信息添加到配置文件中
[client]
#socket = /usr/mysql/mysqld.sock
default-character-set = utf8mb4
[mysqld]
#pid-file = /var/run/mysqld/mysqld.pid
#socket = /var/run/mysqld/mysqld.sock
#datadir = /var/lib/mysql
#socket = /usr/mysql/mysqld.sock
#pid-file = /usr/mysql/mysqld.pid
datadir = /usr/mysql/data
character_set_server = utf8mb4
collation_server = utf8mb4_bin
secure-file-priv= NULL
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Custom config should go here
!includedir /etc/mysql/conf.d/
创建容器
podman run --restart=unless-stopped -d --name mysql -v /usr/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /usr/mysql/data:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
3.远程连接
问题
上述虽然安装好了mysql,但是使用远程的Navicat连接时提示错误,不能正确连接mysql,此时需要修改按照下面说的步骤修改一下mysql的密码模式以及主机等内容才可以。
进入容器内部
podman exec -it mysql /bin/bash
进入数据库
mysql -uroot -p你的密码
修改访问主机以及密码等,设置为所有主机可访问
$ mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密码';
刷新
$ mysql> flush privileges
经过上述步骤navicat就可以远程连接了