【Linux】Linux安装并配置mysql

发布于:2025-05-16 ⋅ 阅读:(10) ⋅ 点赞:(0)

目录

1.删除原有mysql

2.添加 MySQL Yum Repository

3.安装 MySQL

        3.1.报错        

4.启动 MySQL 服务

5.设置mysql

        5.1.密码验证组件

        5.2.密码策略

        5.3.移除匿名用户

        5.4.是否禁用root远程访问

        5.5.是否删除test

        5.6.是否重新加载权限

      5.7.设置远程权限

        5.7.1.登录mysql

5.8.端口更换

        5.8.1.查找配置文件的位置

        5.8.2. 修改配置

5.8.3.重启mysql 


        该教程是使用的 CentOS 8.2 安装 mysql。

1.删除原有mysql

rpm -qa|grep mariadb

        如果存在在mariadb,卸载命令如下:

#rpm -e --nodeps是强制卸载指令 后面是查出的依赖名称

rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64

        全部卸载完输入以下指令,输出无则已卸载干净

rpm -qa|grep mysql

2.添加 MySQL Yum Repository

        MySQL 官方提供了 Yum 仓库,可以通过它来安装 MySQL。首先,下载 MySQL 的 Yum Repository

wget https://dev.mysql.com/get/mysql80-community-release-el8-3.noarch.rpm

        响应内容:

        然后,添加下载的 repository 到你的系统中 

sudo rpm -ivh mysql80-community-release-el8-3.noarch.rpm

        响应内容:

​ 

3.安装 MySQL

        现在你可以通过以下命令安装 MySQL

sudo dnf install mysql-server

        响应内容:

        输入 y 确认 

        3.1.报错        

        如出现  :更新或下载时报错:为仓库 ‘appstream‘ 下载元数据失败 : Cannot prepare internal mirrorlist 

        原因是 CentOS Linux 8已于 2021-12-31日停止更新和维护了,CentOS团队从官方镜像中移除CentOS 8的包,所以在使用yum源安装或更新会报上述失败错误。

        进入仓库源文件夹下

cd /etc/yum.repos.d/

        修改镜像配置

sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*

        清空原有缓存,并重新生成 

yum clean all && yum makecache

        更新软件包

yum update -y

        操作完成,可以继续执行  sudo dnf install mysql-server 指令。

4.启动 MySQL 服务

        安装完成后,启动 MySQL 服务,并设置为开机自启

sudo systemctl start mysqld
sudo systemctl enable mysqld

        查看mysql运行状态 

systemctl status mysqld.service

        查看mysql进程

ps -ef|grep mysqld

        响应如下: 

5.设置mysql

        输入指令配置mysql基本的安全设置

mysql_secure_installation

        5.1.密码验证组件

        输入 y 确定启用这个密码验证组件。

        5.2.密码策略

        可输入(0,1,2) 

  • 0 = LOW: 密码长度至少为8个字符。这是最宽松的策略,仅要求密码达到一定的长度,但对字符类型没有特殊要求。

  • 1 = MEDIUM: 在LOW的基础上增加了更多要求,密码长度至少为8个字符,并且必须包含数字、大小写字母以及特殊字符。这比LOW级别提供了更强的安全性。

  • 2 = STRONG: 在MEDIUM的基础上进一步加强了要求,除了所有MEDIUM的要求外,还需要密码通过字典文件检查,这意味着密码不能是常见的单词或简单组合,有助于防止使用容易被猜到的密码

        输入完成后可输入创建密码,和再次确认密码。

        响应内容:

        密码策略成功通过会回显示密码强度,上图显示的强度是100 ,去人是否使用此密码

        输入 y 确认。 

        5.3.移除匿名用户

        继续输入 y 同意移除这些匿名用户。

        5.4.是否禁用root远程访问

        询问您是否要禁止 root 用户从远程主机登录 MySQL 数据库。如果需禁用远程访问root只能本地访问则输入y,需要远程输入随意字母。

        5.5.是否删除test

        询问您是否要删除 MySQL 默认提供的名为 'test' 的数据库及其对应的访问权限,需要删除输入y,不需随意。

        5.6.是否重新加载权限

        询问是否重新加载权限,输入 y  

        至此设置完成。

      5.7.设置远程权限

        如果上面都操作完成后还是无法远程访问 mysql 可以按下面步骤操作。

        5.7.1.登录mysql

                输入以下指令后,输入刚刚设置的密码即可登录。

mysql -u root -p

        响应内容:

        5.7.2设置

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
CREATE USER 'root'@'%' IDENTIFIED BY '你的新密码';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
  • ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';  #如果需要更改root密码的话
  • CREATE USER 'root'@'%' IDENTIFIED BY '你的新密码';          #创建一个可以从任何地方登录的root用户
  • GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;      #赋予所有权限
  • FLUSH PRIVILEGES;      #刷新权限使其生效

         使用 Navicat Premium 可成功远程访问mysql。

5.8.端口更换

        如想更换原始的3306端口的话,根据一下步骤操作。

        5.8.1.查找配置文件的位置

mysql --help | grep "Default options" -A 1

        MySQL在启动时会读取多个可能的配置文件路径。常见的默认位置包括/etc/my.cnf、/etc/mysql/my.cnf、$MYSQL_HOME/my.cnf(其中$MYSQL_HOME是一个环境变量,通常指向MySQL的安装目录)、~/.my.cnf等。你可以通过以下命令来查看你的MySQL实例实际使用了哪个配置文件。

        响应如下:

        5.8.2. 修改配置

        在my.cnf文件中,查找包含[mysqld]的部分,在这部分下面添加或修改如下行来指定新的端口号(例如,更改为3111)

5.8.3.重启mysql 

        保存对my.cnf文件的修改后,你需要重启MySQL服务以使更改生效

sudo systemctl restart mysqld

        重启后,你可以通过以下命令检查MySQL监听的端口是否已经更改为你设置的新端口

netstat -plnt | grep mysqld

        响应如下:

         如上图端口3111显示出来就代表已更改成功。


网站公告

今日签到

点亮在社区的每一天
去签到