MySQL的基本使用和二进制安装(重点)

MySQL的基本使用和二进制安装(生产中主要使用二进制安装)
内容 隐藏

1.3. MySQL 组成和常用工具

1.3.1. 客户端程序

· mysql: 交互式或非交互式的CLI工具

· mysqldump:备份工具,基于mysql协议向mysqld发起查询请求,并将查得的所有数据转换成insert等写操作语句保存文本文件中

· mysqladmin:基于mysql协议管理mysqld

· mysqlimport:数据导入工具

· MyISAM存储引擎的管理工具:

· myisamchk:检查MyISAM库

· myisampack:打包MyISAM表,只读

1.3.2. 服务器端程序

· mysqld_safe

· mysqld

· mysqld_multi 多实例 ,示例:mysqld_multi –example

1.3.3. 用户账号

mysql用户账号由两部分组成:

'USERNAME'@'HOST'

• 说明: HOST限制此用户可通过哪些远程主机连接mysql服务器

• 支持使用通配符

• % 匹配任意长度的任意字符,相当于shell中*, 示例: 172.16.0.0/255.255.0.0 或 172.16.%.%

• _ 匹配任意单个字符,相当于shell中?

root@localhost          #root帐号在本地可以登录
root@10.0.0.10          #root帐号在10.0.0.10可以登录
sx@10.0.0.%             #sx帐号在10.0.0.网段的任意主机可以登录(上面两种太严格了,这种相对较人性化)

1.3.4. mysql 客户端命令

1.3.4.1 mysql 运行命令类型

• 客户端命令:本地执行,每个命令都有完整形式和简写格式

mysql> \h, help
mysql> \u,use
mysql> \s,status
mysql> \!,system

• 服务端命令:通过mysql协议发往服务器执行并取回结果,命令末尾都必须使用命令结束符号,默认为分号

• 例如:mysql>SELECT VERSION();

1.3.4.2mysql 使用模式

• 交互模式

• 脚本模式

mysql -uUSERNAME -pPASSWORD < /path/somefile.sql
cat /path/somefile.sql | mysql -uUSERNAME -pPASSWORD

mysql>source  /path/from/somefile.sql

1.3.4.3 mysql命令使用格式

mysql [OPTIONS] [database]

mysql客户端常用选项:

-A, --no-auto-rehash        #禁止补全
-u, --user=                 #用户名,默认为root
-h, --host=                 #服务器主机,默认为localhost
-p, --passowrd=             #用户密码,建议使用-p,默认为空密码
-P, --port=                 #服务器端口
-S, --socket=               #指定连接socket文件路径
-D, --database=             #指定默认数据库
-C, --compress              #启用压缩
-e "SQL"                    #执行SQL命令
-V, --version               #显示版本
-v --verbose                #显示详细信息
--print-defaults            #获取程序默认使用的配置

登录系统

#默认空密码登录
mysql -uroot  -p

运行mysql命令

mysql>use mysql                                 #切换数据库
mysql> select database();                       #查看当前数据库
mysql>select user();                            #查看当前用户
mysql>SELECT User,Host,Password FROM user;
mysql>system clear                              #清屏
mysql> ^DBye                                    #ctrl+d 退出

1.3.4.4 mysqladmin命令

mysqladmin 命令格式

mysqladmin [OPTIONS] command command....
#查看mysql服务是否正常,如果正常提示mysqld is alive
mysqladmin -uroot -pcentos  ping

#关闭mysql服务,但mysqladmin命令无法开启
mysqladmin -uroot -pcentos shutdown

#创建数据库testdb
mysqladmin -uroot -pcentos  create testdb

#删除数据库testdb
mysqladmin -uroot -pcentos  drop testdb

#修改root密码
mysqladmin -uroot -pcentos password 'magedu'

#日志滚动,生成新文件/var/lib/mysql/mariadb-bin.00000N
mysqladmin -uroot -pcentos flush-logs

1.3.4.5 mycli

MyCLI 是 MySQL,MariaDB 和 Percona 的命令行界面,具有自动完成和语法突出显示功能

安装

#CentOS8安装
[root@centos8 ~]#yum install python3-pip -y
[root@centos8 ~]#pip3 install mycli

#ubuntu安装
[root@ubuntu1804 ~]#apt -y install mycli
[root@ubuntu1804 ~]#mycli -u root -S /var/run/mysqld/mysqld.sock

