首页 > 技术文章 > Linux安装MySQL

xiaoyiStudent 2020-05-11 11:14 原文

由于简单快速,所以这里使用的Docker安装。我的操作系统是阿里云的CentOS 7.3。

第一步、安装docker。

设置仓库

安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2

[root@iz2zec029x0q5viql9a4caz ~]# sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

设置稳定的仓库

[root@iz2zec029x0q5viql9a4caz ~]#  sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

安装 Docker

[root@iz2zec029x0q5viql9a4caz ~]#  sudo yum install docker-ce docker-ce-cli containerd.io

中途会让你接受密钥 请通过 输入 ’ Y ' 并回车来确认

[root@iz2zec029x0q5viql9a4caz ~]#  sudo systemctl start docker

验证

通过运行 hello-world 映像来验证是否安装成功

[root@iz2zec029x0q5viql9a4caz ~]#  sudo docker run hello-world

第二步、安装MySQL

拉取MySQL镜像

我们可以通过访问MySQL镜像库地址来拉取指定的MySQL版本。

方法如下:

​ 1.访问 MySQL 镜像库地址

​ 2.选择版本

​ 3.安装

在这里我们选择最新版本

[root@iz2zec029x0q5viql9a4caz ~]#  docker pull mysql:latest

查看本地镜像

[root@iz2zec029x0q5viql9a4caz ~]# docker images

说明我们拉取成功!

运行容器

[root@iz2zec029x0q5viql9a4caz ~]# docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

--name:设置名称

--MYSQL_ROOT_PASSWORD=:设置密码

-p 3306:3306:映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。

验证

[root@iz2zec029x0q5viql9a4caz ~]# docker ps

访问MySQL服务

进入MySQL容器

[root@iz2zec029x0q5viql9a4caz ~]# docker exec -it 容器ID /bin/bash

容器ID通过 docker ps 查看

登录MySQL

[root@iz2zec029x0q5viql9a4caz ~]# mysql -u root -h 127.0.0.1 -p

添加远程登录权限

	mysql> use mysqsl;
	mysql> update user set host='%' where user ='root';#更改为任意IP可以登录
	mysql>flush privileges;#刷新权限

退出MySQL

mysql> quit

退出MySQL容器

root@6c5707caeb65:/# exit

其他操作

  • 更改root密码

    	mysql> use mysqsl;
    	mysql> alter user 'root'@'localhost' identified by '新密码';
    	mysql>flush privileges;
    
  • 添加远程用户并授权

    mysql> select host,user form user; #查看现有mysql用户
    

    mysql> show grants for 'test';#查看用户权限
    

    mysql> create user 'wangwu'@'%' identified by '123456';#添加用户名为‘wangwu’,密码为‘123456’ 允许登录的IP为任意;
    
     flush privileges; #刷新权限
    
    mysql> grant all privileges on test.* to 'wangwu'@'%';#为用户‘wangwu’添加操作数据库test下的所有权限
    

推荐阅读