MySQL Server
1.1、MySQL Server简介

MySQL ServerMySQL的服务端。

1.2、通过包管理器安装MySQL Server
操作系统包管理器仓库安装命令
Windowsscoopofficalscoop install mysql
WindowsChocolateyofficalchoco install -y mysql
macOSHomeBrewofficalbrew install mysql
GNU/LinuxHomeBrewofficalbrew install mysql
aptofficalsudo DEBIAN_FRONTEND=noninteractive apt-get install -y mysql-server
CentOSyummysqlsudo yum install https://dev.mysql.com/get/mysql80-community-release-el$(rpm -E %centos)-3.noarch.rpm
sudo yum install -y mysql-community-server
dnfmysqlsudo dnf install https://dev.mysql.com/get/mysql80-community-release-fc$(rpm -E %fedora)-2.noarch.rpm
sudo dnf install -y mysql-community-server
openSUSEzyppermysqlsudo zypper install https://dev.mysql.com/get/mysql80-community-release-sl15-3.noarch.rpm
sudo zypper install -y mysql-community-server
Alpine Linuxapkofficalsudo apk add mysql

Arch Linux

ArcoLinux

Manjaro Linux

pacmanArchLinuxCNsudo pacman -Syyu --noconfirm
sudo pacman -S    --noconfirm mysql
Gentoo LinuxPortageofficalsudo emerge dev-db/mysql
1.3、通过下载预编译好的二进制压缩包安装MySQL Server 

step1、安装依赖

所有时Terminal + Shell + GNU CoreUtils
下载时cURL
解压时tar + gzip
运行时glibc ( libc.sold-linux-x86-64.so )

step2、使用curl命令下载编译好的二进制压缩包 (

curl -LO https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17-macos10.12-x86_64.tar.gz

step3、使用tar解压压缩包

sudo tar vxf mysql-5.7.17-macos10.12-x86_64.tar.gz -C /usr/local

step4、如果是GNU/Linux用户,创建mysql用户和mysql

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

注:macOS默认已经存在此用户和组了,故无需创建。

step5、配置

如果您安装的是MySQL Server 5.7.6以前的版本,请执行下面的脚本:

cd /usr/local
sudo mv mysql-5.7.5-macos10.12-x86_64 mysql
sudo chown -R mysql:mysql mysql
cd mysql
sudo scripts/mysql_install_db --user=mysql
sudo chown -R root .
sudo chown -R mysql data

如果您安装的是MySQL Server 5.7.6以及之后的版本,请执行下面的脚本:

cd /usr/local
sudo mv mysql-5.7.17-macos10.12-x86_64 mysql
sudo chown -R mysql:mysql mysql
cd mysql
sudo bin/mysqld --initialize
sudo chown -R root .
sudo chown -R mysql data
1.4、MySQL Server Docker Image

1、创建存放配置文件、数据文件的文件夹:

mkdir -p ~/docker_volume/mysql/{conf,data,mysql-files}

2、下载并以mysql镜像创建容器并运行该容器:

docker run -d
            -p 9000:3306
            -v ~/docker_volume/mysql/conf:/etc/mysql
            -v ~/docker_volume/mysql/data:/var/lib/mysql
            -v ~/docker_volume/mysql/mysql-files:/var/lib/mysql-files
            -e MYSQL_ROOT_PASSWORD=123456
            --name mysql
            mysql:8.0.15

说明:

  • --name mysql是给这个容器起了一个名字。
  • -p 9000:3306是把宿主机器中的9000端口与mysql容器中3306端口进行映射,这样, 我们就可以在宿主机中通过9000端口访问mysql容器了。
  • -v ~/docker_volume/mysql/conf:/etc/mysql是把宿主机器中的~/docker_volume/mysql/conf目录与mysql容器中/etc/mysql目录进行映射,这样, 我们就可以在宿主机中通过~/docker_volume/mysql/conf目录访问mysql容器中的数据了。

运行完上面的命令后,即可通过MySQL-Client-cli中的mysql命令连接该服务了:

mysql --host=0.0.0.0 --port=9000 --user=root --password=123456
1.5、MySQL Server中的命令行
1.6、MySQL Server服务管理

服务(Service)是操作系统中的概念。 具体说来是由initSystem管理的。 由于不同的系统使用了不同的initSystem,所以, 不同的操作系统管理服务的方式不相同。

一般的,通过包管理器安装的MySQL Server通常提供了各自操作系统中的服务管理脚本。能使用各自操作系统的服务管理工具进行管理。

通过操作系统自身的服务管理功能有很多好处:

  • 统一管理
  • 能够实现宕机后重启自动启动服务

SysV-init管理MySQL Server服务:

查看服务状态/etc/init.d/mysqld status
启动服务/etc/init.d/mysqld start
停止服务/etc/init.d/mysqld stop
重启服务/etc/init.d/mysqld restart

OpenRC管理MySQL Server服务:

查看服务状态rc-service mysqld status
启动服务rc-service mysqld start
停止服务rc-service mysqld stop
重启服务rc-service mysqld restart

Upstart管理MySQL Server服务:

查看服务状态service mysqld status
启动服务service mysqld start
停止服务service mysqld stop
重启服务service mysqld restart

systemd管理MySQL Server服务:

查看服务状态systemctl status mysqld
启动服务systemctl start mysqld
停止服务systemctl stop mysqld
重启服务systemctl restart mysqld

launchd管理MySQL Server服务:

查看服务状态launchctl list | grep "mysql" | awk '{print $1}'
启动服务sudo launchctl start mysqld
停止服务sudo launchctl stop mysqld
重启服务sudo launchctl stop mysqld &&
sudo launchctl start mysqld

homebrew-services管理MySQL Server服务:

查看服务状态brew services status mysql
启动服务brew services start mysql
停止服务brew services stop mysql
重启服务brew services restart mysql

直接使用mysqld_safe管理MySQL Server服务:

查看服务状态sudo mysqld_safe status
启动服务sudo mysqld_safe [option]... &
停止服务sudo mysqld_safe stop
重启服务sudo mysqld_safe restart
1.6、修改root授权账户的密码
sudo mysql_secure_installation

默认的,root授权账户的密码为空,显然不安全,安装完MySQL Server的首要任务就是不修改root授权账户的密码。