1.3.5. 服务器端配置

1.3.5.1 服务器端配置文件

服务器端(mysqld):工作特性有多种配置方式

• 1、命令行选项

• 2、配置文件:类ini格式,集中式的配置,能够为mysql的各应用程序提供配置信息

服务器端配置文件

/etc/my.cnf                 #Global选项
/etc/mysql/my.cnf           #Global选项
~/.my.cnf                   #User-specific 选项
#centos7中系统自带的mariadb,运行之后可以看到所在库的库名,这可以通过修改服务器配置文件使其显示
[root@Centos7 ~]# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 6
Server version: 5.5.68-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> \s;


#修改centos8上的配置文件
[root@localhost /etc/my.cnf.d]#cat /etc/my.cnf | grep -v '#'
[client-server]

!includedir /etc/my.cnf.d                           #可以通过自配置文件来定义

[root@localhost /etc/my.cnf.d]#vim mysql.cnf        #创建一个子配置文件
[mysql]
prompt=(\\u@\\h) [\\d]>\\_

#再次登录数据库查看
[root@localhost /etc/my.cnf.d]#mysql -uroot -p'hcie@SX123'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 8.0.26 Source distribution

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

(root@localhost) [(none)]>                          #此时显示了帐号主机以及库名

配置文件格式

[mysqld]
[mysqld_safe]
[mysqld_multi]
[mysql]
[mysqldump]
[server]
[client]

格式

parameter = value

说明

_和- 相同
1,ON,TRUE意义相同       0,OFF,FALSE意义相同,无区分大小写

1.3.5.2 socket 连接说明

官方说明

https://dev.mysql.com/doc/mysql-port-reference/en/mysql-ports-reference-tables.html#mysql-client-server-ports

服务器监听的两种 socket 地址

• ip socket: 监听在tcp的3306端口,支持远程通信 ,侦听3306/tcp端口可以在绑定有一个或全部接口IP上

• unix sock: 监听在sock文件上,仅支持本机通信, 如:/var/lib/mysql/mysql.sock)

说明:host为localhost 时自动使用unix sock

注意:MySQL8.0增加了一个33060/tcp端口

1.3.5.3 关闭mysqld网络连接

只侦听本地客户端, 所有客户端和服务器的交互都通过一个socket文件实现,socket的配置存放在/var/lib/mysql/mysql.sock) 可在/etc/my.cnf修改

1.4. 通用二进制格式安装 MySQL

1.4.1. 实战案例:通用二进制格式安装 MySQL 5.6

1.4.1.1准备用户

groupadd -r -g 306 mysql                            #创建用户组mysql,为系统组,组id为306
useradd -r -g 306 -u 306 -d /data/mysql mysql       #创建用户mysql,为系统用户,组id为306,用户id为306,指定/date/mysql为家目录

1.4.1.2 准备数据目录,建议使用逻辑卷

mkdir /data/mysql                               #创建数据目录
chown mysql:mysql /data/mysql/                  #修改目录的属主属组为mysql

1.4.1.3准备二进制程序

下载二进制安装包

 https://downloads.mysql.com/archives/community/

解压并创建软链接修改属主属组

tar xf mysql-VERSION-linux-x86_64.tar.gz -C /usr/local      #解压到指定位置
#注意:解压后的路径不能乱指,因为这是默认值
cd /usr/local               
ln -sv mysql-VERSION mysql
chown -R root:root /usr/local/mysql/

1.4.1.4. 准备配置文件

cd /usr/local/mysql
cp -b support-files/my-default.cnf  /etc/my.cnf

vim /etc/my.cnf                 #mysql语句块中添加以下三个选项
[mysqld]
datadir = /data/mysql           #指定数据库存放位置
innodb_file_per_table = on      #在mariadb5.5以上版的是默认值,可不加
skip_name_resolve = on          #禁止主机名解析,建议使用

1.4.1.5. 创建数据库文件

cd /usr/local/mysql/            #注意:一定要切换到当前目录才能运行脚本
./scripts/mysql_install_db --datadir=/data/mysql --user=mysql

#注意:运行脚本,注意这里需要使用相对路径
#脚本运行成功后数据库目录下生成如下文件

1.4.1.6. 准备服务脚本,并启动服务

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld       #将mysql.server文件复制到系统服务目录下,创建服务名mysql。可以通过service调用
chkconfig --add mysqld          #--add:增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据。
service mysqld start            #启动服务

