• Linux安装mysql


    前言:这个博客还是我去年大四实习的时候开通的,本来打算记录一些学习和工作上遇到的问题,但是人太懒了,开通之后,就一直空着。不知不觉已经毕业快一年了,也参加工作了,现在打算抽空记录一些和java相关的知识点,希望能坚持下去,不要半途而废。

    链接:https://pan.baidu.com/s/1oBUNKcaunmDtTObzwOVvfw 

    提取码:1wxn

    官网下载:https://dev.mysql.com/downloads/mysql/

    1:上传mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz安装包到/usr/local目录下

    2:cd/usr/local 进入local目录

       ls查看local目录下的文件

    [root@myLinux local]# ls
    aegis  bin  etc  games  include  lib  lib64  libexec  mysoft  mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz  sbin  share  src

    3:tar -xvf mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz  解压我们上传的mysql安装包

    [root@myLinux local]# tar -xvf mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz 
    mysql-8.0.18-linux-glibc2.12-x86_64/bin/
    mysql-8.0.18-linux-glibc2.12-x86_64/bin/myisam_ftdump
    mysql-8.0.18-linux-glibc2.12-x86_64/bin/myisamchk
    mysql-8.0.18-linux-glibc2.12-x86_64/bin/myisamlog

    4:ls 再次查看local目录下的文件

    aegis  etc    include  lib64    mysoft    mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz  share
    bin    games  lib   libexec  mysql-8.0.18-linux-glibc2.12-x86_64  sbin    src

    5:mv mysql-8.0.18-linux-glibc2.12-x86_64 mysql  重命名解压后的安装包为mysql

    [root@myLinux local]# mv mysql-8.0.18-linux-glibc2.12-x86_64 mysql
    [root@myLinux local]# ls
    aegis  bin  etc  games  include  lib  lib64  libexec  mysoft  mysql  mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz  sbin  share  src

    6:groupadd mysql 创建用户组

    [root@myLinux local]# groupadd mysql

    7:useradd -r -g mysql mysql 添加用户

    [root@myLinux local]# useradd -r -g mysql mysql

    8:cd mysql 进入mysql目录

    [root@myLinux local]# cd mysql
    [root@myLinux mysql]# ls
    bin  docs  include  lib  LICENSE  LICENSE.router  man  README  README.router  run  share  support-files  var

    9:mkdir data 在mysql目录下创建data文件夹

    [root@myLinux mysql]# mkdir data
    [root@myLinux mysql]# ls
    bin  data  docs  include  lib  LICENSE  LICENSE.router  man  README  README.router  run  share  support-files  var

    10:chown mysql:mysql -R /usr/local/mysql/data  给data文件夹赋予权限

      [root@myLinux mysql]# chown mysql:mysql -R /usr/local/mysql/data

    11:vim /etc/my.cnf  编辑/etc下的mysql配置文件

    [root@myLinux mysql]# vim /etc/my.cnf

    12:编辑my.cnf的内容如下

    [mysqld]
    bind-address=0.0.0.0
    port=3306
    user=mysql
    basedir=/usr/local/mysql
    datadir=/usr/local/mysql/data
    socket=/tmp/mysql.sock
    log-error=/usr/local/mysql/data/mysql.err
    pid-file=/usr/local/mysql/data/mysql.pid
    #character config
    character_set_server=utf8mb4
    symbolic-links=0
    explicit_defaults_for_timestamp=true

    13:cd bin 进入mysql的bin目录下

    [root@myLinux mysql]# cd bin/
    [root@myLinux bin]# ls
    ibd2sdi           myisam_ftdump      mysqlbinlog          mysqld_multi   mysqlrouter                mysqlslap
    innochecksum      myisamlog          mysqlcheck           mysqld_safe    mysqlrouter_keyring        mysql_ssl_rsa_setup
    libcrypto.so.1.1  myisampack         mysql_config         mysqldump      mysqlrouter_passwd         mysql_tzinfo_to_sql
    libssl.so.1.1     my_print_defaults  mysql_config_editor  mysqldumpslow  mysqlrouter_plugin_info    mysql_upgrade
    lz4_decompress    mysql              mysqld               mysqlimport    mysql_secure_installation  perror
    myisamchk         mysqladmin         mysqld-debug         mysqlpump      mysqlshow                  zlib_decompress

    14:./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql --initialize  初始化数据库

    [root@myLinux bin]# ./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql --initialize

    15:cd .. 返回mysql目录,cat data/mysql.err  查看日志文件,获取随机生成的mysql登录密码(最后一行root@localhost:后面的字符串即为自动生成的密码,我的密码是:>ahfjdeK1RSs) 

    [root@myLinux bin]# cd ..
    [root@myLinux mysql]# cat data/mysql.err 
    2020-04-27T05:51:03.492531Z 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-04-27T05:51:03.492640Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.18) initializing of server in progress as process 7941
    2020-04-27T05:51:09.621611Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: >ahfjdeK1RSs

    16:cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql  将mysql.server放置到/etc/init.d/mysql中

    [root@myLinux mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

    17:service mysql start 启动mysql服务(出现Starting MySQL... SUCCESS!代表启动成功)

    [root@myLinux mysql]# service mysql start
    Starting MySQL... SUCCESS! 

     18:ps -ef|grep mysql  查看mysql状态(出现下面情形说明我们的mysql已经安装并启动成功)

    [root@myLinux mysql]#  ps -ef|grep mysql
    root      8015     1  0 13:54 pts/0    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/mysql.pid
    mysql     8242  8015  0 13:54 pts/0    00:00:14 /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=/usr/local/mysql/data/mysql.err --pid-file=/usr/local/mysql/data/mysql.pid --socket=/tmp/mysql.sock --port=3306
    root      8629 25601  0 15:21 pts/0    00:00:00 grep --color=auto mysql

    19:cd bin 进入mysql的bin目录

    [root@myLinux mysql]# cd bin/
    [root@myLinux bin]# ls
    ibd2sdi           myisamchk          mysql         mysql_config_editor  mysqldump      mysqlrouter_keyring        mysqlslap            zlib_decompress
    innochecksum      myisam_ftdump      mysqladmin    mysqld               mysqldumpslow  mysqlrouter_passwd         mysql_ssl_rsa_setup
    libcrypto.so.1.1  myisamlog          mysqlbinlog   mysqld-debug         mysqlimport    mysqlrouter_plugin_info    mysql_tzinfo_to_sql
    libssl.so.1.1     myisampack         mysqlcheck    mysqld_multi         mysqlpump      mysql_secure_installation  mysql_upgrade
    lz4_decompress    my_print_defaults  mysql_config  mysqld_safe          mysqlrouter    mysqlshow                  perror

    20:./mysql -u root -p  登录mysql,密码为上面随机生成的密码(出现下面情形说明我们登录成功)

    [root@myLinux bin]# ./mysql -u root -p 
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 9
    Server version: 8.0.18
    
    Copyright (c) 2000, 2019, 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>

    21:show databases;  查看数据库(发现报错,因为它要求我们先更改密码才能执行sql)

    mysql> show databases;
    ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

    22:ALTER USER 'root'@'localhost' IDENTIFIED BY '244622'; 更改数据库密码

    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '244622';
    Query OK, 0 rows affected (0.11 sec)

    mysql> 
    mysql> ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
    Query OK, 0 rows affected (0.01 sec)

    mysql> 
    mysql> FLUSH PRIVILEGES; 
    Query OK, 0 rows affected (0.00 sec)

    23:show databases; 此时可以执行sql命令,但是要Navicat连接mysql时报错

    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |         
    | performance_schema |
    | sys                |
    +--------------------+
    5 rows in set (0.00 sec)

    24:为了解决Navicat连接mysql失败问题,进入mysql数据库执行以下sql(3,4两条sql语句执行的顺序不唯一,根据自己的实际情况来,多试一下)

    1:mysql> use mysql

    2:mysql> update user set host = '%' where user = 'root';

    3:mysql> ALTER USER 'root'@'%' IDENTIFIED BY '244622' PASSWORD EXPIRE NEVER; 4:mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '244622';
    5:mysql> FLUSH PRIVILEGES;

    25:测试连接

     26:结语,安装软件时,大家的环境各不相同,出现的问题也不尽相同,大家尽量探索出适合自己的安装方法,把它贴出来,帮助他人,充实自己。

  • 相关阅读:
    PC端微信扫码支付和支付宝跳转支付 斧头帮
    微信支付 斧头帮
    PC端实现浏览器点击分享到QQ好友,空间,微信,微博等 斧头帮
    图片,word,Excel等附件上传 斧头帮
    java定时任务详解 斧头帮
    手机浏览器实现分享给好友或是朋友圈 斧头帮
    Java缓存EhcacheEhcache的Cache在SSM框架中的配置 斧头帮
    通过精确地址获取经纬度 斧头帮
    SpringBoot中设置自定义拦截器 斧头帮
    Visual Studio 2008创建项目(ATL)
  • 原文地址:https://www.cnblogs.com/misterwu/p/12787666.html
Copyright © 2020-2023  润新知