Linux Docker 安装Mysql
首先安装docker,这里不做过多介绍
#查看docker版本
docker --version
#启动
systemctl start docker
systemctl restart docker
#搜索mysql镜像
docker search mysql
docker pull mysql:latest
#查看镜像
docker images
启动:
docker run -itd \
--name mysql \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 mysql
# -p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。
# MYSQL_ROOT_PASSWORD=123456:设置 MySQL 服务 root 用户的密码。
#进入MySQL:
docker ps
docker exec -it a469eb1589e bash
#查看mysql版本:
mysql --version
#登录mysql
mysql -uroot -p
#查看数据库:
show databases;
#MySQL的安全设置
# 登录mysql
mysql -u root -p
# 修改root账号的密码,不同版本修改密码的SQL语句是不一样的
ALTER USER 'root'@'localhost' IDENTIFIED BY '456789';
# 添加远程登录用户
CREATE USER 'test'@'%' IDENTIFIED WITH mysql_native_password BY '456789';
GRANT ALL PRIVILEGES ON *.* TO 'test'@'%';
# 刷新权限
# flush privileges;
FLUSH PRIVILEGES;
# 增加root用户的远程连接权限并指定密码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '456789';
# 更新权限
flush privileges;
## 解决认证插件错误
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '456789';
flush privileges;
#一般到这里就可以链接了
#因为现在是新版本8.0了 ,老版本的修改密码的语法已不再适用,mysql 5.7.9以后废弃了password字段和password()函数;
#新版本的密码修改可以通过如下命令操作:
use mysql;
ALTER user 'root'@'localhost' IDENTIFIED BY 'newpassward'
#-- 注意,这里的密码要用包含8位大写+小写+特殊字符+数字的密码
ALTER user 'root'@'%' IDENTIFIED BY 'shenma@521'
FLUSH PRIVILEGES;
指定配置文件和数据存放位置
#创建本机数据和配置,日志等文件夹
mkdir -vp /server/mysql
cd /server/mysql
mkdir data logs conf
#复制配置文件
docker cp mysql-test:/etc/mysql /server/mysql/conf
#复制data文件
docker cp mysql-test:/var/lib/mysql /server/mysql/data
#停止并删除容器
docker stop mysql-test
docker rm -f mysql-test
#重新启动容器
docker run -d -p 3306:3306 \
--name mysql \
--privileged=true \
--restart=unless-stopped \
-v /server/mysql/conf/mysql/conf.d:/etc/mysql/conf.d \
-v /server/mysql/logs:/var/log/mysql \
-v /server/mysql/data/mysql:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:latest
还没有评论,快来发表第一个评论吧