zoukankan      html  css  js  c++  java
  • linux_mysql安装

    历史版本: https://downloads.mysql.com/archives/community/

    mysql安装准备:

      1. 加大虚拟机内存,1~2G,编译时候更快

      2. 提前下好软件

      3. 重视操作过程报错输出

      4. 进入虚拟机中make 和 make install , 以免前功尽弃

    如何安装?

      1. 创建mysql用户

    useradd mysql -s /sbin/nologin -M
    
    id mysql         # 检查

      2. 下载

        版本选择:

        # mysql 5.5            占用60%     

        # 5.5下载地址:https://cdn.mysql.com//Downloads/MySQL-5.5/mysql-5.5.58.tar.gz

        # mysql 5.6+          占用20%

        # 5.6下载地址: https://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.38.tar.gz

        # 5.1下载地址: https://cdn.mysql.com/archives/mysql-5.1/mysql-5.1.72.tar.gz

        选择5.5版本

        统一下载到家目录下 tools目录中

    cd ~/tools
    
    wget https://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.38.tar.gz
    
    tar -xf mysql-5.5.tar.gz            # 解压
    cd mysql-5.5                           # 进入解压源码目录
    yum install -y cmake ncurses-devel gcc-c++ openssl-devel ncurses-devel                   
    # 这5.5 和5.6两个版本需要通过cmake进行安装,并安装相关依赖
    # 可以通过 make -j 4,-j指定cpu的核数,加快编译过程,如果使用不当还会减慢安装速度

      安装5.5相关参数:

    cmake . 
    
    -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.58 
    
    -DMYSQL_DATADIR=/application/mysql-5.5.58/data 
    
    -DMYSQL_UNIX_ADDR=/application/mysql-5.5.58/mysql.sock 
    
    -DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii 
    
    -DWITH_INNOBASE_STORAGE_ENGINE=1 
    
    -DWITH_FEDERATED_STORAGE_ENGINE=1 
    
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1 
    
    -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 
    
    -DWITHOUT_PARTITION_STORAGE_ENGINE=1 
    
    -DWITH_SSL=yes 
    
    -DENABLED_LOCAL_INFILE=1 
    
    -DWITH_ZLIB=bundled 
    
    -DWITH_READLINE=1
    
    # 生产环境确定字符集为utf-8,那就添加这两句
    
    # -DDEFAULT_CHARSET=utf8 
    
    # -DDEFAULT_COLLATION=utf8_general_ci 

      3. 编译并安装

    make && make install

      4.  创建软链接

    ln -s mysql-5.5.58/ mysql     # 做一个软链接
    
    # 假如数据库没有和web服务放在一起,配置到此结束,和web服务放在一起,继续往下配置

      5. 选择配置文件

    cd到 原码文件目录下, ll support-files/ | grep "my.*.cnf$"  # 有5个初始配置模板
    # # 这5个文件,应用场景不同,对应级别硬件配置,硬件配置越高,选择默认模版越大 虚拟机使用 my-small.cnf: cp support-files/my-small.cnf /etc/my.cnf # 把这个配置文件拷贝到/etc目录下,覆盖

      6. 创建放数据库数据文件目录

    mkdir /application/mysql/data -p      
    
    # 创建data存放数据的目录,实质上编译的时候,就指定了目录,会创建一个数据目录
    

       7. 授权mysql用户管理

    chown -R mysql.mysql /application/mysql/
    
    # 授权mysql安装目录给mysql用户管理,注意后面的 / 没有斜杠单独这个软链接授权,加上这个斜杠表示该目录和目录下所有内容授权

      8. 初始化数据库

    /application/mysql/scripts/mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data/ --user=mysql
    
    # 初始化数据库,将会在 /application/mysql/data/ 目录生成mysql库和performance_schema配置库
    # --basedir 安装目录
    # --datadir 存放数据目录
    # --user 服务运行用户

      9. 配置mysql数据库服务启动脚本

    # 从源码文件中的support-files/目录下,拷贝mysql启动脚本mysql.server到/etc/init.d/目录下
    
    cp support-files/mysql.server /etc/init.d/mysqld
    
    # 拷贝到  /etc/init.d/ 启动目录下,然后就可以通过  /etc/init.d/mysqld start启动数据库
    
    vim /etc/init.d/mysqld 	
    # 编辑这个脚本,更改以下两个参数
        basedir=/application/mysql/    # 指定安装路径
        datadir=/application/mysql/data/    # 指定数据路径
    
    chkconfig --add mysqld
        # 添加到 chkconfig 管理
    
    chmod u+x /etc/init.d/mysqld
        # 授权,执行权
    
    chkconfig mysqld on
        # 让其开机自启动
    

      10. 启动msyql服务 

    /etc/init.d/mysqld start

    如何直接输入mysql进入mysql数据库?

           常规启动 /application/mysql/bin/mysql, 全路径启动

      1. 把mysql命令添加到环境变量中

    vim /etc/profile      # 最后一行加入一行:
    export PATH="/application/mysql/bin/:$PATH"
    . /etc/profile           # 让修改生效
    # echo 'export PATH="/application/mysql/bin/:$PATH"' >> /etc/profile

    启动数据库出现的错误:

      ERROR! MySQL server PID file could not be found!

      原因可能是:启动脚本中有两个参数未指定

    vim /etc/init.d/mysqld          # 编辑这个脚本,指定两个路径,
            basedir=/application/mysql/                    # 指定安装路径
       datadir=/application/mysql/data              # 指定数据路径
    # 如果修改了这两个参数,还是报这个错误,直接删除 /data 数据目录,重新做数据库初始化,也就是重新执行 mysql_install_db 命令,然后提示有两种启动方式,两者不要混用,不然就会报这个错误

      2. ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/application/mysql-5.5.58/mysql.sock' (2)

        原因: /etc/my.cnf 配置文件问题

        解决方法:

                 从源码文件中把 my-small.cnf 文件拷贝覆盖掉 my.cnf文件

      3. Starting MySQL.. ERROR! The server quit without updating PID file (/application/mysql/data//db01.pid)

        这个问题是无法创建 PID file ,也就是数据没有权限,那么需要把msyql这个安装目录全部授权给msyql用户管理

      4.  171215 22:35:46 mysqld_safe mysqld from pid file /application/mysql/data/web01.pid ended

        这个问题的原因是:

          没有把安装目录授权给mysql用户,当我授权的时候,只是给对应的软链接进行了mysql用户授权

          命令后少了个斜杠,毕竟软链接也是文件,没有授权通过mysql_install_db并不能创建msyql.sock文件,所以启动服务失败

                  如何解决?

                         ll /application/mysql/                 # 检查软件授权情况,看主和组是否是mysql

                         chown -R mysql:mysql /application/mysql/            # 特别注意软链接后面那个斜杠

    安装初始化的数据库默认没有密码,可以直接执行mysql命令执行,那如何给初始化密码?

    mysqladmin -u root password 'password'        # 设置密码
    mysql -u root -p                                       # 输入密码直接进入,显示公开的数据信息

    对数据库设置了密码,还需要进行哪些操作?

    select user,host from mysql.user                    
        #查看用户信息把空白信息删除掉
    drop user ""@localhost;                  
    drop user ""@web01; 
        #这两行空参数,要适合指定的机器,不同机器两行参数名字不一样
    select user,host from mysql.user;         
        # 检查
    drop database test;               
        # 删除test测试数据库,这个数据库不安全

    如何查看数据库相关信息?

    select version();           # 查看当前版本
    select user();                # 查看当前用户
    select user, host from mysql.user # 查看用户信息,需要把空的删掉
  • 相关阅读:
    UVa532 Dungeon Master 三维迷宫
    6.4.2 走迷宫
    UVA 439 Knight Moves
    UVa784 Maze Exploration
    UVa657 The die is cast
    UVa572 Oil Deposits DFS求连通块
    UVa10562 Undraw the Trees
    UVa839 Not so Mobile
    327
    UVa699 The Falling Leaves
  • 原文地址:https://www.cnblogs.com/2bjiujiu/p/8118140.html
Copyright © 2011-2022 走看看