zoukankan      html  css  js  c++  java
  • Linux的MySQL安装和配置(详细)

    打开centos系统

    输入root用户和密码(我的用户和密码都是root)

    查看有没有安装mysql

    rpm -qa|grep mysql
    

      

    没有返回任何信息说明没有安装

    我是用的centos7,默认安装的mariadb,而不是mysql

    所以应该输入

    rpm -qa|grep mariadb
    

      

    看返回信息说明系统自带mariadb的安装包

    使用yum(Yellow dog Updater Modified 黄狗更新修改器)安装mariadb安装包

    yum install -y mariadb-server mariadb
    

      

    -y参数表示询问yes or no的地方选择yes,

    后面两个参数就是需要安装的2个软件:mariadb-server 和mariadb

    yum会自动下载和安装mariadb以及所需要的依赖包(可以使用国内镜像速度更快,推荐阿里的,方法简单,自己去问度娘)

     现在信息太多,屏幕显得很乱,使用clear指令清理屏幕,输入clear

    使用rpm的查询指令查看是否安装好了mariadb-server和mariadb

     linux有rpm工具,是类似于node.js的npm之类的包管理器

    rpm -q mariadb-server mariadb
    

      

    修改MySQL配置

    其实不配置也可以使用,MySQL默认的字符集是latine1,而不是utf8,我们需要修改为utf8,这样才可以保存中文数据

    vim /etc/my.cnf
    

      

    注意使用前需要确保安装了vim工具才行

    使用rpm查询指令,看是否安装了vim

    好吧,没有找到,那么用yum去安装一下

    yum install -y vim
    

      

     

     开始修改配置

    使用前面的vim指令

    进来应该看到最下面一行显示的文件名称,总行数,总字符数,这时需要按一下i或者insert键,切换到insert插入模式

    看左下角变成insert插入模式后可以输入

    找到[mysql],没有的话自己写一个

    在下面续写

    [mysql]
    
    # 默认字符集
    default-character-set=utf8

    修改

    保存并退出

    按esc键,输入 :wq

    w表示写入缓冲,q表示退出

    ok,写入成功,发现多了几行,字符数也多了

    启动并登陆mysql

    启动mysql服务

    systemclt start mariadb
    

      

    登录mysql

    mysql -u root -p
    

      

    -u表示账户为root

    -p表示密码,默认没有密码,直接回车,没有密码再回车

    停止mysql服务

    systemclt stop mariadb
    

      

    查看mysql的字符集设置

    show variables like 'character%';
    

      

    看到刚才的数据库字符集设置没有生效,肯定是哪里出了问题

    退出mysql数据库

    输入quit

     

    再一次去编辑my.cnf文件

    然后esc,:wq保存退出,停止mariadb,重新启动mariadb,重新登录root

    现在查看字符集,就已经设置成utf8了

     

    修改root的密码

    mysqladmin -u root password '密码'
    

      我的密码为root,现在再登录mysql,如果不输入密码,就会报错访问拒绝,需要输入root密码才行

    MySQL远程连接授权

    为了可以让外部网络访问数据库,需要设置数据库权限,让root用户可以拥有增删改查的权限

     授权命令

    grant 权限 on 数据库对象 to 用户
    

      

    授予root用户对所有数据库对象的全部操作权限

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

    命令说明:

    ALL PRIVILEGES :表示授予所有的权限,此处可以指定具体的授权权限。
    *.* :表示所有库中的所有表
    'myuser'@'%' : myuser是数据库的用户名,%表示是任意ip地址,可以指定具体ip地址。
    IDENTIFIED BY 'mypassword' :mypassword是数据库的密码。

    查看授权

    select User, host from mysql.user;
    

      

    关闭linux的防火墙

    systemctl stop firewalld(默认)
    systemctl disable firewalld.service(设置开启不启动)
    

      

     外部链接mysql服务器,我是用navicat

    输入服务器的ip地址和mysql的root账户的密码(root)

    ip地址的获取方式,在服务器输入:ip addr

    看到ens33的inet地址就是服务器的ip

    连接测试成功,ok

  • 相关阅读:
    板邓:解决Visual Studio 2017 安装程序清单签名验证失败
    板邓:PHP获取当前页面url地址、参数
    板邓:【WordPress文件解读】wp-config.php
    板邓:【WordPress文件解读】wp-load.php
    板邓:【WordPress文件解读】wp-blog-header.php
    读取符号库文件
    创建空间参考
    针对乱码中文进行编辑
    根据图层路径选择文件(存储)
    springboot实现数据库中数据导出Excel功能
  • 原文地址:https://www.cnblogs.com/1906859953Lucas/p/10925414.html
Copyright © 2011-2022 走看看