美文网首页
在linux中安装MySQL

在linux中安装MySQL

作者: 一条IT | 来源:发表于2019-01-03 19:47 被阅读57次

    在linux中查看是否原来就有MySQL

    查看该操作系统中是否已经安装过MySQL数据库:

    [root@hadoop02 ~]# rpm -qa | grep mysql
    

    如果已经安装,需要卸载:

    #普通卸载:
    [root@hadoop02 ~]# rpm -e mysql
    #强力卸载:
    [root@hadoop02 ~]# rpm -e --nodeps mysql
    

    注意:如果使用普通删除时,提示有依赖的其他文件,则可以通过强力卸载来删除!

    MySQL安装

    ①查看可下载的MySQL的版本:

    [root@hadoop02 ~]# yum list | grep mysql
    
    

    ②进行安装数据库:

    [root@hadoop02 ~]# yum install -y mysql-server mysql mysql-devl 
    

    ③安装完成后,查看安装后数据库的版本:

    [root@hadoop02 ~]# rpm -qi mysql-server
    

    数据库初始化

    ①启动数据库:

    1、[root@hadoop02 ~]# service mysqld start
    
    2、[root@hadoop02 ~]# sudo /etc/init.d/mysqld start
    
    

    重启:

    [root@hadoop02 ~]# service mysqld restart
    

    如果和下图一样,代表启动成功:

    启动
    在使用MySQL数据库时,必须先启动mysql的服务,因此最好是设置为开机自启:
    [root@hadoop02 ~]# chkconfig mysqld on
    

    然后,查看设置的是否成功:

    [root@hadoop02 ~]# chkconfig --list | grep mysql
    
    

    出现以下图片,说明设置成功:


    image.png

    设置root账号的密码(在默认情况下,安装好后root是没有密码的。)
    ①进入mysql数据库中:

    [root@hadoop02 ~]# mysql -uroot
    
    

    ②为了安全起见,给root设置一个密码:

    [root@hadoop02 ~]# mysqladmin -u root password 'root' 
    
    

    如果,需要重置密码:

    [root@hadoop02 ~]# mysqladmin -u root -p password 'root'
    

    ③,设置好以后,可以通过以下命令进入数据库:

    [root@hadoop02 ~]# mysql -u root -p 
    
    

    数据库编码成UTF-8

    ①在/etc/my.cnf文件中设置数据为utf8

    [root@hadoop02 ~]# vi /etc/my.cnf 
    

    ②在[client]下面添加:

    [client]
    default-character-set=utf8
    

    ③在[mysqld]下面添加:

    character-set-server=utf8
    
    image.png

    ④查看数据库字符集编码,进入mysql数据库中,再输入以下代码:

    mysql> show variables like '%char%';
    
    

    出现以下界面,说明设置成功:


    image.png

    MySQL的主要配置文件

    1、主配置文件:/etc/my.cnf
    2/数据库文件存放位置:/var/lib/mysql
    3/日志存放位置:/var/log/mysqld.log

    基本命令(在已经进入数据库中的命令,切忌拉掉分号

    1、mysql> show databases;//查看系统已经存在的数据库
    2、mysql> use 数据库的名字;//选择需要使用的数据库
    3、mysql> drop database 数据库名字;//删除选定的数据库
    4、mysql> create database 数据库名字;//创建一个新的数据库
    5、mysql>exit;//退出数据库的连接
    6、mysql> show tables;//查看当前数据库下的表
    7、其他基本的增删改查使用标准的SQL语句即可
    

    开放远程的登陆权限(在已经进入数据库中的命令,切忌拉掉分号

    mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root';
    
    mysql> FLUSH PRIVILEGES;
    

    防火墙的开启与关闭:

    (1) 用root用户登录后,执行查看防火墙状态。

    [root@hadoop02 /]# service iptables status
    

    (2) 用[root@hadoop02 /]# service iptables stop关闭防火墙,这个是临时关闭防火墙。

    [root@hadoop02 /]# service iptables stop
    iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
    iptables: Flushing firewall rules:                         [  OK  ]
    iptables: Unloading modules:                               [  OK  ]
    

    (3) 如果要永久关闭防火墙用。

    [root@hadoop02 /]# chkconfig iptables off
    

    关闭,这种需要重启才能生效。

    练习

    创建scott database数据库代码:

    create table dept(
        -- 部门编号
        deptno      int unsigned auto_increment primary key,
        -- 部门名称
        dname       varchar(15)     ,
        -- 部门所在位置
        loc         varchar(50)     
    )engine = InnoDB;
    create table emp(
        -- 雇员编号
        empno           int unsigned auto_increment primary key,
        -- 雇员姓名
        ename           varchar(15)     ,
        -- 雇员职位
        job             varchar(10)     ,
        -- 雇员对应的领导的编号
        mgr             int unsigned    ,
        -- 雇员的雇佣日期
        hiredate        date            ,
        -- 雇员的基本工资
        sal             decimal(7,2)    ,
        -- 奖金
        comm            decimal(7,2)    ,
        -- 所在部门
        deptno          int unsigned    ,
        foreign key(deptno) references dept(deptno)
    )engine = innodb;
     create table salgrade(
        -- 工资等级
        grade       int unsigned    ,
        -- 此等级的最低工资
        losal       int unsigned    ,
        -- 此等级的最高工资
        hisal       int unsigned    
    )engine=innodb;
     create table bonus(
        -- 雇员姓名
        ename       varchar(10),
        -- 雇员职位
        job         varchar(9),
        -- 雇员工资
        sal         decimal(7,2),
        -- 雇员资金
        comm        decimal(7,2)
    )engine=innodb;
    
    

    在dept表中插入一些数据:

    INSERT INTO dept VALUES (10,'ACCOUNTING','NEW YORK');
    INSERT INTO dept VALUES (20,'RESEARCH','DALLAS');
    INSERT INTO dept VALUES (30,'SALES','CHICAGO');
    INSERT INTO dept VALUES (40,'OPERATIONS','BOSTON');
    INSERT INTO emp VALUES    (7369,'SMITH','CLERK',7902,'1980-12-17',800,NULL,20);
    INSERT INTO emp VALUES    (7499,'ALLEN','SALESMAN',7698,'1981-2-20',1600,300,30);
    INSERT INTO emp VALUES    (7521,'WARD','SALESMAN',7698,'1981-2-22',1250,500,30);
    INSERT INTO emp VALUES    (7566,'JONES','MANAGER',7839,'1981-4-2',2975,NULL,20);
    INSERT INTO emp VALUES    (7654,'MARTIN','SALESMAN',7698,'1981-9-28',1250,1400,30);
    INSERT INTO emp VALUES    (7698,'BLAKE','MANAGER',7839,'1981-5-1',2850,NULL,30);
    INSERT INTO emp VALUES    (7782,'CLARK','MANAGER',7839,'1981-6-9',2450,NULL,10);
    INSERT INTO emp VALUES    (7788,'SCOTT','ANALYST',7566,'87-7-13',3000,NULL,20);
    INSERT INTO emp VALUES    (7839,'KING','PRESIDENT',NULL,'1981-11-17',5000,NULL,10);
    INSERT INTO emp VALUES    (7844,'TURNER','SALESMAN',7698,'1981-9-8',1500,0,30);
    INSERT INTO emp VALUES    (7876,'ADAMS','CLERK',7788,'87-7-13',1100,NULL,20);
    INSERT INTO emp VALUES    (7900,'JAMES','CLERK',7698,'1981-12-3',950,NULL,30);
    INSERT INTO emp VALUES    (7902,'FORD','ANALYST',7566,'1981-12-3',3000,NULL,20);
    INSERT INTO emp VALUES    (7934,'MILLER','CLERK',7782,'1982-1-23',1300,NULL,10);
    INSERT INTO salgrade VALUES (1,700,1200);
    INSERT INTO salgrade VALUES (2,1201,1400);
    INSERT INTO salgrade VALUES (3,1401,2000);
    INSERT INTO salgrade VALUES (4,2001,3000);
    INSERT INTO salgrade VALUES (5,3001,9999);
    
    作者:__豆约翰__
    链接:https://www.jianshu.com/p/40798d908542
    
    

    相关文章

      网友评论

          本文标题:在linux中安装MySQL

          本文链接:https://www.haomeiwen.com/subject/oneqrqtx.html