zoukankan      html  css  js  c++  java
  • mysql8学习笔记1-常规安装

    mysql官网介绍

    主页https://www.oracle.com/mysql/index.html
    下载主页面https://www.mysql.com/downloads/
    社区资源下载页面https://dev.mysql.com/downloads/
    MySQL社区版下载页面https://dev.mysql.com/downloads/mysql/

    MySQL相关产品:
    商业付费软件有:Oracle MySQL Cloud Service (commercial)、MySQL Enterprise Edition(commercial)、 MySQL Cluster CGE(commercial)
    免费社区软件:MySQL Community Edition、MySQL Community Server(最流行)
     
    MySQL安装-准备(1)
    一、检查操作系统和MySQL版本的适配度。
    同一个操作系统,不同版本对MySQL版本适配度不一样。
    二、选择安装的MySQL版本
    1、首先判断是否要和公司其他已经安装好的MySQL保持版本一致
    2、如果没有上述要求,则一般会安装最新版本(目前是5.7
    3、如果不是实验新功能性质,则不要选择development release,而要安装
    注:General Availability (GA) release代表稳定版本,可在生产系统使用
    三、选择安装MySQL的方式
    1、二进制安装包的方式(RPM,ZIP,Tar等)
    2、源码方式(source code
    注:一般会选择二进制安装方式
    如果有特殊需求,比如修改一部分源码或修改MySQL深层次的配置,则会选择源码
     

    MySQL Linux安装
    1、下载正确的tar包
    2、上传tar包到服务器并解压tar包到/usr/local/目录
    [root@localhost mysql_package]# tar -xvf mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz
    [root@localhost mysql_package]# ls
    mysql-8.0.13-linux-glibc2.12-x86_64  mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz
    [root@localhost mysql_package]# mv mysql-8.0.13-linux-glibc2.12-x86_64 mysql
    [root@localhost mysql_package]# cp -rf  mysql /usr/local/mysql
    [root@localhost mysql_package]# rm -rf mysql
    [root@localhost local]# pwd
    /usr/local
    [root@localhost local]# ll mysql/
    total 448
    drwxr-xr-x.  2 root root   4096 Jun 26 12:59 bin
    drwxr-xr-x.  2 root root     86 Jun 26 12:59 docs
    drwxr-xr-x.  3 root root    266 Jun 26 12:59 include
    drwxr-xr-x.  6 root root   4096 Jun 26 12:59 lib
    -rw-r--r--.  1 root root 335809 Jun 26 12:59 LICENSE
    -rw-r--r--.  1 root root 101807 Jun 26 12:59 LICENSE.router
    drwxr-xr-x.  4 root root     30 Jun 26 12:59 man
    -rw-r--r--.  1 root root    687 Jun 26 12:59 README
    -rw-r--r--.  1 root root    700 Jun 26 12:59 README.router
    drwxr-xr-x. 28 root root   4096 Jun 26 12:59 share
    drwxr-xr-x.  2 root root     90 Jun 26 12:59 support-files
    [root@localhost local]# 

    解压后目录有2G

    [root@localhost local]# du -h --max-depth=1
    0    ./bin
    0    ./etc
    0    ./games
    0    ./include
    0    ./lib
    0    ./lib64
    0    ./libexec
    0    ./sbin
    4.0K    ./share
    0    ./src
    2.0G    ./mysql
    2.0G    .

     mysql目录结构

    [root@localhost mysql]# pwd
    /usr/local/mysql
    [root@localhost mysql]# ll
    total 448
    drwxr-xr-x.  2 root root   4096 Jun 26 12:59 bin #存放可执行文件, mysql自带的客户端, mysql服务端等
    drwxr-xr-x.  2 root root      6 Jun 26 19:46 data #存放数据文件和日志文件
    drwxr-xr-x.  2 root root     86 Jun 26 12:59 docs #存放一些文档
    drwxr-xr-x.  3 root root    266 Jun 26 12:59 include #存储包含的头文件, 如:mysql.h、mysql_ername.h等
    drwxr-xr-x.  6 root root   4096 Jun 26 12:59 lib #用于放置一系列库文件
    -rw-r--r--.  1 root root 335809 Jun 26 12:59 LICENSE
    -rw-r--r--.  1 root root 101807 Jun 26 12:59 LICENSE.router
    drwxr-xr-x.  4 root root     30 Jun 26 12:59 man
    -rw-r--r--.  1 root root    687 Jun 26 12:59 README
    -rw-r--r--.  1 root root    700 Jun 26 12:59 README.router
    drwxr-xr-x. 28 root root   4096 Jun 26 12:59 share #用于存放字符集、语言等信息
    drwxr-xr-x.  2 root root     90 Jun 26 19:50 support-files #里面比较重要的有个mysql.server脚本,启动时会执行
    [root@localhost mysql]# 
    3、创建运行MySQL的用户和组(名字可以任意)
    Shell> groupadd mysql
    Shell> useradd mysql -g mysql
    4、切换到mysql目录
    Shell > mkdir data
    5、修改解压包的权限
    Shell> chown –R mysql .
    Shell> chgrp –R mysql .
    6、安装MySQL
    Shell> bin/mysqld --initialize --user=mysql --datadir /usr/local/mysql/data ##初始化数据目录
    shell> cp -f support-files/my-default.cnf /etc/my.cnf ##将默认配置文件复制到指定目录
    shell> bin/mysqld_safe --datadir=/usr/local/mysql/data --user=mysql & ##启动MySQL服务
    shell> cp support-files/mysql.server /etc/init.d/mysql.server ##将MySQL加入到服务自启动
    Shell> /etc/init.d/mysql.server start ##通过服务启动
    [root@localhost local]# cd mysql/
    [root@localhost mysql]# ls
    bin  data  docs  include  lib  LICENSE  LICENSE.router  man  README  README.router  share  support-files
    [root@localhost mysql]# chown -R mysql .
    [root@localhost mysql]# chgrp -R mysql .
    [root@localhost mysql]# ll
    total 448
    drwxr-xr-x.  2 mysql mysql   4096 Jun 26 12:59 bin
    drwxr-xr-x.  2 mysql mysql      6 Jun 26 19:46 data
    drwxr-xr-x.  2 mysql mysql     86 Jun 26 12:59 docs
    drwxr-xr-x.  3 mysql mysql    266 Jun 26 12:59 include
    drwxr-xr-x.  6 mysql mysql   4096 Jun 26 12:59 lib
    -rw-r--r--.  1 mysql mysql 335809 Jun 26 12:59 LICENSE
    -rw-r--r--.  1 mysql mysql 101807 Jun 26 12:59 LICENSE.router
    drwxr-xr-x.  4 mysql mysql     30 Jun 26 12:59 man
    -rw-r--r--.  1 mysql mysql    687 Jun 26 12:59 README
    -rw-r--r--.  1 mysql mysql    700 Jun 26 12:59 README.router
    drwxr-xr-x. 28 mysql mysql   4096 Jun 26 12:59 share
    drwxr-xr-x.  2 mysql mysql     90 Jun 26 19:50 support-files
    [root@localhost mysql]# 
    [root@localhost mysql]# bin/mysqld --initialize --user=mysql --datadir /usr/local/mysql/data
    2020-06-27T07:51:03.490770Z 0 [Warning] [MY-011070] [Server] 'Disabling symbolic links using --skip-symbolic-links (or equivalent) is the default. Consider not using this option as it' is deprecated and will be removed in a future release.
    2020-06-27T07:51:03.512364Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.13) initializing of server in progress as process 68531
    2020-06-27T07:51:08.300288Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: ,8kEClgiEhnH
    2020-06-27T07:51:10.263352Z 0 [System] [MY-013170] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.13) initializing of server has completed

    上面有临时密码,如果初始化的时候忘了保存,可以重新初始化,也就重新执行初始化命令,不过在这之前,需要删除data目录下数据

    [root@localhost support-files]# cp mysql.server /etc/init
    init.d/  inittab  
    [root@localhost support-files]# cp mysql.server /etc/init.d/mysql #把mysql启动脚本拷贝到init里方便启动
    [root@localhost support-files]# cat /etc/my.cnf #看下etc下有没my.cnf启动配置文件
    [mysqld]
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    # Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0
    # Settings user and group are ignored when systemd is used.
    # If you need to run mysqld under a different user or group,
    # customize your systemd unit file for mariadb according to the
    # instructions in http://fedoraproject.org/wiki/Systemd
    
    [mysqld_safe]
    log-error=/var/log/mariadb/mariadb.log
    pid-file=/var/run/mariadb/mariadb.pid
    
    #
    # include all files from the config directory
    #
    !includedir /etc/my.cnf.d
    
    [root@localhost support-files]# rm /etc/my.cnf #暂时先删除,删掉的作用是说明我们以mysql的所有默认参数启动
    rm: remove regular file ‘/etc/my.cnf’? y
    [root@localhost support-files]#
    [root@localhost support-files]# /etc/init.d/mysql start
    Starting MySQL.Logging to '/usr/local/mysql/data/localhost.localdomain.err'.
    .. SUCCESS! #出现success说明启动成功。
    [root@localhost support-files]# ps -ef|grep mysql #可以看到有两个进程,一个父进程 一个子进程
    root      69385      1  0 01:13 pts/2    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/localhost.localdomain.pid
    mysql     69470  69385  4 01:13 pts/2    00:00:01 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=localhost.localdomain.err --pid-file=/usr/local/mysql/data/localhost.localdomain.pid
    root      69526  11777  0 01:13 pts/2    00:00:00 grep --color=auto mysql
    [root@localhost support-files]# 
    [root@localhost mysql]# mysql -uroot -p #启动成功后,发现进入交互界面会提示mysql命令不存在,这是因为bin目录还没加入到环境变量
    bash: mysql: command not found...
    [root@localhost mysql]# cd bin/
    [root@localhost bin]# ls
    ibd2sdi             myisamchk          mysql         mysql_config_editor  mysqldump      mysqlrouter_plugin_info    mysql_tzinfo_to_sql  zlib_decompress
    innochecksum        myisam_ftdump      mysqladmin    mysqld               mysqldumpslow  mysql_secure_installation  mysql_upgrade
    libcrypto.so.1.0.0  myisamlog          mysqlbinlog   mysqld-debug         mysqlimport    mysqlshow                  perror
    libssl.so.1.0.0     myisampack         mysqlcheck    mysqld_multi         mysqlpump      mysqlslap                  resolveip
    lz4_decompress      my_print_defaults  mysql_config  mysqld_safe          mysqlrouter    mysql_ssl_rsa_setup        resolve_stack_dump
    [root@localhost bin]# pwd
    /usr/local/mysql/bin
    [root@localhost bin]# vim ~/.bash_profile 
    [root@localhost bin]# source ~/.bash_profile 
    [root@localhost bin]# mysql -uroot -p
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 8
    Server version: 8.0.13
    
    Copyright (c) 2000, 2018, 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> 
    mysql> show databases;#执行命令会报错,提示重置初始密码
    ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
    mysql> set password=password('mysql');#在mysql5.7之前可以用这个命令修改,不过在8.0后不行了
    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'password('mysql')' at line 1
    mysql> alter user user() identified by 'mysql';#得用这个命令修改
    Query OK, 0 rows affected (0.06 sec)
    
    mysql> exit
    Bye
    [root@localhost bin]# mysql -uroot -p
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 9
    Server version: 8.0.13 MySQL Community Server - GPL
    
    Copyright (c) 2000, 2018, 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.01 sec)

  • 相关阅读:
    求数列的和
    统计字符
    保留最大的数
    POJ百练—IP地址转换
    HDOJ1213(并查集)
    HDOJ1059(多重背包)
    HDOJ1171(多重背包)
    多重背包(标准模板)
    HDOJ1251(前缀匹配---分块查找&map应用)
    hdoj1113(字符串map应用)
  • 原文地址:https://www.cnblogs.com/laonicc/p/13197138.html
Copyright © 2011-2022 走看看