7.2 的 yum 源中默认没有 mysql, 要先下载 mysql 的 repo 源
- wget http: //repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
- rpm -ivh mysql57-community-release-el7-8.noarch.rpm --nodeps --force
安装这个包后,会获得两个 mysql 的 yum repo 源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo
- yum install mysql-server
查看 MySQL 服务是否已启动
- service mysqld status
启动服务
- systemctl start mysqld
MySQL5.7 会在安装后为 root 用户生成一个随机密码,而不是像以往版本的空密码。
可以安全模式修改 root 登录密码或者用随机密码登录修改密码。下面用随机密码方式
MySQL 为 root 用户生成的随机密码通过 mysqld.log 文件可以查找到:
- grep 'temporary password' /var/log/mysqld.log
修改 root 用户密码:(MySQL 的密码策略比较复杂,过于简单的密码会被拒绝)
- mysql -u root -p
- mysql> Enter password: (输入刚才查询到的随机密码)
- mysql> SET PASSWORD FOR 'root'@'localhost'= "Root-123";
- mysql> exit
用 root 新密码登录:
- mysql -u root -pRoot-123
如果上面的方式不能修改可以使用下面安全模式修改 root:
- 关闭服务
- systemctl stop mysqld.service
- vi /etc/my.cnf
- mysqld下面添加skip-grant-tables 保存退出启动服务
- systemctl start mysqld.service
- mysql -u root 不用密码直接回车
- use mysql
- update user set authentication_string=password('Root-123') where User='root' and Host='localhost';
- flush privileges;
- exit;
- vi /etc/my.cnf 把 skip-grant-tables 一句删除保存退出重启mysql服务
- systemctl restart mysqld.service
- 再次登录即可
- mysql -u root -pRoot-123
- 如果进行操作出现下面的提示:
- You must reset your password using ALTER USER statement before executing this statement.
- 就再设置一遍密码
- set password = password('Root-123');
允许使用用户名 root 密码 Root-123456 从任何主机连接到 mysql 服务器
- mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Root-123456' WITH GRANT OPTION;
- mysql>FLUSH PRIVILEGES;
- mysql>exit;
开启防火墙 mysql 3306 端口的外部访问
- firewall-cmd --zone=public --add-port=3306/tcp --permanent
- firewall-cmd --reload
来源: http://www.linuxidc.com/Linux/2017-03/141300.htm