zoukankan      html  css  js  c++  java
  • CentOS 7 安装 mysql 5.7

    之前安装mysql 都是网上各种找教程,装完下次继续找, 这次自己写一个

    1、下载安装包到 /usr/local 并解压

    cd /usr/local
    wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz

    2、解压到当前目录,并重命名为mysql

    tar -zxvf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz
    mv mysql-5.7.35-linux-glibc2.12-x86_64/  mysql

    3、创建mysql用户组、用户

    groupadd mysql
    useradd -r -g mysql mysql

    4、将安装目录所有者及所属组改为mysql

    chown -R mysql:mysql /usr/local/mysql

    5、在 /usr/local/mysql 目录创建mysql存放数据的data文件夹

    mkdir -p  /usr/local/mysql/data

     6、初始化mysql

    /usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --initialize

    7、编辑/etc/my.cnf

    [mysqld]
    datadir=/usr/local/mysql/data
    basedir=/usr/local/mysql
    socket=/tmp/mysql.sock
    user=mysql
    port=3306
    character-set-server=utf8
    # 取消密码验证
    skip-grant-tables
    # Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0
    [mysqld_safe]
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid
    

    8、将mysql加到服务中

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

    9、设置mysql开机启动

    chkconfig mysql on

    10、启动mysql,如果出现以下提示,说明已经有mysql服务,直接ps找出mysql进程杀死即可,

    service mysql start
    [root@ecs-c405 mysql]# service mysql start
    Starting MySQL... ERROR! The server quit without updating PID file (/usr/local/mysql/data/ecs-c405.pid).

    11、查看mysql状态,如果出现如下提示,直接删除 /var/lock/subsys/mysql 即可

    [root@ecs-c405 data]# service mysql status
     ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql) exists

    12启动成功后即可访问

    [root@ecs-c405 data]# service mysql start
    Starting MySQL. SUCCESS!

     13、将mysql加入环境变量,使可在任意目录使用mysql命令

    ##在/etc/profile最后一行加入
    export PATH=$PATH:/usr/local/mysql/bin
    ##使修改生效
    source /etc/profile

    14、登录数据库,此时可在任意目录下使用mysql进入数据库,my.cnf中配置的免密码登录

    [root@ecs-c405 data]# mysql
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 3
    Server version: 5.7.35 MySQL Community Server (GPL)
    Copyright (c) 2000, 2021, Oracle and/or its affiliates.
    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> 
    

    15、免密码登录后修改root密码

    mysql> use mysql;
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
    Database changed
    mysql> update user set authentication_string=password('你的密码') where user='root'; Query OK, 1 row affected, 1 warning (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 1 mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)

    16、去掉/etc/my.cnf中的免密码登录

    #skip-grant-tables

    17、无需重启mysql,再次登录即需要密码才可登录

    [root@ecs-c405 data]# mysql
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    [root@ecs-c405 data]# mysql -uroot -p
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 6
    Server version: 5.7.35
    Copyright (c) 2000, 2021, Oracle and/or its affiliates.
    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> 
    

    18、设置数据库所有地址都可访问,重启mysql(我重启了才生效了)。

    mysql> use mysql;
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
    Database changed
    
    mysql> update user set host='%' where user='root';
    Query OK, 1 row affected (0.00 sec)
    Rows matched: 1  Changed: 1  Warnings: 0
    

      

    19、客户端链接成功

  • 相关阅读:
    Egg.js 介绍以及环境搭建
    Redis在Nodejs中的使用
    Android8以上 显示通知栏简单实现
    Android 跳转到系统通知管理页面
    Android APP打开另一个APP的几种实现总结
    Python 库大全 --收集
    python读取Excel数据保存到mongoDB中
    python读取mongoDb数据库保存到Excel中
    Python中的Matplotlib绘图
    数据分析案例:统计电影分类的情况
  • 原文地址:https://www.cnblogs.com/lansetuerqi/p/15774566.html
Copyright © 2011-2022 走看看