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
  • 相关阅读:
    LeetCode 1275. 找出井字棋的获胜者 Find Winner on a Tic Tac Toe Game
    LeetCode 307. 区域和检索
    LeetCode 1271 十六进制魔术数字 Hexspeak
    秋实大哥与花 线段树模板
    AcWing 835. Trie字符串统计
    Leetcode 216. 组合总和 III
    Mybatis 示例之 复杂(complex)属性(property)
    Mybatis 示例之 复杂(complex)属性(property)
    Mybatis 高级结果映射 ResultMap Association Collection
    Mybatis 高级结果映射 ResultMap Association Collection
  • 原文地址:https://www.cnblogs.com/qfdy123/p/12269227.html
Copyright © 2011-2022 走看看