CentOS7 离线安装MySQL

时间:2022-11-04 16:41:09

1.删除原有的mariadb

不然安装报错

rpm -qa|grep mariadb

CentOS7 离线安装MySQL

rpm -e --nodeps mariadb-libs

2. 下载RPM安装包

在https://dev.mysql.com/downloads/mysql/选择为Red Hat Enterprise Linux 7 / Oracle Linux 7 ,把os的版本选择为all。 直接下载mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar,所有的rpm包都在里面,然后rpm命令安装。

rpm -ivh mysql-community-common-5.7.-.el7.x86_64.rpm

rpm -ivh mysql-community-libs-5.7.-.el7.x86_64.rpm

rpm -ivh mysql-community-devel-5.7.-.el7.x86_64.rpm

rpm -ivh mysql-community-libs-compat-5.7.-.el7.x86_64.rpm

rpm -ivh mysql-community-client-5.7.-.el7.x86_64.rpm

rpm -ivh mysql-community-server-5.7.-.el7.x86_64.rpm

至此,mysql5.7所有文件安装完毕,接下来就是开启服务测试了

3. 启动mysql服务

查看mysql服务是否启动

service mysqld status

启动服务:

systemctl start mysqld

4. 重置root密码

MySQL5.7会在安装后为root用户生成一个随机密码,而不是像以往版本的空密码。 可以安全模式修改root登录密码或者用随机密码登录修改密码。下面用随机密码方式
MySQL为root用户生成的随机密码通过mysqld.log文件可以查找到:

grep 'temporary password' /var/log/mysqld.log

5. 修改root用户密码

(MySQL的密码策略比较复杂,过于简单的密码会被拒绝)

 mysql -u root -p
mysql> Enter password: (输入刚才查询到的随机密码)
mysql> SET PASSWORD FOR 'root'@'localhost'= "qaz-123";
mysql> exit

6. 用root新密码登录

mysql -u root -pqaz-

如果上面的方式不能修改可以使用下面安全模式修改root:
关闭服务,修改mysql配置文件:

 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('qaz-123') where user='root' and host='localhost';
flush privileges;
exit;
vi /etc/my.cnf #把 skip-grant-tables 一句删除保存退出重启mysql服务
systemctl restart mysqld.service

再次登录即可

mysql -uroot -pqaz123

如果进行操作出现下面的提示:

You must reset your password using ALTER USER statement before executing this statement.

就重新设置密码(mysql默认密码策略比较复杂,如果设置简单密码,需修改默认安全策略,可以参考另外一篇文章:MYSQL57密码策略修改

set password = password('qaz-123');

7.开放3306端口

 mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'qaz-123' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;
mysql>exit;

开启防火墙mysql 3306端口的外部访问:

 firewall-cmd --zone=public --add-port=/tcp --permanent
firewall-cmd --reload