zoukankan      html  css  js  c++  java
  • RedHat 安装MySQL数据库【转】

     

      朋友购买了阿里云的服务器,服务器上自带有CentOS操作系统,但是开发软件需要自己安装,接下来将介绍本地RedHat Linux 5.10虚拟机上搭建Mysql数据库。

     一、软件准备

      (1)jdk-6u32-linux-x64.bin

       (2)MySQL-devel-5.6.16-1.linux_glibc2.5.x86_64.rpm

       (3)MySQL-server-5.6.16-1.linux_glibc2.5.x86_64.rpm 

       (4)MySQL-client-5.6.16-1.linux_glibc2.5.x86_64.rpm

      软件下载地址:

         http://dev.mysql.com/downloads/mysql/

      也可以到如下下载:

       http://pan.baidu.com/s/1bnemZXP

     二、安装软件

     2.1 JDK配置

      JDK安装配置比较简单,主要是配置本地虚拟机默认的Java编译器。安装RedHat系统时候,系统自带JDK是1.4.2版本的,可以通过java -version命令来查看当前JDK版本。

      设置默认JDK版本方法:

      (1)编辑vi /etc/profile.d/java.sh文件

        添加如下代码:

    1
    2
    3
    export JAVA_HOME=/usr/java1.6
    export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
    export PATH=$JAVA_HOME/bin:$PATH

      (2)重启机器验证

         java -version

     2.2 MySQL安装

      2.2.1 检查原系统是否已经安装MysQL相关软件:

        rpm -qa |grep -i mysql

        2.2.2 卸载之前安装的MysqL相关软件或者是版本过低的软件。

        rpm -qa |grep -i mysql | rpm -e | sh  

      2.2.3 安装MysQL

        1) rpm -ivh MySQL-devel-5.6.16-1.rhel5.x86_64
        2) rpm -ivh MySQL-server-5.6.16-1.rhel5.x86_64.rpm
        3) rpm -ivh MySQL-client-5.6.16-1.rhel5.x86_64.rpm

     2.3 配置Mysql数据库

      2.3.1 启动mysql数据库

      [root@AY1404 ~]# /etc/init.d/mysql start

      ERROR:

       ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)

      原因还没有配置Mysql数据库,解决方法,编辑/etc/my.cnf文件,添加如下代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    --创建存放数据路径
    mkdir -p /usr/mysql/data
    chown -R mysql:mysql /usr/mysql
    chmod -R 777 /usr/mysql
    --配置my.cnf文件
    [mysqld]
    datadir=/usr/mysql/data
    socket=/var/lib/mysql/mysql.sock
    port=3306
    basedir=/usr
      
    [mysql.server]
    user=mysql
    basedir=/usr
      
    [client]
    socket=/var/lib/mysql/mysql.sock

     2.3.2 再次启动Mysql数据库

      [root@AY1404 ~]# /etc/init.d/mysql start

      有可能报错如下错误ERROR:

      Starting MySQL ERROR! Couldn't find MySQL server (/usr/local/bin/mysqld_safe)

      解决办法:

      在配置my.cnf文件时候,basedir路径选择有问题, mysqld_safe命令找不到,可用手工执行mysqld_safe命令验证一下。

      [root@AY1404 ~]# /usr/bin/mysqld_safe &

     2.3.3 再次启动数据库

      [root@AY1404 ~]# /etc/init.d/mysql start

       报错信息如下:

        Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist

      原因是我们当初创建数据库的时候,不存在mysql用户,只有root用户。解决方法:

        执行/usr/bin/mysql_install_db --user=mysql

      2.3.4 启动数据库

       mysql> show databases;

        +--------------------+
        | Database |
        +--------------------+
        | information_schema |
        | mysql |
        | performance_schema |
        | test |  
        +--------------------+
       4 rows in set (0.00 sec)

     三、Mysql数据库常用命令

      3.1 修改密码

        默认root用户密码时空,-p指旧密码,password后是新密码

      [root@AY1404 ~]#/usr/bin/mysqladmin -u root -p password root123;

      3.2 数据库启动关闭命令

    1
    2
    3
    4
    5
    6
    7
    8
    --数据库启动服务
    /etc/init.d/mysql start
    或者
    service mysql start
    --数据库关闭服务
    /etc/init.d/mysql shutdown
    或者
    service mysql stop

      3.3 数据库命令

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    (1) show databases; --列出当前数据库
    (2) use databasename; 选择数据库  如:use test;
    (3) show tables; 显示表
    (4) describe tablename; 表的详细描述 
    (5) create database name; 创建数据库 
    (6)表重命名
        mysql>rename table table_abc to table_cba;
    (7) 用文本方式将数据装入数据库表中
        mysql> LOAD DATA LOCAL INFILE "/opt/dept.txt" INTO TABLE dept;
    (8) 导入.sql文件命令(例如/opt/dept.sql)
        mysql>use database;
        mysql>source/opt/dept.sql;
    (9) 数据库备份
        导出整个库
        mysql>mysqldump -u user_name -p password --default-character-set=latin1 database_name > output_database
        导出表
        mysqldump -u user_name -p password database_name tablename   > table_name.sql
        导出数据结构
        mysqldump -u user_name -p password -d –add-drop-table database_name > database_name.sql
    (10)数据库还原
        还原某张表
        mysqldump -u username -p password  database_name < inputfile.sql

    四、解决系统内存溢出问题
        Mysql占内存较多,系统经常报内存溢出,需要在my.cnf里添加如下参数设置。
        Mysql V5.6数据库一些默认值较大,可通过SHOW VARIABLES LIKE 'perf%';进行查看数据库当前的值。
        Mysql官网online文档http://dev.mysql.com/doc/refman/5.6/en/performance-schema-system-variables.html
        现调整以下参数的大小:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    performance_schema_max_table_instances=200
    #performance_schema_max_table_instances default value 12500
    table_definition_cache=200
    #table_definition_cache default value  1400
    table_open_cache=128
    #table_open_cache  default value  2000
      
    key_buffer_size = 8M
    sort_buffer_size = 8M
      
    query_cache_size= 16M
    tmp_table_size=24M
    key_buffer_size=20M
  • 相关阅读:
    Python3学习笔记22-文件读写
    Python3学习笔记21-实例属性和类属性
    Python3学习笔记20-获取对象信息
    Python3学习笔记19-继承和多态
    Python3学习笔记18-访问限制
    Python3学习笔记17-类与实例
    Python3学习笔记16-错误和异常
    Python3学习笔记15-迭代器与生成器
    Python3学习笔记14-迭代与列表生成式
    Python3学习笔记13-函数的参数
  • 原文地址:https://www.cnblogs.com/bluedy1229/p/3737509.html
Copyright © 2011-2022 走看看