CentOS7 离线安装MySQL
1.删除原有的mariadb
不然安装报错
rpm -qa|grep mariadb
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.21-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-5.7.21-1.el7.x86_64.rpm rpm -ivh mysql-community-devel-5.7.21-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-compat-5.7.21-1.el7.x86_64.rpm rpm -ivh mysql-community-client-5.7.21-1.el7.x86_64.rpm rpm -ivh mysql-community-server-5.7.21-1.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的密码策略比较复杂,过于简单的密码会被拒绝)
1 mysql -u root -p 2 mysql> Enter password: (输入刚才查询到的随机密码) 3 mysql> SET PASSWORD FOR 'root'@'localhost'= "qaz-123"; 4 mysql> exit
6. 用root新密码登录
mysql -u root -pqaz-123
如果上面的方式不能修改可以使用下面安全模式修改root:
关闭服务,修改mysql配置文件:
1 systemctl stop mysqld.service 2 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端口
1 mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'qaz-123' WITH GRANT OPTION; 2 mysql>FLUSH PRIVILEGES; 3 mysql>exit;
开启防火墙mysql 3306端口的外部访问:
1 firewall-cmd --zone=public --add-port=3306/tcp --permanent 2 firewall-cmd --reload