• 服务器安装mysql


    服务器安装mysql

    安装mysql那不是手到擒来,可是我发现我错了

    之前宝塔安装过mysql5.7.38

    image-20220730155855131

    直接启动mysql

    systemctl start mysql
    
    • 1

    image-20220730175036930

    这怎么办呢

    要不把宝塔的mysql卸载了,自己安装一个

    yum install mysql
    yum install mysql-server
    yum install mysql-devel
    
    • 1
    • 2
    • 3

    安装mysql和mysql-devel成功,安装mysql-server失败

    image-20220730185312478

    为什么呢?

    CentOs 7版本将MySQL数据库软件从默认的程序列表中移除,用mariadb代替了

    解决方法

    1. 安装mariadb
    2. 官网下载安装mysql-server

    安装mariadb

    MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。
    
    • 1
    yum install mariadb-server mariadb
    
    • 1

    相关命令

    systemctl start mariadb 启动
    systemctl stop mariadb 停止
    systemctl restart mariadb 重启
    systemctl enable mariadb 开机启动
    
    • 1
    • 2
    • 3
    • 4

    官网下载安装mysql-server

    wget https://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
    
    • 1
    • 2
    • 3

    启动mysql服务

    systemctl start mysqld
    
    • 1

    设置mysql服务自启动

    systemctl enable mysqld
    
    • 1

    相关命令

    systemctl disable mysqld 停止mysql服务开机自启动
    systemctl status mysqld 查看mysql服务当前状态
    systemctl restart mysqld 重启mysql服务
    systemctl stop mysqld 停止mysql服务
    
    • 1
    • 2
    • 3
    • 4

    进入mysql,root账户没用密码

    mysql -u root 
    
    • 1

    报错了

    image-20220730202115441

    确认端口是否打开

    image-20220730202210706

    忘记开3306端口了,宝塔和服务器都要开

    然后重启服务

    systemctl restart mysqld 
    
    • 1

    继续输入mysql -u root进入成功

    image-20220730202440237

    设置root用户密码

    set password for 'root'@'localhost' = password('密码');
    
    • 1

    新建一个用户并授权

    create user 'ucenter'@'%' identified by 'a05vvvKAvBn4DKrD54';
    grant all privileges on *.* to 'ucenter'@'%' with grant option;
    把所有权限赋值给位于所有IP地址usercenter用户:
    
    • 1
    • 2
    • 3

    刷新权限

    flush privileges;
    
    • 1

    上面在服务器和宝塔面板开过端口,这里就不必再开了,但是保险起见也可以执行一遍命令

    防火墙开放端口

    firewall-cmd --zone=public --add-port=3306/tcp --permanent
    
    • 1

    重新加载配置

    firewall-cmd --reload
    
    • 1

    查看开放的端口

    firewall-cmd --list--ports
    
    • 1

    修改配置文件

    vim /etc/my.cnf
    
    • 1

    添加如下内容

    [mysqld]
    character_set_server=utf8
    init_connect='SET NAMES utf8'
    
    • 1
    • 2
    • 3

    重启mysql

    systemctl restart mysqld;
    
    • 1

    登录之前创建的用户,报错了

    image-20220730234118085

    用root用户登录进去,查看用户表

    image-20220730234154348

    我创建的用户,当我输入mysql -uucenter -p的时候,系统会去匹配字段,host是’%'意味着匹配所有字符,接着看user,可能会匹配到第四个或第六个user为空的匿名用户,密码验证错误,登录失败。

    create user 'ucenter'@'%' identified by 'xxxx';
    
    • 1

    解决方法就是把匿名用户删除,匿名用户是系统自行给予的,而且本身没有设置密码,可以随便登录;从安全方面看,删除匿名用户也可提高数据库的安全性。

    delete from user where user="";
    
    • 1

    image-20220730234759115

    刷新下权限

    flush privileges;
    
    • 1

    登录成功

    image-20220730235248209

    为了安全改下端口,服务器和宝塔的端口也要开放

    vim /etc/my.cnf
    
    • 1

    image-20220731103424679

    重启mysql服务

    systemctl restart mysqld 
    
    • 1

    登进mysql输入下面语句查看端口

    show global variables like 'port';
    
    • 1

    image-20220731103623357

    端口已修改

    把3306端口关闭

    大功告成

    用idea远程连一下试试

    image-20220731105845283

    服务器的mysql也能查到,完美

    image-20220731105951028

    1
  • 相关阅读:
    作为所有类的顶层父类,没想到Object的魔力如此之大!
    【JVM】MySQL驱动加载如何打破双亲委派机制
    C语言自学笔记9----用户自定义函数
    工具及方法 - 在Source Insight中使用代码格式化工具
    漫画sql数据分析
    【项目_01】搭建项目基本框架、底部tabbar、头部banner | 旅途拾景 | 基于Vue3全家桶
    NVIDIA Jetson测试安装yolox过程记录
    达观RPA实战-自定义控件创建excel表头
    MybatisPlus---从入门到深化
    clickhouse中SummingMergeTree
  • 原文地址:https://blog.csdn.net/qq_46110710/article/details/126083217