#如果有对应的service 文件可以执行下面
cp /usr/local/mysql/support-files/mysql.server /usr/lib/systemd/system/     #将服务文件,复制到系统服务目录下,通过systemctl调用
systemctl daemon-reload         #加载服务配置文件
systemctl enable --now mysql    #启用mysql并使其开机启动

1.4.1.7. 检查服务是否启动

我这里没用mysql服务启动文件,所以只能直接通过service启动了

1.4.1.8. 添加环境变量

echo 'PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
. /etc/profile.d/mysql.sh

1.4.1.9.安装相关包

yum install -y libaio numactl-libs libncurses*

1.4.1.10. 登录测试

[root@localhost /usr/local/mysql]#mysql -uroot
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.51 MySQL Community Server (GPL)

Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

1.4.1.11安全初始化

/usr/local/mysql/bin/mysql_secure_installation

1.4.2. 实战案例:通用二进制格式安装 MySQL 5.7和Mysql8.0

1.4.2.1.安装相关包

yum install -y libaio numactl-libs libncurses*

1.4.2.2.用户和组

groupadd mysql
useradd -r -g mysql -s /bin/false mysql

1.4.2.3.准备程序文件

wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz
tar xf mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz -C /usr/local
cd /usr/local/
ln -s mysql-5.7.33-linux-glibc2.12-x86_64/ mysql
chown -R root.root /usr/local/mysql/

1.4.2.4.准备环境变量

echo 'PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
. /etc/profile.d/mysql.sh

1.4.2.5.准备配置文件

vim /etc/my.cnf
[mysqld]
datadir=/data/mysql
skip_name_resolve=1
socket=/data/mysql/mysql.sock    
log-error=/data/mysql/mysql.log
pid-file=/data/mysql/mysql.pid
[client]
socket=/data/mysql/mysql.sock

1.4.2.6.创建数据库目录

mkdir -pv /data/mysql

1.4.2.7.初始化数据库文件并提取root密码

1.4.2.7.1.方式1:初始化,指定用户,数据库目录,生成随机密码
mysqld --initialize --user=mysql --datadir=/data/mysql

#通过此命令可以查看随机密码
grep password /data/mysql/mysql.log
1.4.2.7.2.方式2:初始化,指定用户,数据库目录,生成空密码
mysqld --initialize-insecure --user=mysql --datadir=/data/mysql
1.4.2.8.准备服务脚本和启动服务
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld 
service mysqld start 

1.4.2.9.修改密码

#修改前面生成的随机密码为指定密码
mysqladmin -uroot -p'6.-ioLc/>T2h' password sunxiang

#修改前面生成的空密码为指定密码
mysqladmin -uroot  password sunxiang
#现在直接输入密码这些会有告警信息
[root@localhost /usr/local]#mysqladmin -uroot -p'6.-ioLc/>T2h' password sunxiang
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.

#这个虽然告警但是不影响修改密码

1.4.2.10.登录测试

[root@localhost /usr/local]#mysql -uroot -p'sunxiang'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.7.33 MySQL Community Server (GPL)

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

1.4.3.实战案例:一键安装mysql-5.6二进制包的脚本

1.4.3.1.离线安装mysql-5.6二进制包的脚本

#!/bin/bash
#
#########################################################################
#File Name:               mysql_5.6_Offline.sh
#Author:                    sx
#QQ:                       448803503
#Created Time:            2021-12-02 07:43:44
#Description:           稳定运行版 注意:因为需要修改父进程的环境变量所以通过. mysql_5.6_Offline.sh来执行脚本
#########################################################################
DIR=`pwd`
VERSION="MySQL-5.6"
NAME="mysql-5.6.51-linux-glibc2.12-x86_64.tar.gz"
LINK="mysql-5.6.51-linux-glibc2.12-x86_64"
FULL_NAME=${DIR}/${NAME}
DATA_DIR="/data/mysql"

echo 'PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
. /etc/profile.d/mysql.sh

yum install -y libaio numactl-libs libncurses*

if [ -e $FULL_NAME ];then
    echo "安装包文件存在"
else
    echo "安装包文件不存在"
    echo $FULL_NAME
    exit 3
fi

if [ -h /usr/local/mysql ];then
    echo "mysql 已经安装"
    exit 3
