本篇博客记录了基于 docker 容器方式和原生方式部署 MySQL 的配置和方式。
启动 MySQL 容器
|
|
该启动命令包括初始化 root
用户、初始化数据库(将待导入的 sql
文件放入 /data/disc/script/sql
目录下)和持久化数据目录。
使用本地配置文件启动 MySQL 容器
|
|
说明:
/mysql/conf
:本地主机MySQL
配置文件my.cnf
存放路径,该路径下存放MySQL
的配置文件my.cnf
MYSQL_ROOT_PASSWORD
:容器中MySQL
数据库的root
用户密码/mysql/data
:本地主机上存放MySQL
数据文件的目录
mysql 容器启动时初始化数据库
sql文件存放的目录,只能有一个sql文件,必须内含创建数据库和选择数据库命令
|
|
查看 MySQL 官方镜像的 dockerFile ,在容器启动时,会执行脚本 docker-entrypoint.sh
,
|
|
而在该脚本中,会遍历 /docker-entrypoint-initdb.d
目录下所有的 .sh
和 .sql
后缀的文件,然后执行。
|
|
在 CentOS 下安装 mysql
CentOS Linux release 7.3.1611 (Core)
1、下载 mysql57-community-release-el7-10.noarch.rpm
到本地虚拟机,下载地址为:
http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql57-community-release-el7-10.noarch.rpm
使用命令为:
|
|
2、安装 mysql57-community-release-el7-10.noarch.rpm
,使用命令为:
|
|
安装后,会在 /etc/yum.repos.d
目录下生成 mysql-community.repo
,mysql-community-source.repo
两个yum仓库配置文件。
3、安装 MySQL Community
,使用命令为:
|
|
安装过程中,会自动安装 mysql-community-server
,mysql-community-client
,mysql-community-common
,mysql-community-libs
,net-tools
4、启动并查看 MySQL 服务
启动MySQL服务,使用命令为:
|
|
查看MySQL服务,使用命令为:
|
|
5、查看 MySQL root 用户的初始密码
使用命令为:
|
|
6、使用MySQL自动生成的密码登录MySQL客户端,
|
|
使用如下命令更改密码
|
|
报如下错误:
|
|
7、给远程连接的机器授权
|
|
设置简单密码
在 Linux
下,安装完 MySQL
并启动后,首先使用临时 root
用户密码登录进去;
接着,使用 alter
语句修改 root
用户密码;
然后,查看 validate_password_policy
的值。
validate_password_policy
有以下取值:
Policy | Tests Performed |
---|---|
0 or LOW | Length |
1 or MEDIUM | Length; numeric, lowercase/uppercase, and special characters |
2 or STRONG | Length; numeric, lowercase/uppercase, and special characters; dictionary file |
默认是 1
,即 MEDIUM
,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。
为了设置简单的密码,需要修改两个全局参数:
1、修改 validate_password_policy
参数的值,设置为 0
2、修改 validate_password_length=1
3、刷新权限