环境
Linux版本 | Mysql版本(待安装) |
---|---|
CentOS 7 | 5.7 |
1、配置YUM源
在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo/yum/
目前MySQL官网下载的MySQL源安装后yum下载的MySQL是8.0版本,为了非必要的麻烦,直接提供MySQL5.7的YUM源,执行下列命令安装即可:
# 下载mysql源安装包(无wget命令,先使用yum -y install wget下载wget)
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.*"
看到下图所示表示安装成功
如果想安装5.6版本,以修改
vim /etc/yum.repos.d/mysql-community.repo
源,将5.7源的enabled=1改成enabled=0。然后再将5.6源的enabled=0改成enabled=1即可
2、安装MYSQL
#安装命令
yum install mysql-community-server
安装可能会出现如下错误,这MySQL GPG 密钥已过期导致:
直接安装密钥即可解决:
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
在重新执行安装命令后台,如下图所示,表明安装成功
3、启动Mysql
#启动mysql
systemctl start mysqld
#开机启动
systemctl enable mysqld
systemctl daemon-reload
#查看启动状态
systemctl status mysqld
看到如下图说明启动成功
4、修改密码
mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改
grep 'temporary password' /var/log/mysqld.log
连接mysql,修改密码
#引号内替换成上述的密码
mysql -uroot -p'B<AS./rnA3qU'
修改密码、开启root远程登录
#将root用户密码改成 !@#123QWEasd
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘!@#123QWEasd’;
#添加一个拥有所有权限并且可远程连接的用户myslave,密码!@#123QWEasd
use mysql;
grant all privileges on . to ‘myslave’@‘%’ identified by ‘!@#123QWEasd’ with grant option;
flush privileges;
#当然也可以修改root允许远程连接
update user set Host=‘%’ where User=‘root’;
flush privileges;
注意:mysql5.7默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示#ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误
5、常用默认配置
到这一步基本已经完成安装了,下面提供默认的配置文件路径:
默认配置文件路径:
配置文件:/etc/my.cnf
日志文件:/var/log//var/log/mysqld.log
服务启动脚本:/usr/lib/systemd/system/mysqld.service
socket文件:/var/run/mysqld/mysqld.pid
常用配置在/etc/my.cnf文件,我们可以在[mysqld]下添加编码配置,如下所示:
#配置默认编码为utf8
character_set_server=utf8
init_connect='SET NAMES utf8'
#bin log
server-id=1 #一般设置成ip,不要重复
expire_logs_days=10
log-bin=/var/lib/mysql/mysql-bin
slave-skip-errors=all
#开启慢日志
slow_query_log=ON
log_output=TABLE
long_query_time=10 #单位s
log_slow_admin_statements=ON
log_slow_slave_statements=ON