else
    tar xvf $FULL_NAME -C /usr/local/
    cd /usr/local
    ln -sv $LINK mysql
    chown -R root:root /usr/local/mysql/
    if id mysql;then
        echo "mysql 用户已经存在,跳过创建用户过程"
    else
        groupadd -r -g 306 mysql
        useradd -r -g 306 -u 306 -d /data/mysql mysql
    fi

    if [ ! -d /data/mysql ];then
        mkdir -pv /data/mysql && chown mysql:mysql /data/mysql/
    else
        echo "$DATA_DIR 已经存在"
    fi
fi

if [ ! -d /etc/my.cnf ];then
    cd /usr/local/mysql
    cp -b /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
    cat >/etc/my.cnf <<EOF
[mysqld]
datadir = /data/mysql
innodb_file_per_table = on
skip_name_resolve = on
EOF
    ./scripts/mysql_install_db --datadir=/data/mysql --user=mysql
else
    echo "/etc/my.cnf 已存在"
fi

if [ ! -d /etc/init.d/mysqld ];then
    cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
    chkconfig --add mysqld
    service mysqld start
    echo "恭喜你! 成功安装$LINK"
else
    echo "mysql 已存在"
fi

1.4.3.2.在线安装mysql-5.6二进制包的脚本

#!/bin/bash
#
#########################################################################
#File Name:               mysql_5.6_Online.sh
#Author:                    sx
#QQ:                       448803503
#Created Time:            2021-12-02 07:43:44
#Description:           稳定运行版 注意:因为需要修改父进程的环境变量所以通过. mysql_5.6_Online.sh来执行脚本
#########################################################################
DIR=`pwd`
VERSION="MySQL-5.6"
NAME="mysql-5.6.51-linux-glibc2.12-x86_64.tar.gz"
LINK="mysql-5.6.51-linux-glibc2.12-x86_64"
FULL_NAME=${DIR}/${NAME}
DATA_DIR="/data/mysql"

echo 'PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
. /etc/profile.d/mysql.sh

yum install -y libaio numactl-libs libncurses* wget
wget http://mirrors.163.com/mysql/Downloads/$VERSION/$NAME
if [ -e $FULL_NAME ];then
    echo "安装包文件存在"
else
    echo "安装包文件不存在"
    echo $FULL_NAME
    exit 3
fi

if [ -h /usr/local/mysql ];then
    echo "mysql 已经安装"
    exit 3
else
    tar xvf $FULL_NAME -C /usr/local/
    cd /usr/local
    ln -sv $LINK mysql
    chown -R root:root /usr/local/mysql/
    if id mysql;then
        echo "mysql 用户已经存在,跳过创建用户过程"
    else
        groupadd -r -g 306 mysql
        useradd -r -g 306 -u 306 -d /data/mysql mysql
    fi

    if [ ! -d /data/mysql ];then
        mkdir -pv /data/mysql && chown mysql:mysql /data/mysql/
    else
        echo "$DATA_DIR 已经存在"
    fi
fi

if [ ! -d /etc/my.cnf ];then
    cd /usr/local/mysql
    cp -b /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
    cat >/etc/my.cnf <<EOF
[mysqld]
datadir = /data/mysql
innodb_file_per_table = on
skip_name_resolve = on
EOF
    ./scripts/mysql_install_db --datadir=/data/mysql --user=mysql
else
    echo "/etc/my.cnf 已存在"
fi

if [ ! -d /etc/init.d/mysqld ];then
    cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
    chkconfig --add mysqld
    service mysqld start
    echo "恭喜你! 成功安装$LINK"
else
    echo "mysql 已存在"
fi

1.4.4.实战案例:一键安装mysql-5.7和8.0二进制包的脚本

1.4.4.1.在线安装mysql-5.7二进制包的脚本

#!/bin/bash
#
#########################################################################
#File Name:               mysql_5.7_8.0_Online.sh
#Author:                    sx
#QQ:                       448803503
#Created Time:            2021-12-02 07:43:44
#Description:           稳定运行版 注意:因为需要修改父进程的环境变量所以通过. mysql_5.7_8.0_Online.sh来执行脚本,生成随机的初始密码
#通过此命令可以查看随机密码:grep password /data/mysql/mysql.log
#########################################################################
DIR=`pwd`
VERSION="MySQL-5.7"
NAME="mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz"
LINK="mysql-5.7.34-linux-glibc2.12-x86_64"
FULL_NAME=${DIR}/${NAME}
DATA_DIR="/data/mysql"

