zoukankan      html  css  js  c++  java
  • Linux安装MySQL

    首先需要在Oracle官网下载MySQL,下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads

    解压

    tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar 

    解压后会出现tar.gz文件。继续解压gz文件

    移动重命名

    mv mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/mysql

    创建mysql用户组和用户并修改权限

    groupadd mysql
    useradd -r -g mysql mysql

    创建数据目录并赋予权限

    mkdir -p  /data/mysql              #创建目录
    chown mysql:mysql -R /data/mysql   #赋予权限

    配置my.cnf

    vim /etc/my.cnf

    内容如下

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

    进入mysql的bin目录

    cd /usr/local/mysql/bin/

    初始化

    ./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize

    初始化mysql时报如下错误:

    xxxxx/mysql/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory。

    解决办法如下

    Debian系统/Ubuntu系统

    apt-get install libaio1 libaio-dev

    Redhat/Fedora/CentOS

    yum install libaio

    使用yum install时cannot find a valid baseurl for repo:base/7/x86_64

    出现这个问题是因为yum在安装包的过程中,虽然已经联网,但是没法解析远程包管理库对应的域名,所以我们只需要在网络配置中添加上DNS对应的ip地址即可。

    vi /etc/sysconfig/network-scripts/ifcfg-eth0
    DNS1=8.8.8.8
    DNS2=4.2.2.2
    systemctl restart network.service

    查看密码

    cat /data/mysql/mysql.err

     启动mysql,并更改root 密码

    先将mysql.server放置到/etc/init.d/mysql中

    cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

    启动

    service mysql start
     
    ps -ef|grep mysql
     

    到这里说明mysql已经安装成功了!!

    下面修改密码

    首先登录mysql,前面的那个是随机生成的。

    ./mysql -u root -p   #bin目录下

    再执行下面三步操作,然后重新登录。

    SET PASSWORD = PASSWORD('123456');
    ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
    FLUSH PRIVILEGES;                                 

    这时候你如果使用远程连接……你会发现你无法连接。

    这里主要执行下面三个命令(先登录数据库)

    use mysql                                            #访问mysql库
    update user set host = '%' where user = 'root';      #使root能再任何host访问
    FLUSH PRIVILEGES;                                    #刷新

    如果不希望每次都到bin目录下使用mysql命令则执行以下命令

    ln -s  /usr/local/mysql/bin/mysql    /usr/bin
  • 相关阅读:
    An AODV Tutorial
    MFC去掉单文档的"无标题-"的方法
    win32 openss 编译
    ASP.NET实现RENREN SIG计算
    std::string str.c_str() const
    fopen
    curl with ssl support for win32
    VC++ utf8 Unicode GB2312 编码转换
    编码转换
    VirtualBox uuid冲突问题
  • 原文地址:https://www.cnblogs.com/qfdy123/p/12269227.html
Copyright © 2011-2022 走看看