Centos下安装MySQL,配置远程连接(无坑版)

环境准备

  • 云服务器
  • CentOS 7.9 64位
  • MySQL**(!!!MySQL8 和 MySQL8以下 版本的安装方式有些微差别)**

安装 MySQL8及以上

在 root 目录下,安装 mysql 和 mysql-devel

javascript 复制代码
yum install mysql
javascript 复制代码
yum install mysql-devel

安装 mysql-server

javascript 复制代码
wget http://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm
javascript 复制代码
rpm -ivh mysql80-community-release-el7-5.noarch.rpm
javascript 复制代码
yum install mysql-community-server

安装成功后重启mysql服务

javascript 复制代码
service mysqld restart

设置密码

  • 登录mysql并输入密码
javascript 复制代码
mysql -u root -p
  • mysql8 修改密码方式
javascript 复制代码
alter user 'root'@'localhost' identified by '这里填你要的密码';

重要!!!mysql8初次安装后,需要先通过

javascript 复制代码
cat /var/log/mysqld.log | grep password 

命令查看密码,修改密码时,需要 符合长度,且含有数字、小写或大写字母、特殊字符;


如果要授权的用户是新用户,而不是root账户,则要先新建用户;

javascript 复制代码
CREATE USER '这里填你要新建的账户'@localhost  IDENTIFIED BY '这里填要新建账户的密码';

如果要授权的是root用户,则跳过此命令!!!

授权

以root账户为例

javascript 复制代码
GRANT ALL PRIVILEGES ON *.* TO 'root'@localhost WITH GRANT OPTION;
javascript 复制代码
FLUSH PRIVILEGES;

报错:1045 - Access denied for user 'root'@'xxx'(using password: YES),解决方式见上述步骤;

报错:1130 - Host 'xxx' is not allowed to connect to this MySQL server,解决方式往下看;


安装 MySQL8 以下版本

在 root 目录下,安装 mysql 和 mysql-devel

javascript 复制代码
yum install mysql
javascript 复制代码
yum install mysql-devel

安装 mysql-server

javascript 复制代码
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
javascript 复制代码
rpm -ivh mysql-community-release-el7-5.noarch.rpm
javascript 复制代码
yum install mysql-community-server

安装成功后重启mysql服务

javascript 复制代码
service mysqld restart
javascript 复制代码
service mysqld status

设置密码

首次登录,无需输入密码

javascript 复制代码
mysql -u root

修改密码

javascript 复制代码
set password for 'root'@'localhost' =password('这里填你修改之后的密码');

mysql7初次安装并登陆mysql时,root账户没有密码

配置远程连接授权设置(配置后即可用navicat建立连接),至此完成安装!

如果是新用户而不是root,则要先新建用户!!!

javascript 复制代码
create user '这里填你要新建的用户名'@'%' identified by '这里填你要新建用户的密码'; 

把在所有数据库的所有表的所有权限赋值给位于所有IP地址的root用户,以root账户为例

javascript 复制代码
grant all privileges on *.* to root@'%'identified by '这里填你的root账户密码';

查看mysql默认端口号:

javascript 复制代码
登录进mysql后,输入:
show global variables like 'port';

需要开放 MySQL 默认端口3306(控制台 - 安全组 - 配置规则可以配置)!!!

可能会出现的问题

报错:1130 - Host 'xxx.xxx.xxx.xxx' is not allowed to connect to this MySQL server

解决方法

  • 执行
javascript 复制代码
mysql -u root -p 密码
  • 执行
javascript 复制代码
use mysql;
  • 执行
javascript 复制代码
update user set host = '%' where user = 'root';
  • 执行
javascript 复制代码
FLUSH PRIVILEGES;
相关推荐
敬业小码哥27 分钟前
记一次:mysql的json及json数组使用组合使用
数据库·mysql·json
练小杰1 小时前
【Mysql-installer-community-8.0.26.0】Mysql 社区版(8.0.26.0) 在Window 系统的默认安装配置
数据库·sql·mysql·adb·配置文件·mysql安装·关系型数据库
感哥3 小时前
MySQL多表查询
mysql
方先森有点懒5 小时前
CentOS 7.2 虚机 ssh 登录报错在重启后无法进入系统
linux·运维·centos·ssh
十八旬5 小时前
苍穹外卖项目实战(day-5完整版)-记录实战教程及问题的解决方法
java·开发语言·spring boot·redis·mysql
青鱼入云5 小时前
java面试中经常会问到的mysql问题有哪些(基础版)
java·mysql·面试
送秋三十五5 小时前
MySQL DBA需要掌握的 7 个问题
数据库·mysql·dba
睡觉的时候不会困5 小时前
MySQL 高可用方案之 MHA 架构搭建与实践
数据库·mysql·架构
努力的小郑8 小时前
MySQL索引(三):字符串索引优化之前缀索引
后端·mysql·性能优化
R瑾安8 小时前
mysql安装(压缩包方式8.0及以上)
数据库·mysql