zoukankan      html  css  js  c++  java
  • Linux系统上安装MySQL(rpm)

    1.准备工作

    从MySQL官网上分别下载mysql服务器端于客户端包。

    如:

    MySQL-server-5.5.15-1.linux2.6.x86_64.rpm和MySQL-client-5.5.15-1.linux2.6.x86_64.rpm

    并放到/opt目录下

    2.检测系统是否安装MySQL

    (1)进入系统后,检测是否安装mysql.

    如:检测是否安装Mysql输入

    #rpm -qa | grep -i mysql

    若已安装过,会出现以下

    MySQL-server-5.0.22-0.i386

    MySQL-client-5.0.22-0.i386

    (2)那么输入以下命令删除它:

    #rpm -ev MySQL-server-5.0.22-0.i386

    # rpm -ev MySQL-client-5.0.22-0.i386

    注意:若删除的时候,出现删除不成功,出现依赖的包,前提必须删除依赖项。rpm -ev  dovecot-1.0.7-7.el5.x86_64

    3.安装MySQL

    (1)第一步:安装mysql服务端,输入以下命令

    # rpm -ivh /opt/MySQL-server-5.5.15-1.linux2.6.x86_64.rpm

    当出现如下:

    Preparing...       ########################################### [100%]
     1:MySQL-server     ########################################### [100%]
    。。。。。。(省略显示)
     /usr/bin/mysqladmin -u root password 'new-password'
    /usr/bin/mysqladmin -u root -h test1 password 'new-password'
    。。。。。。(省略显示)

    表示MySQL安装完成。

    (2)检测mysql 3306是否安打开,输入以下命令

    # netstat -nat

    当出现如下时,表示mysql 3306端口打开

    Active Internet connections (servers and established)
       Proto Recv-Q Send-Q Local Address      Foreign Address     State   
       tcp  0  0 0.0.0.0:3306     0.0.0.0:*      LISTEN   
       上面显示可以看出MySQL服务已经启动。

    (3)安装mysql客户端,同理输入以下命令

    # rpm -ivh /opt/ MySQL-client-5.5.15-1.linux2.6.x86_64.rpm

    当出现如下:表示安装成功

    warning: MySQL-client-5.1.7-0.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5
       Preparing...    ########################################### [100%]
       1:MySQL-client  ########################################### [100%]
      显示安装完毕。

    4.配置MySQL

    (1)上面都是安装完成了,但都是默认的,还需要很多配置。

    先了解下默认安装位置及作用

        1.数据库目录
       /var/lib/mysql/

       2、配置文件
       /usr/share/mysql(mysql.server命令及配置文件)

       3、相关命令
       /usr/bin(mysqladmin mysqldump等命令)

       4、启动脚本
       /etc/rc.d/init.d/(启动脚本文件mysql的目录)

        如:/etc/rc.d/init.d/mysql start/restart/stop/status

    (2)由于MySQL数据库目录占用磁盘比较大,所以我在/根目录下建了个个目录data,命令如下:

    #cd /

    #mkdir data

    建成后,根目录就会出现以下文件夹

     

    (3)把数据库移动到data目录中去。输入以下命令:

    # mv  /var/lib/mysql  /data

    最后,进入data目录就会看到有一个mysql文件夹。

    拷贝完后还需修改/etc/rc.d/init.d/mysql的datadir目录值,修改结果如:

    basedir=

    datadir=/data/mysql

    (4)拷贝配置文件到/etc目录下,并命名为my.cnf(必须名为my.cnf)

    #cp  /usr/share/mysql/my-medium.cnf  /etc/my.cnf

    这儿要注意:/usr/share/mysql/下有好几个结尾为cnf的文件,它们的作用分别是:

    1.my-small.cnf是为了小型数据库而设计的。不应该把这个模型用于含有一些常用项目的数据库。
    2.·my-medium.cnf是为中等规模的数据库而设计的。如果你正在企业中使用RHEL,可能会比这个操作系统的最小RAM需求(256MB)明显多得多的物理内存。由此可见,如果有那么多RAM内存可以使用,自然可以在同一台机器上运行其它服务。
    3·my-large.cnf是为专用于一个SQL数据库的计算机而设计的。由于它可以为该数据库使用多达512MB的内存,所以在这种类型的系统上将需要至少1GB的RAM,以便它能够同时处理操作系统与数据库应用程序。
    4·my-huge.cnf是为企业中的数据库而设计的。这样的数据库要求专用服务器和1GB或1GB以上的RAM。
    这些选择高度依赖于内存的数量、计算机的运算速度、数据库的细节大小、访问数据库的用户数量以及在数据库中装入并访问数据的用户数量。随着数据库和用户的不断增加,数据库的性能可能会发生变化。

    (5)最后配置/etc/my.cnf文件的datadir,和mysql.sock路径以及默认编码utf-8.

    ,红色字体标示为修改后的。

    [client]

    password        = 123456

    port            = 3306

    socket          = /data/mysql/mysql.sock

     default-character-set=utf8

    # Here follows entries for some specific programs

     

    # The MySQL server

    [mysqld]

    port            = 3306

    socket          = /data/mysql/mysql.sock

    skip-external-locking

    key_buffer_size = 16M

    max_allowed_packet = 1M

    table_open_cache = 64

    sort_buffer_size = 512K

    net_buffer_length = 8K

    read_buffer_size = 256K

    read_rnd_buffer_size = 512K

    myisam_sort_buffer_size = 8M

    character_set_server=utf8
    collation-server=utf8_general_ci
    lower_case_table_names=1
    character_set_client=utf8

    (注意linux下mysql安装完后是默认:区分表名的大小写,不区分列名的大小写;lower_case_table_names = 0    0:区分大小写,1:不区分大小写)

    max_connections=1000(设置最大连接数,默认为 151,MySQL服务器允许的最大连接数16384; )

    [mysql]

     

    default-character-set = utf8

     

    no-auto-rehash

    (6)进入/usr/bin目录下重启mysql服务

    #mysql_install_db

     

    #cd   /usr/bin/mysql restart

    或者

    #service mysql start   |  restart  |  stop

    (7)登录mysql

    #cd /usr/bin/mysql -u root -p

    Enterpassword:(直接回车,因为第一次为空密码)

    (8)登录成功后,修改密码

    进入>mysql环境下,

    输入:

    > mysql> show databases;

    +--------------------+

    | Database           |

    +--------------------+

    | information_schema |

    | mysql              |

    | performance_schema |

    | test               |

    +--------------------+

    4 rows in set (0.00 sec)

    > mysql> use mysql

    Database changed

    mysql> show tables;

    +---------------------------+

    | Tables_in_mysql           |

    +---------------------------+

    | columns_priv              |

    | db                        |

    | event                     |

    | func                      |

    | general_log               |

    | help_category             |

    | help_keyword              |

    | help_relation             |

    | help_topic                |

    | host                      |

    | ndb_binlog_index          |

    | plugin                    |

    | proc                      |

    | procs_priv                |

    | proxies_priv              |

    | servers                   |

    | slow_log                  |

    | tables_priv               |

    | time_zone                 |

    | time_zone_leap_second     |

    | time_zone_name            |

    | time_zone_transition      |

    | time_zone_transition_type |

    | user                      |

    +---------------------------+

    24 rows in set (0.00 sec)

    > mysql>update user set password=password('123456')where user='root';

    修改root密码为123456

    最后重启mysql,密码生效

     

     

    /usr/local/mysql/bin/mysqld_safe --user=mysql&

    #cd   /usr/bin/mysql restart

    (6)MySQL安装成功

    (7)执行以下语句用来查看MySQL默认编码

    mysql> show variables like '%colla%';
    +----------------------+-------------------+
    | Variable_name        | Value             |
    +----------------------+-------------------+
    | collation_connection | gb2312_chinese_ci |
    | collation_database   | utf8_general_ci   |
    | collation_server     | utf8_general_ci   |
    +----------------------+-------------------+
    3 rows in set (0.00 sec)

    mysql> show variables like '%char%';
    +--------------------------+----------------------------+
    | Variable_name            | Value                      |
    +--------------------------+----------------------------+
    | character_set_client     | gb2312                     |
    | character_set_connection | gb2312                     |
    | character_set_database   | utf8                       |
    | character_set_filesystem | binary                     |
    | character_set_results    | gb2312                     |
    | character_set_server     | utf8                       |
    | character_set_system     | utf8                       |
    | character_sets_dir       | /usr/share/mysql/charsets/ |
    +--------------------------+----------------------------+
    8 rows in set (0.00 sec)
    111:又时候启动两次MySQL会报错

    通过ps aux | grep mysql查看启动进程,然后通过kill -9 进程编号。删除就可以了

    --查看数据库的字符集
    show variables like 'character\_set\_%';
    show variables like 'collation_%';

     

    (8)MySQL查看当前使用用户

    >mysql show processlist


    (9)MySQL备份

    mysqldump abc(数据库名) --user=root --password > /root/abc.sql

     mysqldump -u root  -p  abc(数据库名)  user (表名)>/user.sql(导出单张表)

    注意,如果运行 mysqldump 没有指定 --quick 或 --opt 选项,则会将整个结果集放在内存中。如果导出大数据库的话可能会出现问题

    导入:

    mysql> use abc;

    mysql>source /root/abc.sql(导入数据库)

    mysql>source /user.sql(导入单张表)
    (10)创建索引

    CREATE INDEX IX_NAME ON  USER(NAME) ;

    (11)查看索引

    SHOW INDEX FROM USER;


    (12)修改表字段长度

    alter table c_logo_image modify column CONTENT varchar(21840);

    (13)添加字段

    alter table table1 add transactor varchar(10) not Null;
    alter table student add num decimal(8,0) default 0 ;

    alter table student2 add loginNum decimal(8,0) not null default 0 ;

    (14)MySQL设置自启动

    chkconfig mysql on
  • 相关阅读:
    Aitit 认证体系之道 attilax著艾龙著 1. 认证体系分类 2 1.1. 按照语言来分 java net php 2 1.2. 按照平台来分 web cs 桌面 2 1.3. 综合性认证
    Atitit 数据库与存储引擎设计与实现 attilax总结 1.1. 数据库的实现有很多种, 遵循一些理论规范,如 Fix Rules、WriteAhead Log、Forcelogat
    Atitit 物联网之道 艾龙著 attilax著 1. 理论基础(控制理论 信息理论) 2 2. 1.5 物联网的关键技术12 2 2.1. 1.5.1 网络与通信技术12 1.5.2 无线传感
    Atitit 项目源码管理 attilax著 1. 源码结构sdk目录结构 1 1.1. 源码分类,配置文件,主程序文件,sql文件 1 2. 源码管理,提交,更新,与同步 1 2.1. 源码同步
    Atitit cio之道 attilax著 2. CIO是企业组织很重要的一个官员,未来就靠信息取胜了 1 3. Cio职责 2 3.1. 企业信息化 对信息技术的利用来实现组织攻略目标 2 3
    Aitit aop之道 艾龙著 需要整合zop资料包东西 第1章 AOP的产生         1.1 软件开发方法的演进         1.2 AOP产生的前奏——把系统看做一批关注点
    Atitit 运维之道 1.1.devops算是最低门槛了。什么运维平台,搞来搞去也就那些东西。无外乎cmdb、部署、监控之类的,再加点各种小平台自动化需求。 CMDB Configurati
    Atitit. Attilax软件研发and开发之道 1. 基本语言 3 2. 标准化库api 3 3. Ied与代码编写 调试 3 4. ui 3 5. 通讯 3 6. 第三方库 3 7. 数据
    Atitit sql之道 艾龙著 attilax 1. Ddl dml 3 2. Crud 3 3. 高级sql 3 3.1. Merge 3 3.2. 数据库翻页 limit offset系列
    Atitit 最近十年来until2018软件开发领域的趋势 艾龙总结 attilax大盘点总结历史与趋势 1. Keyword sec title 2 2. 语言本身: 2 2.1. 工业标准 2
  • 原文地址:https://www.cnblogs.com/jimmyshan-study/p/10775723.html
Copyright © 2011-2022 走看看