前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Centos下安装MySQL,配置远程连接(无坑版)

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

原创
作者头像
不惑
发布2023-10-18 13:23:15
1.1K0
发布2023-10-18 13:23:15
举报
文章被收录于专栏:Goboy

环境准备

  • 云服务器
  • 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;

使用 navicat 连接时报错

报错: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;

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 环境准备
  • 安装 MySQL8及以上
  • 安装 mysql-server
  • 安装成功后重启mysql服务
  • 设置密码
  • 授权
  • 使用 navicat 连接时报错
  • 安装 MySQL8 以下版本
  • 安装 mysql-server
  • 安装成功后重启mysql服务
  • 设置密码
  • 修改密码
  • 可能会出现的问题
  • 解决方法
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档