安装mysql主要分为两种方式,本次简单介绍使用YUM源进行安装mysql,如果不是使用docker,可以跳过步骤1、2。
1. docker环境准备
在安装mysql之前,请先确认使用的centos版本,执行命令:cat /etc/redhat-release查看系统版本号,如下图所示,使用的版本为centos 7.5.1804。
从centos 7.x开始,centos开始使用systemd服务来代替daemon,原来管理系统启动和管理系统服务的相关命令全部由systemctl命令来代替。
dameon命令 |
systemctl命令 | 说明 |
---|---|---|
service start | systemctl start | 启动服务 |
service stop | systemctl stop | 停止服务 |
service restart | system restart | 重启服务 |
因为是使用docker,所以先创建一个容器,注意如果需要使用systemctl(centos 7版本)启动服务的话,需要在docker run的时候运行/usr/sbin/init
2. 进入docker
使用docker exec -it mysql /bin/bash进入到容器中,并输入systemctl --version查看systemd的版本号。
3. 配置YUM源
下载mysql,执行命令:wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
安装mysql源,执行命令:yum localinstall mysql57-community-release-el7-8.noarch.rpm
检查mysql源是否安装成功,执行命令:yum repolist enabled | grep "mysql.*-community.*"
修改MySQL安装版本,执行命令:vi /etc/yum.repos.d/mysql-community.repo源。例如要安装5.6版本,将5.7的源的enabled = 1修改为enabled = 0。然后再将5.6源的enabled=0改成enabled=1即可。
4. 安装mysql
安装mysql,执行命令:yum install -y mysql-community-server
5. 启动mysql
启动mysql服务,执行命令:systemctl start mysqld
查看服务状态,执行命令:systemctl status mysqld
6. 设置开机启动
设置开机启动,执行命令:systemctl enable mysqld和systemctl daemon-reload
7. 修改登录密码
mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改。
查看登录密码,执行命令:grep 'temporary password' /var/log/mysqld.log
登录mysql,执行命令:mysql -u root -p
更改密码,执行命令:ALTER USER 'root'@'localhost' IDENTIFIED BY 'myPassword123#';
mysql5.7新增了密码策略,默认策略为:必须包含大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示错误,如下图所示。
查看密码策略,执行命令:show variables like 'validate_password%';
validate_password_policy:密码策略,默认为MEDIUM策略
validate_password_dictionary_file:密码策略文件,策略为STRONG才需要配置
validate_password_length:密码最短长度
validate_password_mixed_case_count:至少包含一个大小写字符
validate_password_number_count :至少包含1个数字
validate_password_special_char_count:至少包含一个特殊字符
共有以下几种密码策略:
策略 | 检查规则 |
---|---|
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 |
MySQL官网密码策略详细说明:http://dev.mysql.com/doc/refman/5.7/en/validate-password-options-variables.html#sysvar_validate_password_policy
在/etc/my.cnf文件中添加如下配置禁用即可关闭密码策略:validate_password = off
重新启动mysql服务使配置生效:systemctl restart mysqld
登录mysql,再次修改密码,可以看到这次密码更改成功了,如下图所示。
8. 修改数据库编码
mysql数据库的默认编码为latin1,不支持中文,我们将编码设置UTF-8。
编辑/etc/my.cnf文件,添加如下编码配置:
[mysqld]
character_set_server=utf8
[client]
default_character_set=utf8
再次重启服务,查看编码,可以看到编码都已经修改UTF-8了。
至此MySQL的安装已经结束了。