Centos 7安装MySQL(以及忘记密码处理)
1.由于在 7 的YUM源中没有MySQL的安装包,所以安装需要官网的安装包。如果不介意的话可以直接使用YUM源中的MySQL替代品 mariadb(yum install mariadb -y)。
1.1 安装包方式安装:
访问官网 https://dev.mysql.com/downloads/mysql/ 看到如下图所示,选择一个版本下载即可安装。
1.2 yum安装:
访问官网 https://dev.mysql.com/downloads/repo/yum/ 看到如下图所示:
2. yum安装
2.1 下载:wget https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm
2.2 安装rpm
使用yum安装rpm包
yum localinstall mysql57-community-release-el7-11.noarch.rpm
使用rpm 命令直接安装rpm包
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
2.3 验证是否可用
在 /etc/yum.repos.d/ 下可以看到mysql 的yum仓库repo文件,并使用下面的命令可以看到mysql 可安装情况
yum repolist enabled | grep "mysql.*-community.*"
2.4 安装 mysql
yum install mysql-community-server
2.5 启动服务
systemctl start mysqld
2.6 开机启动
systemctl enable mysqld
systemctl daemon-reload
2.7 设置密码策略并修改密码
安装完成之后,MySQL有一个默认密码。默认密码在 /var/log/mysqld.log 文件中,使用以下命令获取
grep 'temporary password' /var/log/mysqld.log
修改mysql配置文件,因为MySQL密码使用了复杂度检查,比如我想设置123456,就必须修改配置文件才可以设置,否则必须是字符和数字以及字母组合才可以。密码策略(validate_password)具体如下:
validate_password = off 代表关闭密码策略
validate_password = 0 或者 validate_password = LOW 代表只检查密码长度
validate_password = 1 或者 validate_password = MEDIUM 代表只检查密码长度、数字、大小写、特殊字符
validate_password = 2 或者 validate_password = STRONG 代表只检查密码长度、数字、大小写、特殊字符、字典文件
这里我们设置不检查 off
vim /etc/my.cnf validate_password = off
systemctl restart mysqld
修改密码并开启远程登陆
mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; FLUSH PRIVILEGES;
2.8 关闭防火墙应该就可以远程访问了。
systemctl stop firewalld
安装完成。如果遇到其他问题可以参考官方文档
3. 忘记root密码,修改密码(针对5.7版本)
其中 skip-grant-tables 加到 [mysqld] 下面,跳过权限限制
vim /etc/my.cnf skip-grant-tables service mysqld restart
接着执行下面命令(直接回车,密码为空)
mysql -uroot -p
update mysql.user set authentication_string=password('123456') where user='root';
flush privileges;
改回my.cnf文件并重启mysql
service mysqld restart
到这基本上就完成了。如果还有问题可以再执行
alter user 'root'@'localhost' identified by '123456';