linux学习mysql安装到连接

database

目录

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

 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进行链接了

     

     



以上是 linux学习mysql安装到连接 的全部内容, 来源链接: utcz.com/z/532665.html

回到顶部