Centos7安装MySQL(只需六步)

Centos7 安装 mysql 的详细过程,我会通过 “环境准备”、“安装步骤”、“过程遇到的问题” 来告诉你如何操作~

一、 环境准备

  • 阿里云ECS云服务器

  • CentOS 7.5 64位

  • MySQL(因 MySQL8 和 MySQL8以下 版本的安装方式有些微差别,故本文会讲解两种版本的安装步骤)

二、步骤:安装 MySQL8

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

yum install mysql
yum install mysql-devel

2.安装 mysql-server

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

3.安装成功后重启mysql服务

systemctl restart mysql

4.设置密码

# 登录mysql并输入密码
mysql -u root -p
# mysql8 修改密码方式
alter user 'root'@'localhost' identified by '这里填你要的密码';
备注:
  • mysql8初次安装后,需要先通过cat /var/log/mysqld.log | grep password 命令查看密码,修改密码时,需要 符合长度,且含有数字、小写或大写字母、特殊字符

  • 无需重启数据库即可生效(且mariadb自动会被替换,不再生效)

5.进入 /etc/my.cnf 配置编码规则(无需配置的话,可跳过本步骤)

备注:这里的字符编码必须和 /usr/share/mysql/charsets/Index.xml 中一致

[mysqld]
character_set_server=utf8

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

# 如果要授权的用户是新用户,而不是root账户,则要先新建用户;如果要授权的是root用户,则跳过此命令
CREATE USER '这里填你要新建的账户'@localhost  IDENTIFIED BY '这里填要新建账户的密码';
# 授权,以root账户为例
GRANT ALL PRIVILEGES ON *.* TO 'root'@localhost WITH GRANT OPTION;
FLUSH PRIVILEGES;

7.使用 navicat 连接时报错

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

报错:1130 - Host 'xxx' is not allowed to connect to this MySQL server,解决方式见下第四点_过程遇到的问题

三、步骤:安装 MySQL8 以下版本

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

yum install mysql
yum install mysql-devel

2.安装 mysql-server

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

3.安装成功后重启mysql服务

systemctl restart mysql

4.设置密码

# 首次登录,无需输入密码
mysql -u root
# 修改密码
set password for 'root'@'localhost' =password('这里填你修改之后的密码');
备注:
  • mysql7初次安装并登陆mysql时,root账户没有密码

  • 无需重启数据库即可生效(且mariadb自动会被替换,不再生效)

5.进入 /etc/my.cnf 配置编码规则(无需配置的话,可跳过本步骤)

这里的字符编码必须和 /usr/share/mysql/charsets/Index.xml 中一致

[mysqld]
character_set_server=utf8

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

# 如果是新用户而不是root,则要先新建用户
create user '这里填你要新建的用户名'@'%' identified by '这里填你要新建用户的密码'; 
# 把在所有数据库的所有表的所有权限赋值给位于所有IP地址的root用户,以root账户为例
grant all privileges on *.* to root@'%'identified by '这里填你的root账户密码';


备注:

  • 查看mysql默认端口号:登录进mysql后,输入show global variables like 'port';

  • 记得放行 MySQL 默认端口3306(进入阿里云控制台 - 安全组 - 配置规则可以配置)

01.webp

四、过程问题

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

02.webp

解决方法:

1、执行登陆MySQL mysql -u root -p 密码
2、执行use mysql;
3、执行update user set host = '%' where user = 'root';
4、执行FLUSH PRIVILEGES;



版权声明:本文为CSDN博主「波 吉」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42678675/article/details/124090783