echo 'PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
. /etc/profile.d/mysql.sh

yum install -y libaio numactl-libs libncurses* wget
wget http://mirrors.163.com/mysql/Downloads/$VERSION/$NAME
if [ -e $FULL_NAME ];then
    echo "安装包文件存在"
else
    echo "安装包文件不存在"
    echo $FULL_NAME
    exit 3
fi

if [ -h /usr/local/mysql ];then
    echo "mysql 已经安装"
    exit 3
else
    tar xvf $FULL_NAME -C /usr/local/
    cd /usr/local
    ln -sv $LINK mysql
    chown -R root:root /usr/local/mysql/
    if id mysql;then
        echo "mysql 用户已经存在,跳过创建用户过程"
    else
        groupadd -r -g 306 mysql
        useradd -r -g 306 -u 306 -d /data/mysql mysql
    fi

    if [ ! -d /data/mysql ];then
        mkdir -pv /data/mysql && chown mysql:mysql /data/mysql/
    else
        echo "$DATA_DIR 已经存在"
    fi
fi

if [ ! -d /etc/my.cnf ];then
    cd /usr/local/mysql
    cp -b /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
    cat >/etc/my.cnf <<EOF
[mysqld]
datadir=/data/mysql
skip_name_resolve=1
socket=/data/mysql/mysql.sock    
log-error=/data/mysql/mysql.log
pid-file=/data/mysql/mysql.pid
[client]
socket=/data/mysql/mysql.sock
EOF
    mysqld --initialize --user=mysql --datadir=/data/mysql
else
    echo "/etc/my.cnf 已存在"
fi

if [ ! -d /etc/init.d/mysqld ];then
    cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
    chkconfig --add mysqld
    service mysqld start
    echo "恭喜你! 成功安装$LINK"
else
    echo "mysql 已存在"
fi

1.5. 源码编译安装 MySQL(很少使用简单了解即可)

建议:内存4G以上,CPU 核数越多越好
说明:本操作过程适用于以下版本

mysql-5.6.51.tar.gz
mariadb-10.2.18.tar.gz

1.5.1.安装相关依赖包

yum -y install gcc gcc-c++ cmake bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel  ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel perl-Data-Dumper

1.5.2.做准备用户和数据目录

useradd -r -s /sbin/nologin -d /data/mysql mysql

1.5.3.准备数据库目录

mkdir  /data/mysql
chown mysql.mysql /data/mysql

1.5.4.源码编译安装

编译安装说明
利用cmake编译,而利用传统方法,cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以进行多次不同的编译,如针对于不同平台编译

编译选项:

https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html

1.5.4.1.下载并解压缩源码包

tar xvf  mysql-5.6.51.tar.gz  -C /usr/local/src

1.5.4.2.源码编译安装 MySQL

cd mysql-5.6.51/
cmake . \
-DCMAKE_INSTALL_PREFIX=/apps/mysql \
-DMYSQL_DATADIR=/data/mysql/ \
-DSYSCONFDIR=/etc/ \
-DMYSQL_USER=mysql \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITHOUT_MROONGA_STORAGE_ENGINE=1 \
-DWITH_DEBUG=0 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
make -j 12 && make install
提示:如果出错,执行rm -f CMakeCache.txt

1.5.5. 准备环境变量

echo 'PATH=/apps/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
.   /etc/profile.d/mysql.sh

1.5.6.生成数据库文件

cd  /apps/mysql/
scripts/mysql_install_db --datadir=/data/mysql/ --user=mysql  #有点特殊自己注意下

1.5.7.准备配置文件

cp -b /apps/mysql/support-files/my-default.cnf /etc/my.cnf

#针对旧版本或mariadb-10.2.18.tar.gz
cp /apps/mysql/support-files/my-huge.cnf  /etc/my.cnf

1.5.8.准备启动脚本,并启动服务

cp /apps/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
service mysqld start

1.5.9.安全初始化

mysql_secure_installation

1.6. 基于 dockcer 容器创建 MySQL(测试环境建议使用具体查看docker部分的文章)

[root@ubuntu1804 ~]#docker run --name mysql -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.30
[root@ubuntu1804 ~]#mysql -uroot -p123456 -h127.0.0.1