新的故事-安装MySQL

一、安装MySQL

新的故事-安装MySQL_第1张图片
MySQL预览图

小目录

  1. 在windows 8.1安装mysql
  2. 在centos7安装mysql
  3. 通过docker安装mysql

1. 在windows8.1安装mysql

1.1 安装步骤

  • 步骤1:

点击这里访问mysql下载页面

  • 步骤2:

Community Server就是社区版的意思,免费


新的故事-安装MySQL_第2张图片
下载mysql
  • 步骤3:

选择第二个,点击download


新的故事-安装MySQL_第3张图片
下载mysql
  • 步骤4:

有账号的kr以点击login,登录后下载,没账号的直接点start my download:)


新的故事-安装MySQL_第4张图片
下载mysql
  • 步骤5:
  1. 运行下载好的 mysql-installer-community-8.0.12.0.msi
  2. 选择“I accept the license terms”
  3. 点击"Next"
  4. 选择“Server Only“,因为我们只需要mysql作为服务器
  5. 点击“Next”
  6. 检查依赖,选择需要安装的依赖软件后点击Execute,会自动下载和安装该依赖软件


    新的故事-安装MySQL_第5张图片
    安装依赖
  7. 安装完依赖后点击“Next”
  8. 点击Execute开始安装MySQL Server
  9. 安装完后点击“Next”
  10. 组复制,mysql 5.7.17后的新特性,选择第一个即可


    新的故事-安装MySQL_第6张图片
    组复制
  11. 点击“Next”
  12. 选择“Server Computer”后点击“Next”


    新的故事-安装MySQL_第7张图片
    windows安装mysql
  13. Authentication Method 点击“Next”
  14. 输入root密码后点击“Next”
  15. 点击“Next”
  16. 点击“Execute”
  17. 安装完成点击“Finsh”

1.2 什么?已经装好了?!

是的

1.3 设置mysql环境变量

  1. 右键点击"这台电脑"
  2. 点击"属性"
  3. 点击"高级系统设置"
  4. 点击"环境变量"


    新的故事-安装MySQL_第8张图片
    设置mysql环境变量
  5. 在“系统变量”中找到“Path”,双击“Path”
  6. 将mysql的bin目录添加到Path中,注意用分号与前一个路径分割开来,默认安装目录是C:\Program Files\MySQL\MySQL Server 8.0\bin


    新的故事-安装MySQL_第9张图片
    设置mysql环境变量
  7. 点击“确定”

1.4 windows验证mysql

  1. 打开任务管理器
  2. 点击服务


    新的故事-安装MySQL_第10张图片
    任务管理器

    可以看到mysql服务已经起来了!
    win7的朋友可以打开控制面板 > 管理工具 > 服务里也能找到mysql服务

  3. 按win + r,输入cmd,确定


    新的故事-安装MySQL_第11张图片
    运行cmd
  4. 查看mysql版本
    运行命令mysql --version
    mysql版本
  5. 登录mysql
    运行命令 mysql -u root -p
    输入root密码后按回车
    新的故事-安装MySQL_第12张图片
    登录mysql

    -u root表示指定用户为root
    -p 表示用密码登录

2. 在centos7安装mysql

2.1 由于centos7已用Mariadb代替默认的MySQL,所以直接安装Mariadb即可

sudo yum -y install mariadb mariadb-server

2.2 启动Mariadb

sudo systemctl start mariadb

2.3 开机自启动

sudo systemctl enable mariadb

2.4 安全配置

  1. 命令行输入:mysql_secure_installation
  2. Enter current password for root (enter for none):刚安装好的mariadb没有初始密码,直接按回车即可
  3. Set root password? [Y/n] Y
  4. New password: 输入root密码
  5. Re-enter new password:再次输入root密码
  6. Remove anonymous users? [Y/n] Y 删除匿名用户
  7. Disallow root login remotely? [Y/n] Y 不允许root用户远程登录
  8. Remove test database and access to it? [Y/n] Y 删除测试数据库
  9. Reload privilege tables now? [Y/n] Y 重载权限表

2.5 登录mariadb

