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

    一、准备工作

    https://dev.mysql.com/downloads/mysql/

    1.1 上传到指定目录,解压

    tar -xvf mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz

    1.2 添加用户和组

    [root@VM_0_3_centos mysql]# groupadd mysql
    [root@VM_0_3_centos mysql]# useradd -r -g mysql mysql

    1.3 修改目录所属组和用户

    [root@VM_0_3_centos mysql]# useradd -r -g mysql mysql
    [root@VM_0_3_centos mysql]# chown -R mysql:mysql /usr/local/mysql/

    1.4创建数据库存放目录

    在数据库解压之后的目录,data目录和bin处于同一级。

    [root@VM_0_3_centos mysql]# mkdir data

    注:在腾讯云服务器上创建data目录然后初始化正常 ,但在阿里云服务器上创建目录后显示如下错误。

     删除创建的data文件夹,执行初始化,会自动生成data文件夹。

    二、安装MySQL

    2.1 初始化,执行解压目录下bin目录中的mysqld,user就是之前创建的用户。

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

    可能出现问题

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

    解决方案

    yum -y install numactl

    初始化后会生成一个临时密码,建议复制下来。

    临时密码

    A temporary password is generated for root@localhost: X;(9spFlVext

    2.2 修改配置文件 vim /etc/my.cnf

     启动mysql服务

     2.3 编辑配置文件vim /etc/profile,将mysql路径添加使用source /etc/profile使其生效,这样就可以使用mysql命令了。

    2.4 修改密码,先使用之前生成的临时密码登录。

    执行修改密码语句出现提示说,必须重置密码才能执行修改密码语句...这不是死循环吗。

    这时我们先执行quit退出 mysql.

    编辑vime /etc/my.cnf文件,添加skip-grant-tables

     加上一行,在重启mysql,可以免密登录。

    重启服务。

     

    再次登录,这次输入密码直接回车即可。

    先查看下数据库,使用mysql库。

    使用mysql库后,查看下其中user表的信息。其中Host代码允许连接的地址,这里标识的是本地。

    使用远程连接时,是多台机器连接到数据库,所以先将此处的localhost修改为%表示任意地址。

     修改Host为%,%任意地址可连接

     接着我们来修改密码:

    先要执行flush privileges;

    不然会弹出ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

    更新密码语句  ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'mysql@hcf19971002';

    其中mysql_native_password指定加密方式,MySQL8.0密码加密方式发生了变换,这时使用Navicat连接会出现错误,所以指定加密方式为以前的方式。

    这里的'root'和‘%’就是user表中user和host,由于此处先将localhost修改为了%所以是root@%,如果没有修改就是root@localhost.

    密码修改完成,退出注释掉/etc/my.cnf中的skip-grant-tables,重启服务。

    再次使用修改的密码登录即可。

    其他:设置开机自启动

    首先设置连接文件,使用service mysql resart重启。

    #设置开机自启动#复制服务文件到 /etc/init.d/下,并取名为mysql
    [
    root@VM_0_3_centos support-files]# cp -a /usr/local/mysql/mysql8.0.19/support-files/mysql.server /etc/init.d/mysqld #赋予可执行权限
    [root@VM_0_3_centos support-files]# chmod a+x /etc/init.d/mysqld
    #添加服务
    [root@VM_0_3_centos support-files]# chkconfig --add mysqld
    #显示服务列表 [root@VM_0_3_centos support-files]# chkconfig --list

    启动停止命令

    service mysql stop

    service mysql start

     参考:

    https://www.jianshu.com/p/276d59cbc529

    https://blog.csdn.net/s78365126/article/details/85267154

  • 相关阅读:
    vuejs cli3 env配置文件实践指南
    Nginx的rewrite(地址重定向)剖析
    什么是TCP粘包?怎么解决这个问题
    windows bat批处理语法简析
    BAT文件语法和技巧(bat文件的编写及使用)
    Asyncio之EventLoop笔记
    python struct的使用例子
    redis慢查询笔记
    redis基础操作概念等笔记
    Python实现Dijkstra算法
  • 原文地址:https://www.cnblogs.com/huang-changfan/p/12319163.html
Copyright © 2011-2022 走看看