zoukankan      html  css  js  c++  java
  • linux下mysql 安装

    1.下载mysql
    在官网:http://dev.mysql.com/downloads/mysql/ 中,选择以下版本的mysql下载:

    下载文件:mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz

    2.解压问题

    [root@mysql# xz -d    mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz   生成了.tar文件
    [root@mysql#ar -xvf mysql-8.0.19-linux-glibc2.12-x86_64.tar -c /usr/local/mysql  
    将文件解压到/usr/local/mysql下
    3.创建数据库目录
    [root@mysql#mkdir  --p /data/mysql         
    4.新建mysql用户和用户组

    [root@mysql#groupadd mysql
    [root@mysql#useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql
    5.改变数据库程序目录及文件、数据库存储目录的所有者、所属组
    [root@mysql#chown -R mysql /usr/local/mysql 递归每一个目录和文件,并修改所有者为mysql
    [root@mysql#chgrp -R mysql /usr/local/mysql  递归每一个目录和文件,并修改所属组为mysql
    [root@mysql#chown -R mysql /data/mysql 递归每一个目录和文件,并修改所属组为mysql
    6.初始化数据库

    [root@mysql#cd /usr/local/mysql
    [root@mysql mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql   

    --user为指定的系统用户,-basedir为指定程序的源目录,-datadir为指定数据的存储目录

    在执行过错中会遇到提示未包含某些文件的错误,笔者遇到的几个错误如下:
    bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
    报错:上述报错信息说明,没有libaio.so文件。

    [root@mysql mysql]#  yum install -y libaio  安装libaio

    [root@mysql mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/localmysql --datadir=/data/mysql
    bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory

    报错:上述报错信息说明,没有libnuma.so文件
    [root@mysql mysql]# yum list numactl 安装libnuma

    注意:在安装过错中若--basedir指定错误也会报错,这是时候子在/data/mysql里面已经初始化了一些文件。
    [root@mysql mysql]# ls
    '#innodb_temp'     client-cert.pem   ib_logfile1     performance_schema   server-key.pem
     auto.cnf     client-key.pem    ibdata1     private_key.pem      sys
     ca-key.pem     ib_buffer_pool    mysql     public_key.pem       undo_001
     ca.pem         ib_logfile0       mysql.ibd     server-cert.pem      undo_002

    删除/data/mysql文件,重新初始化就好了。


    [root@mysql mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
    2020-03-17T07:33:52.261232Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.19) initializing of server in progress as process 168
    2020-03-17T07:33:56.724964Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: &5.tj(#sjB<u

    看到以上信息,表示已经初始化成功了,此时记住 &5.tj(#sjB<u 这个是mysql的管理员的初始密码,第一次进入会用到。

    7.设置ssl_rsa.
    [root@mysql mysql]# bin/mysql_ssl_rsa_setup  --datadir=/data/mysql
    2020-03-17 07:35:00 [ERROR]   Could not find OpenSSL on the system

    报错:提示系统安装OpenSSL.
    [root@mysql mysql]# yum install openssl

    8.将mysql服务链接到/etc/init.d下,系统重启后自动启动服务。
    [root@mysql mysql]# cd support-files/
    [root@mysql support-files]# ls
    mysql-log-rotate  mysql.server    mysqld_multi.server
    [root@mysql support-files]# ln -s /etc/init.d/mysql /usr/local/mysql/mysql.server

    9.手动启动mysql服务
    [root@mysql mysql]# /etc/init.d/mysql start
    Starting MySQL.Logging to '/data/mysql/mysql.err'.
    .....
    .......... SUCCESS!

    启动成功啦。

    10.修改mysql的root密码
    [root@mysql mysql]# mysql -h localhost -uroot -p
    bash: mysql: command not found

    报错:提示没有这个命令,是因为在环境变量中没有这个命令

    将程序链接到/usr/bin下。
    [root@mysql mysql]# ln -s /usr/local/mysql/bin/mysql /usr/bin


    [root@mysql mysql]# mysql   -u root -p
    mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
    报错:提示没有libtinfo.so.5文件。

    笔者的操作系统是Centeos 7.7,默认为libtinfo.so.6.1,此处的解决办法是,建立一个链接到libtinfo.so.5即可。
    [root@mysql lib64]# ls  -n libtinfo.so.*
    lrwxrwxrwx 1 0 0     24 Mar 17 07:49 libtinfo.so.5 -> /usr/lib64/libtinfo.so.5
    lrwxrwxrwx 1 0 0     15 May 11  2019 libtinfo.so.6 -> libtinfo.so.6.1
    -rwxr-xr-x 1 0 0 208616 May 11  2019 libtinfo.so.6.1
    [root@mysql lib64]# ln -s libtinfo.so.6.1  libtinfo.so.5
    将6.1连接为5
    [root@mysql bin]# mysql  -u root -p
    Enter password:       此处输入的是初始化的密码
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 20
    Server version: 8.0.19

    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> use
    ERROR:
    USE must be followed by a database name
    mysql> use mysql;
    ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.  提示必须先修改密码

    mysql> ALTER USER USER() IDENTIFIED BY '123456';
    Query OK, 0 rows affected (0.12 sec)

    设置密码

    参考:https://www.cnblogs.com/fanshudada/p/9781794.html

    &5.tj(#sjB<u

  • 相关阅读:
    mysql的root用户无法建库的问题
    jmeter连库获取sql结果存为参数给下一接口用
    webservice接口问题
    今日杂记-20190623
    接口测试
    pyenv和virtualenv管理python的版本(多个版本同时用)
    安装禅道
    经典题,类中的变量
    CSS简介
    python单元测试unittest
  • 原文地址:https://www.cnblogs.com/worter991/p/12512623.html
Copyright © 2011-2022 走看看