阿里云服务器安装MySql并通过Navicat连接本地数据库

阿里云服务器安装MySql

  1. 删除原来的数据库

    [root@iz2zehgk5eslkv1sxqfj7bz ~]# rpm -qa|grep mariadb  // 查询出来已安装的mariadb
    [root@iz2zehgk5eslkv1sxqfj7bz ~]# rpm -e --nodeps 文件名  // 卸载mariadb,文件名为上述命令查询出来的文件
    
  2. 下载安装MySQL

    • 、安装MySQL官方的yum repository 指令1 (指令1和指令2 任选一样即可)

      [root@iz2zehgk5eslkv1sxqfj7bz ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
      
    • 安装MySQL官方的yum repository 指令2

      [root@iz2zehgk5eslkv1sxqfj7bz ~]# yum -y remove mysql57-community-release-el7-10.noarch
      
    • 下载rpm包

      [root@iz2zehgk5eslkv1sxqfj7bz ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm
      
    • 安装MySQL服务

      [root@iz2zehgk5eslkv1sxqfj7bz ~]# yum -y install mysql-community-server
      

      出现complete即为成功

    • 启动MySQL服务

      [root@localhost ~]# systemctl start  mysqld.service
      

      以Starting MySqL server… started MysqlServer…结尾的就成功启动了
      在这里插入图片描述

    • 配置MySQL开机启动

      [root@woitumi-128 ~]# systemctl enable mysqld
      
      [root@woitumi-128 ~]# systemctl daemon-reload   刚刚配置的服务需要让systemctl能识别,就必须刷新配置
      
    • 记录几个MySQL常用命令

      重启:systemctl restart mysqld.service
      
      停止:systemctl stop mysqld.service
      
      查看状态:systemctl status mysqld.service
      
  3. 登录MySQL

    • 停止MySQL服务

      systemctl stop mysqld.service
      
      
    • 修改MySQL配置文件

      vi /etc/my.cnf
      
      
    • 在最后加上配置

      skip-grant-tables
      
      
    • 然后再启动服务

      systemctl start mysqld.service
      
      
    • 此时即可跳过密码登录MYSQL

      mysql -u root
      
      

      登录成功:
      在这里插入图片描述

    • 修改密码

      mysql> use mysql; //输入回车
      Database changed
      mysql> update mysql.user set authentication_string=password('123456') where user='root' ;//输入回车
      Query OK, 1 row affected, 1 warning (0.00 sec)
      Rows matched: 1  Changed: 1  Warnings: 1
      
      
    • 输入 exit 回车,退出mysql,重新在刚刚那个配置文件中去掉skip-grant-tables,然后重启MySQL

    • 修改MySQL登录密码等级

      mysql> set global validate_password_policy=0;  //改变密码等级
      
      mysql> set global validate_password_length=6;   //改变密码最小长度
      
      
    • 重新设置密码

      SET PASSWORD = PASSWORD('密码');
      
      
    • 测试MySQL:输入show databases;没有报错及登录配置成功

  4. 配置远程登录

    • MySQL默认root用户只能本地登录,如果要远程连接,要简单设置下,这里直接用root来远程登录不添加其他角色。

      使用命令:

      GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
      
      

      *. *的意思是所有库的所有表;To后面跟的是用户名;@后面跟的是ip地址,%代表所有ip地址,identified by后面的是密码。

    • 继续执行

      mysql> flush privileges;
      
      
    • 注意:
      需要注意mysql的配置文件中的bindaddress 的参数和skip-networking 配置

      bindaddress : 设定哪些ip地址被配置,使得mysql服务器只回应哪些ip地址的请求),最好注释掉该参数或设置成为127.0.0.1以外的值

      skip-networking : 如果设置了该参数项,将导致所有TCP/IP端口没有被监听,也就是说出了本机,其他客户端都无法用网络连接到本mysql服务器,所以应该注释掉该参数

  5. 添加3306端口

    • 开启防火墙:

      systemctl status firewalld  //查看防火墙状态
      
      systemctl start firewalld  //打开防火墙
      
      
    • 输入开放3306端口命令

      firewall-cmd --zone=public --add-port=3306/tcp --permanent;
      
      firewall-cmd --reload  //重启防火墙
      
      
  6. 为MySQL设置编码UTF-8

    • 打开/etc/my.cnf也就是数据库的配置文件,然后在底部复制粘贴:

      [mysqld] 
      
      character_set_server=utf8
      init_connect='SET NAMES utf8'
      
      
    • 采用navicat新建数据库时,需要将编码方式设置为:
      字符集:utf8 – UTF-8 Unicode ,排序规则:utf8_general_ci

    • 配置文件的说明

      /etc/my.cnf 这是mysql的主配置文件
      /var/lib/mysql mysql数据库的数据库文件存放位置
      /var/log mysql数据库的日志输出存放位置
      
      
  7. 使用Navicat连接服务器上的MySQL

    • 首先打开Navicat,文件 – 新建连接 – MySQL连接

      常规: 主机名或IP地址 填localhost或者是本地IP
      端口:3306
      用户名和密码:填写阿里云上MySQL的用户名和密码
      在这里插入图片描述

    • 连接服务器上的MySQL,使用SSH连接

      这里的主机名或IP地址:服务器公网IP

      端口:22
      用户名和密码:填写服务器的用户名和密码(不是服务器上MySQL的哦)
      在这里插入图片描述

    • 连接测试,连接成功,大功告成

发布了56 篇原创文章 · 获赞 14 · 访问量 6270

猜你喜欢

转载自blog.csdn.net/qq_41154522/article/details/100528390