zoukankan      html  css  js  c++  java
  • Centos7 安装mysql5.7.x

    centos7 x64 安装mysql5.7+

    1)使用Red Hat Enterprise Linux
    Select Version:5.7.25
    Select Operating System:Red Hat Enterprise Linux / Oracle Linux
    Select OS Version:Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit)
    列表中下载:
    Compressed TAR Archive:(mysql-5.7.25-el7-x86_64.tar.gz)
    2)使用Linux - Generic
    Select Version:5.7.25
    Select Operating System:Linux - Generic
    Select OS Version:Linux - Generic (glibc 2.12) (x86, 64-bit)
    列表中下载:
    Compressed TAR Archive:(mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz)【本文中使用的是这个版本】

    1、上传 mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz 到服务器 /usr/local/ 目录

    2、解压

    tar -xzvf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz

    3、改名

    mv mysql-5.1.73-linux-x86_64-glibc23 mysql

    4、创建Mysql用户组

    1)创建mysql 组
    groupadd mysql
    
    2)创建MySQL用户但该用户不能登陆(-s /bin/false参数指定mysql用户仅拥有所有权,而没有登录权限)
    useradd -r -g mysql -s /bin/false mysql
    
    3)把刚创建的mysql用户加入到mysql组下
    chown -R mysql:mysql ./
    # 更改所属的组和用户
    [root@cdh03 ~]# cd /usr/local/
    [root@cdh03 local]# chown -R mysql mysql/
    [root@cdh03 local]# chgrp -R mysql mysql/
    [root@cdh03 local]# cd mysql/
    [root@cdh03 mysql]# mkdir data
    [root@cdh03 mysql]# chown -R mysql:mysql data 

    5、创建mysql 安装初始化配置文件

    vi /etc/my.cnf
    [mysql]
    socket=/usr/local/mysql/mysql.sock
    # set mysql client default chararter
    default-character-set=utf8
    
    [mysqld]
    socket=/usr/local/mysql/mysql.sock
    # set mysql server port  
    port =3306 
    # set mysql install base dir
    basedir=/usr/local/mysql
    # set the data store dir
    datadir=/usr/local/mysql/data
    # set the number of allow max connnection
    max_connections=200
    # set server charactre default encoding
    character-set-server=utf8
    # the storage engine
    default-storage-engine=INNODB
    lower_case_table_names=1
    max_allowed_packet=16M
    explicit_defaults_for_timestamp=true
    
    transaction-isolation = READ-COMMITTED
    symbolic-links = 0
    key_buffer_size = 32M
    max_allowed_packet = 32M
    thread_stack = 256K
    thread_cache_size = 64
    query_cache_limit = 8M
    query_cache_size = 64M
    query_cache_type = 1
    
    max_connections = 550
    
    #log_bin=/usr/local/mysql/mysql_binary_log
    
    server_id=1
    
    binlog_format = mixed
    
    read_buffer_size = 2M
    read_rnd_buffer_size = 16M
    sort_buffer_size = 8M
    join_buffer_size = 8M
    
    innodb_file_per_table = 1
    innodb_flush_log_at_trx_commit  = 2
    innodb_log_buffer_size = 64M
    innodb_buffer_pool_size = 4G
    innodb_thread_concurrency = 8
    innodb_flush_method = O_DIRECT
    innodb_log_file_size = 512M
    
    [mysql.server]
    #user=mysql
    basedir=/usr/local/mysql

    6、安装和初始化

    # 进入mysql
    [root@cdh03 local]# cd /usr/local/mysql
    # 安装mysql
    [root@cdh03 mysql]# bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
    2019-03-08 18:11:07 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
    2019-03-08 18:11:24 [WARNING] The bootstrap log isn't empty:
    2019-03-08 18:11:24 [WARNING] 2019-03-08T10:11:07.208602Z 0 [Warning] --bootstrap is deprecated. Please consider using --initialize instead

    设置目录及目录权限

    [root@cdh03 mysql]# cp ./support-files/mysql.server /etc/init.d/mysqld
    [root@cdh03 mysql]# chown 777 my.cnf
    [root@cdh03 mysql]# ls
    bin  COPYING  data  docs  include  lib  man  my.cnf  README  share  support-files
    [root@cdh03 mysql]# ls -l
    total 60
    drwxr-xr-x  2 root  root   4096 Mar  8 15:56 bin
    -rw-r--r--  1  7161 31415 17987 Dec 21 18:39 COPYING
    drwxr-x---  5 mysql mysql  4096 Mar  8 16:21 data
    drwxr-xr-x  2 root  root   4096 Mar  8 15:56 docs
    drwxr-xr-x  3 root  root   4096 Mar  8 15:56 include
    drwxr-xr-x  5 root  root   4096 Mar  8 15:56 lib
    drwxr-xr-x  4 root  root   4096 Mar  8 15:56 man
    -rw-r--r--  1   777 root    516 Mar  8 16:19 my.cnf
    -rw-r--r--  1  7161 31415  2478 Dec 21 18:39 README
    drwxr-xr-x 28 root  root   4096 Mar  8 15:56 share
    drwxr-xr-x  2 root  root   4096 Mar  8 15:56 support-files
    [root@cdh03 mysql]# chmod +x /etc/init.d/mysqld
    [root@cdh03 mysql]# mkdir data
    [root@cdh03 mysql]# chown -R mysql:mysql data
    [root@cdh03 mysql]#

    7、启动msql

    #启动mysql
    [root@cdh03 software]# /etc/init.d/mysqld restart
    MySQL server PID file could not be found!                  [失败]
    Starting MySQL..The server quit without updating PID file ([失败]ocal/mysql/data/cdh03.pid).
    
    #出现错误,解决方案如下:
    #找到是否已经有进程占用
    [root@cdh03 mysql]# ps -ef|grep mysql
    
    #关闭找到的进程
    [root@cdh03 software]# kill -9 9682 9848
    
    # 重启mysql
    [root@cdh03 mysql]# /etc/init.d/mysqld restart
    Shutting down MySQL...                                     [  确定  ]
    Starting MySQL....                                         [  确定  ]
    [root@cdh03 mysql]# 

    8、设置开机启动

    #设置开机启动
    [root@cdh03 mysql]# chkconfig --level 35 mysqld on
    [root@cdh03 mysql]# chkconfig --list mysqld
    
    注:该输出结果只显示 SysV 服务,并不包含
    原生 systemd 服务。SysV 配置数据
    可能被原生 systemd 配置覆盖。 
    
          要列出 systemd 服务,请执行 'systemctl list-unit-files'。
          查看在具体 target 启用的服务请执行
          'systemctl list-dependencies [target]'。
    
    mysqld             0:关    1:关    2:开    3:开    4:开    5:开    6:关
    [root@cdh03 mysql]# service mysqld status
    MySQL running (13894)                                      [  确定  ]
    [root@cdh03 mysql]# chmod +x /etc/rc.d/init.d/mysqld
    [root@cdh03 mysql]#  chkconfig --add mysqld
    [root@cdh03 mysql]#  chkconfig --list mysqld
    
    注:该输出结果只显示 SysV 服务,并不包含
    原生 systemd 服务。SysV 配置数据
    可能被原生 systemd 配置覆盖。 
    
          要列出 systemd 服务,请执行 'systemctl list-unit-files'。
          查看在具体 target 启用的服务请执行
          'systemctl list-dependencies [target]'。
    
    mysqld             0:关    1:关    2:开    3:开    4:开    5:开    6:关

    9、修改配置文件

    # 进入/etc/profile文件夹
    [root@cdh03 mysql]# vim /etc/profile
    修改/etc/profile,在最后添加如下内容
    # 修改/etc/profile文件
    #set mysql environment
    export PATH=$PATH:/usr/local/mysql/bin
    # 使文件生效
    [root@cdh03 mysql]# source /etc/profile

    10、获取mysl初始密码

    1)获取mysql初始密码

    [root@cdh03 mysql]# cat /root/.mysql_secret
    # Password set for user 'root@localhost' at 2020-08-11 09:38:00 
    Gm,tJEJ_0g%h
    [root@cdh03 mysql]#

    2)修改密码

    [root@cdh03 mysql]# mysql -uroot -p
    Enter password:   使用刚刚查询到的密码
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 2
    Server version: 5.7.30
    
    Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    
    mysql> set PASSWORD = PASSWORD('root');
    Query OK, 0 rows affected, 1 warning (0.00 sec)
    
    mysql> flush privileges;
    Query OK, 0 rows affected (0.01 sec)
    
    mysql> exit
    Bye
    [root@cdh03 mysql]#

    11、使用新密码登录

    [root@cdh03 mysql]# mysql -uroot -p
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 3
    Server version: 5.7.30 MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | sys                |
    +--------------------+
    4 rows in set (0.00 sec)
    
    mysql> 

    12、添加远程访问权限

    mysql> use mysql
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
    
    Database changed
    mysql>  update user set host='%' where user='root';
    Query OK, 1 row affected (0.00 sec)
    Rows matched: 1  Changed: 1  Warnings: 0
    
    mysql> select host,user from user;
    +-----------+---------------+
    | host      | user          |
    +-----------+---------------+
    | %         | root          |
    | localhost | mysql.session |
    | localhost | mysql.sys     |
    +-----------+---------------+
    3 rows in set (0.00 sec)
    
    mysql> 

  • 相关阅读:
    【bzoj4240】有趣的家庭菜园
    「洛谷 P1801」黑匣子
    「SDOI 2009」Elaxia的路线
    NOIP 2016【蚯蚓】
    NOIP 2014【斗地主】
    尺取法
    POJ 3169 Layout
    51nod【1196】字符串的数量
    51nod1671【货物运输】
    hihocoder1075【开锁魔法】
  • 原文地址:https://www.cnblogs.com/xuchen0117/p/13470690.html
Copyright © 2011-2022 走看看