Skip to content

MySQL 安装


Docker 环境

上传脚本

上传安装到脚本到/data/docker/app/mysql 目录下

修改配置

compose.yaml

可根据需要修改文件/data/docker/app/mysql/compose/compose.yaml 中的如下标红信息:

sql
- MYSQL_ROOT_PASSWORD=root 管理员密码
- MYSQL_DATABASE=test
- MYSQL_USER=mysql 新用户名
- MYSQL_PASSWORD=mysql 新用户名对应的密码

my.conf

可根据需要修改文件/data/docker/app/mysql/conf/my.conf 中的配置信息:

文件中各配置有注释

init.sql

可根据需要修改文件/data/docker/app/mysql/initdb/init.sql 中的如下标红信息:

sql
CREATE DATABASE IF NOT EXISTS test;
CREATE DATABASE IF NOT EXISTS misboot_nacos;
CREATE DATABASE IF NOT EXISTS misboot_cev_dev;
GRANT ALL PRIVILEGES ON test._ TO 'zuoyo'@'%';
GRANT ALL PRIVILEGES ON misboot_nacos._ TO 'zuoyo'@'%';
GRANT ALL PRIVILEGES ON misboot_cev_dev.\* TO 'zuoyo'@'%';
ALTER USER 'zuoyo'@'%' IDENTIFIED WITH mysql_native_password BY 'Zuoyo@xxx';
FLUSH PRIVILEGES;

安装应用

执行以下命令(首次安装):

cd /data/docker/app/mysql/compose && sh init.sh

执行以上命令后会自动安装并启动应用。

管理应用

重启应用,执行以下命令:

cd /data/docker/app/mysql/compose && docker-compose down && docker-compose up -d

Windows 环境

下载 MySQL

阿里云下载地址:https://zysd-shanghai.oss-cn-shanghai.aliyuncs.com/soft/windows/mysql/mysql-5.7.23-winx64.zip

本站以 5.7.23 版本为例。

配置环境变量

Path 中加入:D:\\Program Files\\mysql-5.7.23\\bin

增加配置文件

在 D:\\Program Files\\mysql-5.7.23(ANSI 格式)下新建 my.ini 文件,将以下代码保存文件中,保存格式为 ANSI。

shell
[mysqld]
    port=3306
    basedir=D:/Program Files/mysql-5.7.23
    datadir=D:/Program Files/mysql-5.7.23/data
    max_connections=200
    character-set-server=utf8
    default-storage-engine=INNODB
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql]

数据库安装

shell
mysqld -install

输出:Service successfully installed

数据库安装及初始化

进行 MySQL 的初始化,执行命令后会在 MySQL 的安装目录下生成 data 目录并创建 root 用户

shell
mysqld --initialize-insecure --user=mysql

启动服务

shell
net start mysql

设置 MySQL 密码

shell
Mysqladmin -u root -p password

Liunx 环境

MySQL 是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言–结构化查询语言(SQL)进行数据库管理。

下载 MySQL

shell
wget https://zysd-shanghai.oss-cn-shanghai.aliyuncs.com/soft/linux/mysql/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz

本站以 5.7.23 为例。

移除 Liunx 自带 mariadb 数据库

1. 检测自带 mariadb 数据库

shell
    rpm -qa|grep mariadb

2. 存在则卸载 mariadb 数据避免配置文件造成冲突

shell
    rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

解压文件

shell
    tar -zxvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz

移动文件夹

shell
    mv mysql-5.7.23-linux-glibc2.12-x86_64 /usr/local/
    mv mysql-5.7.23-linux-glibc2.12-x86_64 mysql

增加系统环境变量

vim /etc/profile

将以下内容追加到文件末尾:

shell
    export MYSQL_HOME=/usr/local/mysql
    export PATH=$PATH:$MYSQL_HOME/bin

执行文件生效 source /etc/profile

创建 MySQL 用户组

1. 添加组

shell
    groupadd mysql

2. 创建用户加入到 mysql 用户组

shell
    useradd -g mysql mysql

3. 创建密码

shell
    passwd mysql

4. 更改所属的组和用户

shell
    chown -R mysql mysql/
    chgrp -R mysql mysql/

5. 创建目录

shell
    mkdir data
    chown -R mysql:mysql data

新建配置文件

新建配置文件 my.cnf 为 MySQL 的配置文件,若没有请自己创建,复制以下内容保存在/etc/下即可。

下载配置文件:https://zysd-shanghai.oss-cn-shanghai.aliyuncs.com/soft/linux/mysql/my.cnf

shell
    #设置3306端口
    port = 3306
    ## 设置mysql的安装目录
    basedir=/usr/local/mysql/
    ## 设置mysql数据库的数据的存放目录
    datadir=/usr/local/mysql/data/
    ## 允许最大连接数
    max_connections=288000
    ## 服务端使用的字符集默认为8比特编码的latin1字符集
    character-set-server=utf8
    ## 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB

    max_allowed_packet=3500M

    interactive_timeout = 288000

    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

    explicit_defaults_for_timestamp=true

    lower_case_table_names=1
    max_allowed_packet=768M

安装与初始化

shell
    bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

设置开机启动

1. 加入到开机启动脚本

shell
    cp ./support-files/mysql.server /etc/init.d/mysqld
    chown 777 /etc/my.cnf
    chmod +x /etc/init.d/mysqld

2. 重启服务

shell
    /etc/init.d/mysqld restart

3. 设置开机启动

shell
    chkconfig --level 35 mysqld on
    chkconfig --list mysqld
    chmod +x /etc/rc.d/init.d/mysqld
    chkconfig --add mysqld
    chkconfig --list mysqld
    service mysqld status

修改数据库初始密码

1. 获得数据库初始密码

shell
    cat /root/.mysql_secret

2. CMD 命令行登陆 MySQL

shell
    使用获得随机字符串登陆
    mysql -uroot -p

3. 更改密码并重新加载权限表

shell
    set PASSWORD = PASSWORD('123456');
    flush privileges

4. 添加远程访问权限

shell
    use mysql

5. 执行更新权限

shell
    update user set host='%' where user='root';

6. 重启生效

shell
    Service mysqld restart

致力于为企业信息化品牌建设提供强力驱动