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的双向同步

posted @ 2018-07-11 19:05 小a玖拾柒 阅读(...) 评论(...) 编辑 收藏