Mysql安装

不通环境下安装Mysql,主要介绍三种环境,Windows,Linux,Docker环境
其中Docker环境较为简单。

Windows环境

一、下载

官网下载:https://downloads.mysql.com/archives/community/
下载后直接解压到想要的文件夹下就行

二、配置默认配置文件

新建my.ini文件

[mysqld]

port = 3306

basedir=D:\Program Files\mysql-5.7.33-winx64

datadir=D:\Program Files\mysql-5.7.33-winx64\data

max_connections=200

character-set-server=utf8

default-storage-engine=INNODB

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[mysql]

default-character-set=utf8

三、安装服务

以管理员身份打开cmd窗口后,将目录切换到你解压文件的bin目录,再输入mysqld install回车运行就行了,注意是是mysqld,不是mysql,出现安装成功就ok了。
生成data目录并创建root用户,当前目录下继续执行:mysqld --initialize-insecure --user=mysql

四、修改环境变量

右键我的电脑->属性->高级系统设置->环境变量->path->编辑,将你的mysql软件下的bin目录的全路径放里面。我建议童鞋们放在最前面,最后在那个目录的路径后面加个英文的分号(;)保存就行了。如D:\mysql\mysql-x.x.xx-winx64\bin;

五、启动mysql命令行

以管理员身份打开cmd窗口后,启动mysql: net start mysql
首次登录时,输入,mysql -uroot -p,不用输入密码,直接回车就能登录成功
修改密码:

  1. 切换数据库:use mysql;
  2. 5.7以上执行:update user set authentication_string=password('wzxxxxxx') where user='root' and host='localhost';
    如果是5.6执行:update user set password=password('wzxxxxxx') where user='root' and host='localhost';
  3. 刷新权限:flush privileges;

六、参考链接

安装流程参考链接:https://blog.csdn.net/codingforhaifeng/article/details/80675498
密码修改:https://www.cnblogs.com/yang82/p/7794712.html

Linux 环境

一、下载

官网下载:https://downloads.mysql.com/archives/community/

  • 解压压缩包

    tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz 
    
  • 再移动并重命名一下

    mv mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/mysql
    

二、权限和配置文件

  1. 创建mysql用户组和用户并修改权限

    groupadd mysql
    useradd -r -g mysql mysql
    
  2. 创建数据目录并赋予权限

    mkdir -p  /data/mysql              #创建目录
    chown mysql:mysql -R /data/mysql   #赋予权限
    
  3. 配置my.cnf

[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

三、初始化数据库

  1. 进入mysql的bin目录
    cd /usr/local/mysql/bin/
  2. 初始化
    ./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
  3. 查看密码
    cat /data/mysql/mysql.err
  4. 先将mysql.server放置到/etc/init.d/mysql中
    cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
  5. 启动
    service mysql start
  6. 启动方式
    如果不希望每次都到bin目录下使用mysql命令则执行以下命令
    ln -s /usr/local/mysql/bin/mysql /usr/bin

四、修改密码

  1. 使用之前随机生成的密码
    ./mysql -u root -p #bin目录下

  2. 再执行下面三步操作,然后重新登录。

    SET PASSWORD = PASSWORD('123456');
    ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
    FLUSH PRIVILEGES;
    

五、参考链接

安装流程参考链接:https://blog.csdn.net/qq_37598011/article/details/93489404

Docker安装

一、拉去镜像

  • 拉去最新版本mysql

    docker pull mysql
    
  • 拉去指定版本mysql

    docker pull mysql:5.7
    

二、创建容器挂载目录

cd /usr/local
# 创建docker目录并进入
mkdir docker && cd $_
mkdir mysql_docker && cd $_
echo $PWD

三、启动容器

docker run --name mysql5.7 -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=你的密码 -d -i -p 3306:3306 mysql:5.7

命令解释:

  • --name 容器名,对容器命名

  • -v 宿主机路径:容器路径 ,将容器路径下的文件挂载到宿主机,实现同步修改,避免每次进入容器去修改配置文件

  • -e MYSQL_ROOT_PASSWORD=你的密码,设置mysql密码

  • -d 后台启动

  • -i 即使没有连接,也要保持标准输入保持打开状态,不加的话启动会失败

  • -p 指定端口,镜像默认暴露是3306,但是如果配置的是其他的端口,需要添加配置文件,例如把端口改成3334则写法是-p 3306:3334,并且在配置文件中添加上port=3334,宿主机中的3306可以随便改。

    #在$PWD/conf目录下创建my.cnf,添加如下配置
    [mysqld]
    sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
    character_set_server = utf8
    port=3334  
    
  • 镜像名称:版本号,可以通过docker images查看