zoukankan      html  css  js  c++  java
  • 安装篇五:安装MySQL(5.6.38版本)

    #1、MySQL安装

    #1、准备环境
    # No1:关闭:(iptables)selinux
    # No2:下载好安装包(这里使用 mysql-5.6.38.tar.gz 包安装)
    # No3:安装依赖包
        [root@TEST ~]# yum install -y ncurses-devel libaio-devel
    # No4:安装cmake软件 [ 说明:MySQL5.5版本以后使用编译安装需要安装 cmake ]
        [root@TEST ~]# yum install cmake gcc-c++ –y
    # No5:创建MySQL管理的虚拟用户
        [root@TEST ~]# useradd -s /sbin/nologin -M mysql
        [root@TEST ~]# id mysql
    # No6:创建tools目录
        [root@TEST ~]# cd /server/tools/

    #2、导入MySQL安装包并解压

    #2、导入MySQL安装包
    [root@TEST ~]# cd /server/tools/ [root@TEST tools]# tar xf mysql-5.6.38.tar.gz [root@TEST tools]# cd mysql-5.6.38 ###进入解压之后的目录

    #3、configure配置、编译、安装

    #3、configure配置、编译、安装
    [root@TEST tools]# cd mysql-5.6.38
    [root@TEST mysql-5.6.38]# 
    cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.38 
    -DMYSQL_DATADIR=/application/mysql-5.6.38/data 
    -DMYSQL_UNIX_ADDR=/application/mysql-5.6.38/tmp/mysql.sock 
    -DDEFAULT_CHARSET=utf8 
    -DDEFAULT_COLLATION=utf8_general_ci 
    -DWITH_EXTRA_CHARSETS=all 
    -DWITH_INNOBASE_STORAGE_ENGINE=1 
    -DWITH_FEDERATED_STORAGE_ENGINE=1 
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1 
    -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 
    -DWITH_ZLIB=bundled 
    -DWITH_SSL=bundled 
    -DENABLED_LOCAL_INFILE=1 
    -DWITH_EMBEDDED_SERVER=1 
    -DENABLE_DOWNLOADS=1 
    -DWITH_DEBUG=0
    [root@TEST mysql-5.6.38]# echo $?       <—— 返回值为0,则执行下一步
    [root@TEST mysql-5.6.38]# make
    [root@TEST mysql-5.6.38]# echo $?       <—— 返回值为0,则执行下一步
    [root@TEST mysql-5.6.38]# make install
    [root@TEST mysql-5.6.38]# echo $?       <—— 返回值为0,则执行下一步
    *****************************************************************************
    ## 补充说明1:
    cmake 执行完了之后,先使用 echo $?查看返回值是否是0;
        如果是0的话再执行下面的make 和make install
    ## 补充说明2:
        报错说明:如果cmake报错,大部分原因是由于关键的开发包组没有安装
        解决方法: 1、安装包组:yum groupinstall XXX
                   2、解压文件夹删除,再次重新解压,重新cmake即可
    ## 补充说明3:
        cmake干了什么?
            1、做了些预配置
            2、影响了编译后的程序(编译过程会将cmake指定的配置信息硬编码到程序文件中)
                Mysqld、mysql、mysql_install_db、mysqldump、mysqladmin、mysql_safe等。
    *****************************************************************************

    #4、创建软连接

    [root@TEST mysql-5.6.38]# ln -s /application/mysql-5.6.38/  /application/mysql

    #5、移除/etc/my.conf文件

    [root@TEST mysql-5.6.38]# rm -rf /etc/my.cnf*
    [root@TEST mysql-5.6.38]# cp /application/mysql/support-files/my*.cnf  /etc/my.cnf

    #6、初始化数据

    [root@TEST mysql-5.6.38]# /application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data --user=mysql

    #7、修改软件路径归属

    [root@TEST mysql-5.6.38]# chown -R mysql.mysql /application/mysql/

    #8、启动脚本和开机自启动设置

    # 拷贝启动脚本到sys-v模式目录
    [root@TEST mysql-5.6.38]# cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld
    # 修改权限
    [root@TEST mysql-5.6.38]# chmod 700 /etc/init.d/mysqld
    # 设置开机自启动
    [root@TEST mysql-5.6.38]# chkconfig mysqld on
    [root@TEST mysql-5.6.38]# chkconfig --list mysqld

    #9、启动数据库

    [root@TEST mysql-5.6.38]# /etc/init.d/mysqld start
    # 查看数据库端进程信息
    [root@TEST mysql-5.6.38]# ps -ef|grep mysql
    # 查看数据库端口号
        [root@TEST mysql-5.6.38]# netstat -lntup|grep mysql
    tcp        0      0 :::3306                     :::*                        LISTEN      32340/mysqld
    *************************************************************
    启动可能报错:    
    # 可能报错(一)
        Starting MySQL.180402 00:55:13 mysqld_safe Directory '/var/lib/mysql' for UNIX socket file don't exists.ERROR! The server quit without updating PID file (/var/lib/mysql/db02.pid).
        # 那么你可以查看以下/etc/my.cnf是否是之前安装mysql时产生的文件,把它移动到/tmp目录下,再次启动mysql尝试
        /etc/init.d/mysqld start
        # 可能报错(二)
        Starting MySQL.Logging to '/application/mysql-5.6.36/data/db02.err'.
        180402 00:56:42 mysqld_safe Directory '/application/mysql-5.6.36/tmp' for UNIX socket file don't exists.
        ERROR! The server quit without updating PID file (/application/mysql-5.6.36/data/db02.pid).
        # 注:此时数据库启动会提示,找不到xx/tmp/mysql.sock,原因是5.6.36版本不会自动创建tmp目录
        解决办法:
        # 创建目录tmp
        [root@TEST mysql-5.6.38]# mkdir /application/mysql/tmp
        # 授权
        [root@TEST mysql-5.6.38]# chown -R mysql.mysql /application/mysql/
        # 再次启动
        [root@TEST mysql-5.6.38]# /etc/init.d/mysqld start  # 启动成功

    #10、添加环境变量

    [root@TEST mysql-5.6.38]# echo 'PATH=/application/mysql/bin/:$PATH' >>/etc/profile
    [root@TEST mysql-5.6.38]# tail -1 /etc/profile
    [root@TEST mysql-5.6.38]# source /etc/profile
    [root@TEST mysql-5.6.38]# echo $PATH

    #11、删除数据库里的无效库、用户

    ①、修改初始密码
    # 说明:刚安装的数据库没有初始密码
    [root@TEST mysql-5.6.38]# mysqladmin -uroot -p password 123456
    Enter password:      <————注意:刚安装的数据库是没有密码的,这里密码直接enter回车
    Warning: Using a password on the command line interface can be insecure.
    # 登录MySQL:
        mysql -uroot -p123456
        mysql -uroot -p
    ②、清理无效用户
    mysql> select user,host from mysql.user;
    mysql> drop user ''@'localhost';
    mysql> drop user 'root'@'::1';
    mysql> drop user root@'127.0.0.1';
    mysql> drop user ''@'test';
    mysql> drop user 'root'@'test';
    mysql> select user,host from mysql.user;
    | root | localhost |
    1 row in set (0.00 sec)
    ③、清理无效数据库
    mysql> show databases;
    mysql> drop database test;
    mysql> show databases;
    | information_schema |
    | mysql              |
    | performance_schema |
    3 rows in set (0.01 sec)

     

     

  • 相关阅读:
    ngix反向代理-之反向
    redux和flux究竟有什么不同, 说点自己的理解
    npm发包记录
    由一个聚焦-focus-事件异常跟踪引起的总结
    git查看分支的几个方法
    test-your-mind-快速测试自己的代码
    contos7 yum安装php7.2与swoole (2)
    php_ thinkphp 时间回滚
    30个php操作redis常用方法代码例子
    redis_php 安装与卸载
  • 原文地址:https://www.cnblogs.com/l75790/p/12804289.html
Copyright © 2011-2022 走看看