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)

     

     

  • 相关阅读:
    解决 Mac launchpad 启动台 Gitter 图标无法删除的问题
    React 与 React-Native 使用同一个 meteor 后台
    解决 React-Native mac 运行报错 error Failed to build iOS project. We ran "xcodebuild" command but it exited with error code 65. To debug build logs further, consider building your app with Xcode.app, by ope
    一行命令更新所有 npm 依赖包
    swift学习笔记
    IOS语言总结
    focusSNS学习笔记
    别小看锤子,老罗真的很认真
    windowsphone开发页面跳转到另一个dll中的页面
    【令人振奋】【转】微软潘正磊谈DevOps、Visual Studio 2013新功能、.NET未来
  • 原文地址:https://www.cnblogs.com/l75790/p/12804289.html
Copyright © 2011-2022 走看看