• linux 学习 mysql安装到连接


    目录

    1. 下载与安装
         1.方法一(本地翻墙)
         2.方法二(本地不翻墙)
    2. 初始化和配置
         1.初始化mysql 
         2.远程访问的设置
         3.用户组权限的修改 
         4.开机重启

     ps:一般mysql安装后会在/var/log/下面生成一个mysqld.log文件,如果遇到启动不了或者其他问题,基本都可以在这个log文件里面找到错误原因

    1. 下载mysql和安装
      下载时自行前往下载,如果本地有翻墙条件,并且网速够快的情况下,可以使用下面的方法
      二、先下载Linux下的Mysql包,打开Mysql官网
      https://www.mysql.com/
      点击DOWNLOAD,进入
      
      https://www.mysql.com/downloads/
      
      
      

      到页面最底部,点击社区版 community(GPL)Downloads>>,进入 https://dev.mysql.com/downloads/
      
      
      继续点击社区版服务器,进入
      https://dev.mysql.com/downloads/mysql/

      
      
      三、选择版本及系统,点击右侧的Download,进入页面
      
      
      
      
      
      
      四、最后开始下载
      
      
      
      
      
      
      五、下载完成后的包列表,选择版本不同,后面的版本号可能不同,这个没有关系
      
      
      陈列如下
      
      mysql-community-client-8.0.16-2.el7.x86_64.rpm
      mysql-community-common-8.0.16-2.el7.x86_64.rpm
      mysql-community-devel-8.0.16-2.el7.x86_64.rpm
      mysql-community-embedded-compat-8.0.16-2.el7.x86_64.rpm
      mysql-community-libs-8.0.16-2.el7.x86_64.rpm
      mysql-community-libs-compat-8.0.16-2.el7.x86_64.rpm
      mysql-community-server-8.0.16-2.el7.x86_64.rpm
      mysql-community-test-8.0.16-2.el7.x86_64.rpm

      此方法来自https://www.cnblogs.com/lukefan/p/10406522.html
      
      
      如果本地没有翻墙条件,请使用下面的方法
      一、获取mysql YUM源   
      
      打开网址:https://dev.mysql.com/downloads/repo/yum/,选择对应linux版本
      
      
      
      
      点击“No thanks, just start my download.”,进行下载
      
      
      
      
      
      
      
      将下载地址复制,得到rpm包的地址
      
      

      此方法来源https://www.cnblogs.com/lemon-feng/p/11233227.html
      
      

      这两种方法的区别是是否要在服务器上下载后面的安装包,按照后面的方法,服务器下载时网速渣的要命(感谢长城),但是可以断点,下次继续下载

      在后续安装的时候,可以按照选择的不同办法进行安装,其实都是大同小异,在安装完成之后,建议采用下面的办法进行初始化和配置

    2. 初始化和配置
      顺序执行以下语句
      mysqld
      mysqld --initialize --user=mysql
      mysqld --initialize --lower-case-table-names=1 #此设置是设置大小写是否敏感,可前往https://blog.csdn.net/jesseyoung/article/details/40617031查看是否需要设置
      #ps:在mysql8中,大小写敏感设置需要在初始化的时候进行设置,后面在配置中进行更改是无效的,所以慎重选择,不然就需要重装。。。。
      查看初始密码:
      cat /var/log/mysqld.log  #或者 cat /var/log/mysqld.log | grep password 或者文件系统进入/var/log/mysqld.log进行查看

       启动mysql服务:

      service mysqld start

      查看一下服务状态是否启动:

      service mysqld status

      登入数据库:

      mysql -uroot -p

       输入或者复制进刚才的随机密码

       下面会出现一个输入命令的地方

      值得注意的是,在mysql中,每一个执行语句后面要加上一个英文分号,不然不会执行,如果忘记加了,可以在下面的">"后面输入英文分号然后回车,例如

      设置远程访问授权

      create user 'root'@'%' identified with mysql_native_password by '你的密码';
      
      grant all privileges on *.* to 'root'@'%' with grant option;
      
      flush privileges;

      输入exit退出,打开防火墙开放3306端口,此步骤不在mysql里面执行

      如果没有开启防火墙,则输入:systemctl start firewalld  开启

      输入下面命令,开放3306端口

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

      firewall-cmd --reload

       配置默认编码为UTF-8,此步骤不在mysql里面执行

      修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置,如下所示:

      (这个步骤可以使用vim或者xftp进行修改)

      character_set_server=utf8

      init_connect='SET NAMES utf8'

       

      编辑保存完重启mysql服务: systemctl restart mysqld

      查看下编码:mysql> show variables like '%character%';

      此时,外部如果还是不能连接上数据库(可查看https://www.cnblogs.com/zzqit/p/10095597.html),首先查看安全规则组,看是否打开了3306端口

      如果依然不能访问,进入mysql中,查看用户组权限

      (1)进入数据库查看用户表

      mysql -u root -p         //登录数据库
      
      use mysql                  //进入mysql数据库
      
      select Host,User from user;       //查看可以访问数据库的ip

      结果如下:

      我们需要的是有一组host=%,user的名字是唯一的用户行,如果出现下面这种也是不可以的

       此时用root去链接数据库,数据库不会按照host=%来进行处理,我们可以将

       

       这一行的用户名进行更改,如更改为rootr

      update user set user="rootr" where user="root" and host="%";

      此时我们在外部就可以使用用户名rootr进行链接了

      更改密码:

      更改密码,其实就是更改上面user对应的密码,举例:

      ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';

      这一句话,里面root对应上面的user列,localhost对应host列

       

       如果我这句话写成:ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'TiLaMiSu13213#13';

      就会报以下错误:ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'%'

       ,意思就是找不到对应的user和host,无法进行密码设置,所以这个地方要对应起来才可以

      我们如果想更改远程连接rootr的密码,就把上面这句话改成

      ALTER USER 'rootr'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';

      这个地方需要自己去设置修改,别直接复制粘贴

      设置开机启动:
      在/usr/lib/systemd/system/文件夹下创建一个mysql.service,然后进行编辑

      #ExecStart 目录可在执行which mysqld 进行查询,注意不要少d
      [Unit]
      Description=MySQL Server
      Documentation=man:mysqld(8)
      Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
      After=network.target
      After=syslog.target
       
      [Install]
      WantedBy=multi-user.target
       
      [Service]
      User=root
      Group=mysql
      ExecStart=/usr/sbin/mysqld --defaults-file=/etc/my.cnf 
      LimitNOFILE = 5000

      保存后,然后依次执行

      
      
      systemctl daemon-reload #重新加载服务配置文件
      systemctl start mysql #启动mysql

      systemctl enable mysqld #设置开机启动
      systemctl status mysql #查看mysql的状态
  • 相关阅读:
    ajax封装
    完美运动框架
    表单上传input=file
    面向对象入门
    浅谈javaScript内存
    关于使用iframe的父子页面进行简单的相互传值
    浅谈原生JavaScript的动画和特效
    rem 原理与简介
    移动 web 适配
    jsonp 简单封装
  • 原文地址:https://www.cnblogs.com/wangpengzong/p/12490995.html
Copyright © 2020-2023  润新知