• Linu下的Mysql学习详解_【all】


    Linux下Mysql简介

    1.什么是Mysql(MariDB)

    1.数据库:存储数据的仓库
        2.关系型数据库:mysql(主流用5.5,5.6), oracle
            本质:二维表
            非关系型数据库:radis(数据写入内存中,也可以写入磁盘,使用key_value)
            nosql not only sql --> 以高效,高性能为目的
        3.优点:根磁盘打交道,保持数据一致性,安全,开源免费(减低成本)
                性能好,体积小,易安装,易维护,支持多操作系统,多语言开发
            缺点:速度慢

    Linux下Mysql安装

    准备工作

    Mysql下载

    链接:https://pan.baidu.com/s/1Xw9dzlGFCqqZfqzFHqkGqw 密码:9csz

    useradd mysql -M -s /sbin/login 
    tar xf mysql-5.5.33-linux2.6-x86_64.tar.gz 
    ln -s mysql-5.5.33-linux2.6-x86_64 mysql
    mv mysql mysql-5.5.33-linux2.6-x86_64 /usr/local/
    chown mysql.mysql /usr/local/mysql/ -R
        -->如果没有按照规定路径按照mysql,需要手动替换文件
      sed -i 's#/usr/local/mysql#/application/mysql#g' /application/mysql/bin/mysqld_safe  /application/mysql/support-files/mysql.server


    初始化数据库

    /usr/local/mysql/scripts/mysql_install_db --help   【帮助文档】
    /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/  --datadir=/usr/local/mysql/data/ --user=mysql
    	-->生成出一个data目录,代表数据库已经初始化成功并且mysql的root用户生成一个临时密码        
    	-->如果错误,需要删除rm -rf /usr/local/mysql/data/*后重新初始化

    生成mysql配置文件       

    cp /usr/local/mysql/support-files/my-small.cnf  /etc/my.cnf  # 本博文以小规模配置为实例,可以选择其他my-medium.cnf/my-large.cnf
    # my-medium.cnf/my-large.cnf 默认开启log记录文件
    # 小配置默认不开启二进制的log记录,可选择性开启 [Mysql的主备是需要开启的]
    # sed -i 's/#log-bin=mysql-bin/log-bin=mysql-bin/g' /etc/my.cnf

    image

    配置环境变量(2种)            

     1.vim /etc/profile   -->推荐
        #mysql 
    PATH="/usr/local/mysql/bin:$PATH"
    source /etc/profile                    
     2.直接添加入$PATHchk    
    cp /usr/local/mysql/bin/* /usr/local/sbin/
    

    直接启动mysql

    /usr/local/mysql/bin/mysqld_safe &
    查看启动情况
    ps -ef|grep mysqld

    image

    规范的启动mysql -->推荐

    cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
       service mysqld start
          -->设置开机自启动
        chkconfig mysqld on   
        chkconfig --list|grep mysqld

    在shell界面修改密码 

    设置:
            mysqladmin -uroot password "root"
        登录:
            mysql -uroot -proot
        更改:
            mysqladmin -uroot -proot password "root2"
        安全登录:
            mysql -uroot –p

    image

    image

    安全优化: 

      删除test库    drop database test;
     删除无用用户  
        select user,host from mysql.user; -->用户和主机唯一标示一个用户
        drop user ''@'localhost';
        drop database 库名;
    

    image

        create user webserverpt@localhost identified by 'root';
        grant all privileges on *.* to webserverpt with grant option; 
        flush privileges;   -->让权限生效,赋权的时候必备的2条命令
    

    image

        delete from mysql.user where user="root" and host="host";
        select user();
        use mysql;
        select database();
        help show databases;
        help CREATE VIEW;
    
    

    大写以及特殊linux主机名删除用户问题

    drop  user root@'ftl\_lnmp';   删除失败可以采用delete语句
        delete from mysql.user where user='' and host='MYSQL'  -->正确
        flush privilege         -->生效配置
    

    image

    更多学习参考

    0、Mysql 系统学习梳理_【All】

    1、Linux下的Mysql备份/恢复

    2、Linux下的Mysql的远程访问   

    3、Linux下的Mysql的主从备份      

    4、Linux下的Mysql的双向同步

  • 相关阅读:
    【BZOJ3193】[JLOI2013]地形生成 DP
    【BZOJ3782】上学路线 组合数+容斥+CRT
    Web安全学习笔记之Kali部署DVWA和OWASPBWA
    Web安全学习笔记之Kali配置国内软件更新源
    Python面试题之列表推导式
    前端学习笔记之HTML中的id,name,class区别
    Web安全学习笔记之Nmap脚本使用指南
    Web安全学习笔记之Nmap扫描原理与用法
    Web安全学习笔记之Openvas配置,使用,报告
    Python面试题之Python中应该使用%还是format来格式化字符串?
  • 原文地址:https://www.cnblogs.com/ftl1012/p/mysql.html
Copyright © 2020-2023  润新知