MySQL Server
是MySQL的服务端。
操作系统 | 包管理器 | 仓库 | 安装命令 |
---|---|---|---|
Windows | scoop | offical | scoop install mysql |
Windows | Chocolatey | offical | choco install -y mysql |
macOS | HomeBrew | offical | brew install mysql |
GNU/Linux | HomeBrew | offical | brew install mysql |
apt | offical | sudo DEBIAN_FRONTEND=noninteractive apt-get install -y mysql-server | |
CentOS | yum | mysql | sudo yum install https://dev.mysql.com/get/mysql80-community-release-el$(rpm -E %centos)-3.noarch.rpm |
dnf | mysql | sudo dnf install https://dev.mysql.com/get/mysql80-community-release-fc$(rpm -E %fedora)-2.noarch.rpm | |
openSUSE | zypper | mysql | sudo zypper install https://dev.mysql.com/get/mysql80-community-release-sl15-3.noarch.rpm |
Alpine Linux | apk | offical | sudo apk add mysql |
pacman | ArchLinuxCN | sudo pacman -Syyu --noconfirm | |
Gentoo Linux | Portage | offical | sudo emerge dev-db/mysql |
step1、安装依赖
所有时 | Terminal + Shell + GNU CoreUtils |
下载时 | cURL |
解压时 | tar + gzip |
运行时 | glibc ( libc.so 、ld-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、创建存放配置文件、数据文件的文件夹:
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
服务(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 && |
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 |
sudo mysql_secure_installation
默认的,root授权账户的密码为空,显然不安全,安装完MySQL Server
的首要任务就是不修改root授权账户的密码。