linux安装mysql超详细图文教程一次成功
首先下载 mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar
直接在linux 命令行下载 wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar
下载完成之后得到如下文件
使用如下命令解压
tar -xvf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar
因为centos本身自带了数据库mariadb ,所以我们先要把mariadb去掉
先用如下命令查看是否安装了mariadb
rpm -qa|grep mariadb
卸载mariadb
rpm -e mariadb-libs-5.5.65-1.el7.x86_64 --nodeps
接下来进行各模块的安装
- 首先安装 mysql-community-common-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm
- mysql-community-libs-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm
**这个时候可能会有一个报错 **
依赖检测失败:
libcrypto.so.10()(64bit) 被 mysql-community-libs-8.0.11-1.el7.x86_64 需要
libcrypto.so.10(libcrypto.so.10)(64bit) 被 mysql-community-libs-8.0.11-1.el7.x86_64 需要
libssl.so.10()(64bit) 被 mysql-community-libs-8.0.11-1.el7.x86_64 需要
libssl.so.10(libssl.so.10)(64bit) 被 mysql-community-libs-8.0.11-1.el7.x86_64 需要
解决方法是在rpm包后面添加 --nodes --force
rpm -ivh mysql-community-libs-8.0.11-1.el7.x86_64.rpm --nodeps --force
- mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm
4. mysql-community-client-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm
5. mysql-community-server-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm
6. mysql-community-devel-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.28-1.el7.x86_64.rpm
至此,mysql 安装完成,接下来进行mysql初始化
mysqld --initialize --user=mysql
mysql 初始化完成之后会自动创建一个超级用户,通过如下命令查看超级用户的密码
cat /var/log/mysqld.log
红框部分即为初始化的密码
设置mysql开机自启
systemctl start mysqld.service
登录mysql
mysql -uroot -p
输入指令后 ,在Enter password: 后输入我们之前查到的初始化密码
登录成功之后如下
登录成功后,修改下密码,修改为我们自己的密码,
set password=password('自己的密码');
修改之后退出,使用我们的新密码重新登录
关闭防火墙
systemctl stop iptables
systemctl stop firewalld
systemctl disable firewalld.service
使用mysql工具进行登录
会报host … is not allowed to connect to this MySql server的错误
遇到这个问题需要现在服务端进行处理
查看mysql数据库中所有的表:show tables;
查看user表中的数据:
select Host,User from user;
可以看到,当前限制的host为 localhost,通过navicat 就会被拒绝
修改user表中的Host:
update user set Host='%' where User='root';
将Host改为通配符 %
最后刷新一下
flush privileges;
最后刷新一下
flush privileges;
重新回到navicat ,进行连接