美文网首页
新的故事-安装MySQL

新的故事-安装MySQL

作者: hausu | 来源:发表于2018-08-07 19:38 被阅读0次

一、安装MySQL

MySQL预览图

小目录

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

1. 在windows8.1安装mysql

1.1 安装步骤

  • 步骤1:

点击这里访问mysql下载页面

  • 步骤2:

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


下载mysql
  • 步骤3:

选择第二个,点击download


下载mysql
  • 步骤4:

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


下载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,会自动下载和安装该依赖软件


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


    组复制
  11. 点击“Next”
  12. 选择“Server Computer”后点击“Next”


    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环境变量
  5. 在“系统变量”中找到“Path”,双击“Path”
  6. 将mysql的bin目录添加到Path中,注意用分号与前一个路径分割开来,默认安装目录是C:\Program Files\MySQL\MySQL Server 8.0\bin


    设置mysql环境变量
  7. 点击“确定”

1.4 windows验证mysql

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


    任务管理器

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

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


    运行cmd
  4. 查看mysql版本
    运行命令mysql --version
    mysql版本
  5. 登录mysql
    运行命令 mysql -u root -p
    输入root密码后按回车
    登录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
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%";
    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
    进入容器成功后,可以看到用户变为root@容器id了
  • 创建一个persistence数据库
    create database persistence;
    创建数据库
  • 输入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

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