zoukankan      html  css  js  c++  java
  • 使用二进制包安装mysql

    Mysql官网二进制包下载地址

    https://dev.mysql.com/downloads/mysql/

    选择对应版本下载

    根据操作系统选择

    会有一步让注册的  点击“No thanks, just start my download.” 即可直接下载

    常用目录介绍

    #笔者自己的习惯
    /data/ /data/mysql 安装目录 /data/mysql33306 数据目录 /data/mysql3306/mysql.sock /data/mysql/ini/my.cnf /data/mysql3306/error.log /data/mysql3306/mysql3306.pid

    安装所需组件

    yum install libaio

    解压并创建数据目录

    mkdir -p /data/mysql
    mkdir -p /data/mysql3306/
    tar -zxvf mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz
    mv mysql-5.7.16-linux-glibc2.5-x86_64 /data/mysql 

    添加mysql环境变量

    ##注意 将自己安装的mysql的环境变量添加在前边,否则直接使用mysql的相关命令的时候如果用的是系统自带的有时候会报错
    echo 'export PATH=/data/mysql/bin:$PATH' >>/etc/profile
    source /etc/profile
    which mysql  查看时候生效  
    #/data/mysql/bin/mysql

    添加mysql用户

    groupadd mysql
    useradd -r -g mysql -s /bin/false mysql

    添加目录权限

    chown mysql:mysql /data/mysql3306 -R
    chown mysql:mysql /data/mysql -R

    配置myql文件

    [client]
    default-character-set = utf8mb4
    
    [mysql]
    default-character-set = utf8mb4
    
    [mysqld]
    character-set-server=uft8mb4
    basedir = /data/mysql 
    datadir = /data/mysql3306/
    port = 3306
    socket = /data/mysql3306/mysql.sock
    pid-file = /data/mysql3306/mysql3306.pid
    
    log-error = /data/mysql3306/error.log
    server-id=1
    slow-query-log = 1
    long_query_time = 0.2
    slow-query-log-file = /data/mysql3306/slow-queries.log
    
    max_connections = 800
    max_connect_errors = 100000
    
    table_open_cache = 256
    query_cache_size = 2M
    
    character_set_server=utf8
    init_connect='SET NAMES utf8'
    
    innodb_file_per_table=1
    innodb_buffer_pool_size = 2048M
    innodb_data_file_path = ibdata1:1024M:autoextend
    
    innodb_flush_log_at_trx_commit=1 
    innodb_log_buffer_size = 16M
    innodb_log_file_size = 256M
    innodb_log_files_in_group = 2 
    innodb_max_dirty_pages_pct = 50 
    
    log-bin = mysql-bin
    sync_binlog=1
    binlog-format=row
    expire_logs_days = 10
    
    interactive_timeout = 1800
    wait_timeout = 1800
    
    log_timestamps = system
    my.cnf 参考内容

    初始化

    /data/mysql/bin/mysqld --defaults-file=/data/mysql/ini/my.cnf --initialize-insecure --explicit_defaults_for_timestamp --basedir=/data/mysql --datadir=/data/mysql3306/ --user=mysql
    # --initialize-insecure 设置root 空密码

     启动服务

    /data/mysql/bin/mysqld_safe  --defaults-file=/data/mysql/ini/my.cnf --user=mysql &
    ps -ef|grep mysql 检查进程是否启动

    登陆mysql

    /data/mysql/bin/mysql -uroot -p --socket = /data/mysql3306/mysql.sock

    安装完毕后的操作

    设置root密码(如果使用root的话,应该删除root,创建一个新的特权用户)
    mysqladmin -u root password  123 --socket=/data/mysql3306/mysql.sock
    
    创建特权用户admin 删除root
    grant all privileges on *.* to 'admin'@'%' identified by '123' with grant option;
    flush privileges;
    
    drop user 'root'@'localhost';
    
    查看所有用户
    SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
    
    关闭mysql的方法
    /data/mysql/bin/mysqladmin -u root –p’123’  -S /data/mysql3306/mysql.sock shutdown
    /data/mysql/bin/mysqladmin -u admin -p  -S /data/mysql3306/mysql.sock shutdown (如果root用户已经被删除的话)
    
    
    重设密码
    update mysql.user set authentication_string=password('YfD18$d079f!#DA') where user='root' and Host = 'localhost';
    flush privileges;
    
    alias mysql='mysql --socket=/data/mysql3306/mysql.sock  -uadmin -p123'
    #!/bin/bash
    /data/mysql/bin/mysqld_safe  --defaults-file=/data/mysql/ini/my.cnf --user=mysql &
    start.sh
    #!/bin/bash
    /data/mysql/bin/mysqladmin -u admin -p  -S /data/mysql3306/mysql.sock shutdown
    stop.sh

    关于my.cnf里安装完毕后需要重新加一句

    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

    在线修改方式

    #查看
    SELECT @@sql_mode;
    #修改
    set GLOBAL sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION ';

    在线修改完毕后 开发的navicat需要重新连接一下

  • 相关阅读:
    成功给家长们举办了supermemo软件安装与使用的培训
    抓到两只IE8的虫子
    域名保护期是咋回事
    IE8开发人员工具,让web开发的客户端调试畅通无阻
    (转)网站成功的法则
    谢文的社区观
    玩《征途》感受——这么多年白玩游戏了 (zt)
    社区运营 VS 征途(转)
    SQLite多线程写锁文件解决方案
    sqlite和sql server语法上的一些区别
  • 原文地址:https://www.cnblogs.com/lazyball/p/8927237.html
Copyright © 2011-2022 走看看