mysql -u root -p
输入密码,登录成功

2.6 配置mariadb字符集

  • sudo vi /etc/my.cnf
    在[mysqld]下添加
init_connect='SET collation_connection = utf8_unicode_ci' 
init_connect='SET NAMES utf8' 
character-set-server=utf8 
collation-server=utf8_unicode_ci 
skip-character-set-client-handshake
新的故事-安装MySQL_第13张图片
my.cnf
  • sudo vi /etc/my.cnf.d/client.cnf
    在[client]下添加
default-character-set=utf8

  • sudo vi /etc/my.cnf.d/mysql-clients.cnf
    再[mysql]下添加
default-character-set=utf8
  • sudo systemctl restart mariadb
    重启mariadb
    登录mysql
  • show variables like "%character%";show variables like "%collation%";
    新的故事-安装MySQL_第14张图片
    mariadb字符集配置

    可以看到字符集成功配置为utf8

2.7 添加用户和授权

  • 创建用户
    create user username@localhost identified by 'password';
    其中username替换为自己的用户名,password替换为自己的密码
  • 创建用户并授权
    grant all on *.* to username@localhost indentified by 'password';
    其中all表示授予所有权限,也可以根据需求授予下面的权限
select,insert,update,delete,create,drop,index,alter,grant,
references,reload,shutdown,process,file
  • 授权外网登录
    grant all privileges on *.* to username@'%' identified by 'password';
    其中%表示任何地址都可以访问mariadb
  • 授予用户授权的权限
    grant all privileges on *.* to username@'hostname' identified by 'password' with grant option;

3. 通过docker安装mysql

3.1 安装docker

没有安装docker的朋友可以点击这里查看docker安装指南(centos7安装docker)

3.2 拉取mysql镜像

  • 还需要输入sudo运行docker命令的朋友可以点击这里查看如何不用sudo也能运行docker

docker pull mysql,下载mysql最新镜像

3.3 运行mysql镜像

  • 因为每次关闭mysql容器,容器里的改动和数据都会丢失,所以需要做持久化。
cd ~
mkdir mysql
cd ./mysql
mkdir conf logs data
docker run -p 3307:3307 -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=password -d mysql
  • 新建mysql目录,在该目录下新建conf、logs、data目录,分别负责持久化mysql的配置、日志和数据文件
    其中password可以替换成自己的密码
    -p,将centos的3307端口和容器的3307端口绑定
    -v,挂载目录,用于持久化,以冒号:分割,$PWD/conf指当前目录下的conf目录挂载到容器里的/etc/mysql/conf.d目录
    -e,设置容器环境变量,没有的话运行不了
    -d,容器以daemon守护进程方式运行,也就是后台运行

  • 注意: 以后都要在这个mysql目录下运行这条run命令,不然docker会自动创建-v挂载的目录,这样就无法做到持久化的目的了,想省事的可以写个shell脚本。

3.4 查看mysql镜像

  • ps命令可以查看运行中的容器,记住容器id的前几位
    docker ps
    docker ps

3.5 进入mysql容器

  • exec命令:在运行的容器中执行命令
    docker exec -it 38447 /bin/bash
    -i,保持STDIN打开
    -t,分配一个伪终端
    38447,上一步中ps查看到容器的id,不用输入整个容器id,只要前几位即可
    /bin/bash,指运行容器的bash程序
    运行该命令就可以愉快的跟容器进行交互啦

3.6 验证持久化

  • 在容器里登录mysql
    mysql -u root -p,输入密码
    新的故事-安装MySQL_第15张图片
    登录容器mysql

    进入容器成功后,可以看到用户变为root@容器id了
  • 创建一个persistence数据库
    create database persistence;
    新的故事-安装MySQL_第16张图片
    创建数据库
  • 输入exit退出容器
  • 输入docker container stop 38447关闭容器
    关闭容器
  • 再次运行容器
docker run -p 3307:3307 -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=password -d mysql
  • 进入容器并验证


    新的故事-安装MySQL_第17张图片
    验证持久化

    持久化成功!


你可能感兴趣的:(新的故事-安装MySQL)