zoukankan      html  css  js  c++  java
  • root用户删除恢复,mysql二进制及源码安装,mysql关闭,重启,开启命令

    1. 关闭MySQL服务
    1. 进入配置文件找到my.cnf;在my.cnf中找到以下片段[mysqld];另起一行加入代码:skip-grant-tables 并保存
    1. 启动服务进入MySQL,插入root用户insert into user (Host,User,Password,ssl_cipher,x509_issuer,x509_subject) values('localhost','root',password('123'),'','','');

    并赋予权限update user set Host='localhost',select_priv='y', insert_priv='y',update_priv='y',Alter_priv='y',delete_priv='y',create_priv='y',drop_priv='y',reload_priv='y',shutdown_priv='y',Process_priv='y',file_priv='y',grant_priv='y',References_priv='y',index_priv='y',create_user_priv='y',show_db_priv='y',super_priv='y',create_tmp_table_priv='y',Lock_tables_priv='y',execute_priv='y',repl_slave_priv='y',repl_client_priv='y',create_view_priv='y',show_view_priv='y',create_routine_priv='y',alter_routine_priv='y',create_user_priv='y' where user='root';commit;并刷新

    4.删除之前配置文件插入内容

    5.重启服务

    service mysqld restart

    源码安装

    一.数据库的种类:

    1.关系型数据库(RDBMS):
    MySQL,Oracle,MSSQL(SQLserver)
    2.非关系型数据库(NoSQL):
    Redis,Memcache,MongoDB,elasticsearch


    ELK:日志收集
    E:elasticsearch
    L:logstash
    K:Kibana


    二.MySQL的版本选择潜规则:
    https://www.mysql.com/

    MySQL5.6:
    1.选择GA 6-12个月
    2.小版本号为偶数版

    MySQL5.7
    1.选择GA 6-12个月
    2.小版本号为偶数版
    3.MySQL5.7.17以上版本 MGR

    三.MySQL源码安装
    1.解压
    [root@db01 ~]# tar xf mysql-5.6.40.tar.gz
    2.进入目录
    [root@db01 ~]# cd mysql-5.6.40
    [root@db01 mysql-5.6.40]# ll
    3.生成编译文件

     #程序存放位置
    cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.38 
    #数据存放位置
    -DMYSQL_DATADIR=/application/mysql-5.6.38/data 
    #socket文件存放位置
    -DMYSQL_UNIX_ADDR=/application/mysql-5.6.38/tmp/mysql.sock 
    #使用utf8字符集
    -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 
    #启用zlib库支持(zib、gzib相关)
    -DWITH_ZLIB=bundled 
    #启用SSL库支持(安全套接层)
    -DWITH_SSL=bundled 
    #启用本地数据导入支持
    -DENABLED_LOCAL_INFILE=1 
    #编译嵌入式服务器支持
    -DWITH_EMBEDDED_SERVER=1 
    # mysql5.6支持了google的c++mock框架了,允许下载,否则会安装报错。
    -DENABLE_DOWNLOADS=1 
    #禁用debug(默认为禁用)
    -DWITH_DEBUG=0

    4.编译
    make

    5.安装
    make install

    cd /usr/local/mysql-5.6.40/

    7.创建mysql系统用户
    [root@db01 mysql-5.6.40]# useradd mysql -s /sbin/nologin -M

    8.进入配置文件及脚本目录
    [root@db02 mysql-5.6.40]# cd support-files/

    9.拷贝配置文件到etc
    [root@db01 support-files]# cp my-default.cnf /etc/my.cnf
    cp: overwrite ‘/etc/my.cnf’? y

    10.拷贝启动脚本
    [root@db01 support-files]# cp mysql.server /etc/init.d/mysqld

    11.进入初始化目录
    [root@db01 mysql-5.6.40]# cd /usr/local/mysql-5.6.40/scripts/

    mkdir /usr/local/mysql-5.6.40/tmp

    chown  -R mysql.mysql /usr/local/mysql*

    12.初始化数据库
    [root@db01 scripts]# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql-5.6.40 --datadir=/usr/local/mysql-5.6.40/data

    13.做软连接
    [root@db02 scripts]# ln -s /usr/local/mysql-5.6.40 /usr/local/mysql

    14.启动mysql
    [root@db02 scripts]# /etc/init.d/mysqld start

    Starting MySQL.Logging to '/usr/local/mysql/data/db02.err'.
    . SUCCESS!

    15.添加环境变量
    [root@db02 scripts]# vim /etc/profile
    export PATH="/usr/local/mysql/bin:$PATH"

    16.加载环境变量
    [root@db02 scripts]# source /etc/profile

    17.授权
    [root@db01 scripts]# chown -R mysql.mysql /usr/local/mysql*

    18.连接mysql
    [root@db02 scripts]# mysql

    19.设置mysql密码
    [root@db02 scripts]# mysqladmin -uroot -p password 123

    20.连接mysql
    [root@db01 scripts]# mysql -uroot -p123

    二进制安装

    压缩包放进去后解压

    mv mysql-5.6.40-linux-glibc2.12-x86_64 /usr/local/mysql-5.6.40


    6.进入mysql程序目录


    [root@db02 ~]# cd /usr/local/mysql-5.6.40/

    7.创建mysql系统用户
    [root@db01 mysql-5.6.40]# useradd mysql -s /sbin/nologin -M

    8.进入配置文件及脚本目录
    [root@db02 mysql-5.6.40]# cd support-files/

    9.拷贝配置文件到etc
    [root@db01 support-files]# cp my-default.cnf /etc/my.cnf
    cp: overwrite ‘/etc/my.cnf’? y

    10.拷贝启动脚本
    [root@db01 support-files]# cp mysql.server /etc/init.d/mysqld

    11.进入初始化目录
    [root@db01 mysql-5.6.40]# cd /usr/local/mysql-5.6.40/scripts/

    12.初始化数据库
    [root@db01 scripts]# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql-5.6.40 --datadir=/usr/local/mysql-5.6.40/data

    13.做软连接
    [root@db02 scripts]# ln -s /usr/local/mysql-5.6.40 /usr/local/mysql

    14.启动mysql
    [root@db02 scripts]# /etc/init.d/mysqld start

    Starting MySQL.Logging to '/usr/local/mysql/data/db02.err'.
    . SUCCESS!

    15.添加环境变量
    [root@db02 scripts]# vim /etc/profile
    export PATH="/usr/local/mysql/bin:$PATH"

    16.加载环境变量
    [root@db02 scripts]# source /etc/profile

    17.授权
    [root@db01 scripts]# chown -R mysql.mysql /usr/local/mysql*

    18.连接mysql
    [root@db02 scripts]# mysql

    19.设置mysql密码
    [root@db02 scripts]# mysqladmin -uroot -p password 123

    20.连接mysql
    [root@db01 scripts]# mysql -uroot -p123


    四.mysql基础优化:
    1.删除 没有用的库
    mysql> show databases;
    mysql> drop database test;
    Query OK, 0 rows affected (0.00 sec)

    2.删除没有用的用户
    mysql> select user,host from mysql.user;
    mysql> drop user root@'::1';
    Query OK, 0 rows affected (0.00 sec)
    mysql> delete from mysql.user where user='root' and host='db01';

    关闭防火墙

      systemctl stop firewalld
     systemctl disable firewalld
     
     
     
    防火墙配置相关
       getenforce  查看‘
    暂时  
       setenforce 0
    永久 
       配置文件

        vim /etc/sysconfig/selinux

      sed命令

       

     sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux 
     
     
     
     
     

    1、查看mysql版本
    方法一:status;
    方法二:select version();

    2、Mysql启动、停止、重启常用命令
    a、启动方式
    1、使用 service 启动:
    [root@localhost /]# service mysqld start (5.0版本是mysqld)
    [root@szxdb etc]# service mysql start (5.5.7版本是mysql)

    2、使用 mysqld 脚本启动:
    /etc/inint.d/mysqld start

    3、使用 safe_mysqld 启动:
    safe_mysqld&

    b、停止
    1、使用 service 启动:
    service mysqld stop

    2、使用 mysqld 脚本启动:
    /etc/inint.d/mysqld stop

    3、mysqladmin shutdown

    c、重启
    1、使用 service 启动:
    service mysqld restart 
    service mysql restart (5.5.7版本命令)

    2、使用 mysqld 脚本启动:
    /etc/init.d/mysqld restart

     
     
     

     查看mysql服务

    netstat -lntup |grep 3306

    报错处理

    The server quit without updating PID file

    1、可能是/usr/local/mysql/data/mysql.pid文件没有写的权限
    解决方法 :给予权限,执行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data”  然后重新启动mysqld!

    2、可能进程里已经存在mysql进程
    解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9  进程号”杀死,然后重新启动mysqld!

    3、可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。
    解决方法:去mysql的数据目录/data看看,如果存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。本人就是使用第三条方法解决的 !

    4、mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir)。
    解决方法:请在[mysqld]下设置这一行:datadir = /usr/local/mysql/data

    5、skip-federated字段问题
    解决方法:检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉吧。

    6、错误日志目录不存在
    解决方法:使用“chown” “chmod”命令赋予mysql所有者及权限

    7、selinux惹的祸,如果是centos系统,默认会开启selinux
    解决方法:关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试

    自己解决办法

    1.mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir)。
    解决方法:请在[mysqld]下设置这一行:datadir = /usr/local/mysql/data

    3.查看相关进程

    3.kill -9 所有有关进程

  • 相关阅读:
    临时表和表变量
    北航发生一场悲剧:计算机学子复习过程中突然倒地
    2w+长文带你剖析ConcurrentHashMap~!
    2020年最新ZooKeeper面试题(附答案)
    MQ消息中间件,面试能问些什么?
    设计模式之初体验
    IIS7 下使用ExtJs出现Ext未定义的问题
    修改apache+php上传文件大小限制
    memcache support requires ZLIB解决办法
    Windows下Memcache的安装方法
  • 原文地址:https://www.cnblogs.com/wrqysrt/p/10834126.html
Copyright © 2011-2022 走看看