美文网首页
Docker安装mysql数据库

Docker安装mysql数据库

作者: geekAppke | 来源:发表于2018-11-12 22:55 被阅读23次

CentOS安装mysql

不要直接安装mysql,它只是个客户端

1.下载mysql的repo源
    如果没有 wget 先yum install -y wget
    wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
2.安装mysql-community-release-el7-5.noarch.rpm包
    非 root 用户 加上 sudo
    rpm -ivh mysql-community-release-el7-5.noarch.rpm
3.安装mysql服务
    yum install -y mysql-server
4.启动mysql服务
    service mysqld start
5.设置开机启动mysql服务
    chkconfig mysqld on

空密码进入mysql

mysql> show databases;
mysql> use mysql;
mysql> show tables;
mysql> show user;
mysql> select user, host, password from user;
+------+-------------------+----------+
| user | host              | password |
+------+-------------------+----------+
| root | localhost         |          |
| root | vm\_0\_13\_redhat |          |
| root | 127.0.0.1         |          |
| root | ::1               |          |
|      | localhost         |          |
|      | vm\_0\_13\_redhat |          |
+------+-------------------+----------+
6 rows in set (0.00 sec)

修改 mysql 密码

mysql> UPDATE mysql.user SET password=PASSWORD("123456") WHERE user="root";

设置登录权限,远程服务器可访问

mysql> delete from user;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql> flush privileges;

以后密码登录

mysql -uroot -p123456


Mac上docker部署mysql服务

获取mysql官方最新docker镜像

$ docker pull mysql/mysql-server:latest
网易加速源:docker pull hub.c.163.com/library/mysql:5.7

下载后查看镜像:docker images

创建并启动mysql服务容器

docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql/mysql-server

参数说明

--name  给容器起别名,可选,不指定,则自动生成不规则的字符串
-p  3306:3306 将本机3306 端口映射到docker 的3306端口
-v  ~/mysql/data:/var/lib/mysql 是将本机的/mysql/data目录映射到docker的/var/lib/mysql 文件夹
    自动创建~/mysql/data,用于存放容器的mysql数据库文件
-e  MYSQL_ROOT_PASSWORD=123456 初始化密码为123456
-d  确定唯一镜像,这里只有一个mysql也有必要要tag, 仓库名:标签


# 可以重新运行,重新起个--name
# 不用在mac上持久化
-v ~/mysql/data:/var/lib/mysql 
-v ~/mysql/logs:/logs  将本机下的logs目录挂载到容器的/logs
-v ~/mysql/conf:/etc/mysql/conf.d

下次用docker启动

docker start mysql

连接mysql数据库

# 进入mysql容器的bash终端
docker exec -it mysql bash
bash-4.2# mysql -uroot -p123456
mysql> 

Mac本地连接mysql

必须先设置mysql 密码

mysql> use mysql;
mysql> update user set host="%" where user="root";
mysql> grant all PRIVILEGES on *.* to root@'%' WITH GRANT OPTION;
mysql> flush privileges;

终端链接mysql,类似远程连接

# Mac上仅安装mysql client客户端
brew install mysql --client-only --universal
# 尝试连接
mysql -h127.0.0.1 -uroot -p123456

停止mysql服务:

docker stop mysql 
sequel pro

mysql5.6以后的版本修改了加密算法,这里需要更新密码算法,操作步骤如下

mysql> ALTER user 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.09 sec)
mysql>
mysql> ALTER user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
Query OK, 0 rows affected (0.01 sec)
mysql> 
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)

参考资料

MAC上用Navicat连接本机Docker的Mysql8.0 - Fatal Error - CSDN博客
Docker 安装 MySQL | 菜鸟教程
Mac下的docker安装以及docker中mysql的安装使用 | Batman's Wayne House
在 Docker 中使用 mysql | 破船之家
Centos7.2安装Mysql5.7(阿里云) - 简书

相关文章

网友评论

      本文标题:Docker安装mysql数据库

      本文链接:https://www.haomeiwen.com/subject/yoqhfqtx.html