目的:Centos7 离线安装mysql 5.7
环境:
系统:Centos 7.5
环境:x64
问题分析:
Centos7 移除了mysql默认安装,改换为mariadb。mysql需要手动安装
解决方案:
先移除mariadb的lib,避免mysql安装时出错。同时下载mysql rpm离线包,进行安装及权限设置。
方法步骤:
1. 卸载Centos7默认的mariadb
执行命令 rpm -qa | grep mariadb //查找mariadb安装情况
执行命令 rpm -e --nodeps mariadb-libs //卸载mariadb
2. 官网https://dev.mysql.com/downloads/mysql/下载mysql。以5.7.24版本为例,下载完整离线包https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.24-1.el7.x86_64.rpm-bundle.tar
选择对应版本
解压下载包
3. 安装mysql
1. 解压后的rpm文件拷贝到Centos7 环境下。
2. 执行安装命令
rpm -ivh mysql-community-common-5.7.24-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.24-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.24-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.24-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.24-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.24-1.el7.x86_64.rpm
3. 安装命令全部执行成功以后mysql安装完成。
4. 配置mysql
1. 打开配置文件
vim /etc/my.cnf
2. 在最后添加一行
skip-grant-tables #屏蔽mysql登陆密码,并且可以操作mysql的user表
3. 重启mysql服务
systemctl restart mysqld
4. mysql命令登陆
mysql -u root -p
回车进入mysql>
5. 修改用户密码及网络访问(解决MySQL Access denied for user)
mysql> use mysql;
mysql> update mysql.user set authentication_string=password('新密码') where user='root' ;//设置密码
mysql> grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option; //开启网络访问
mysql> flush privileges; //刷新权限
mysql> exit;
6. 还原配置
vim /etc/my.cnf
注释配置文件添加的最后一行
#skip-grant-tables
7.重启
systemctl restart mysqld //重启mysql
5. 开始使用mysql.
ps:
如启动mysql出错,提示如 Job for mysqld.service failed because the control process exited with error code.
可以通过查看mysql启动log来查看原因,log位置在/var/log/mysqld.log.
- 若错误原因是: The innodb_system data file ‘ibddata1’ must be writable.
解决方法: 找到ibddata1文件位置(本例位置在/usr/local/mysql/data),赋予写权限。执行 chmod -R 777 /usr/local/mysql/data , 然后systemctl restart mysqld