美文网首页
阿里云 ECS 服务器 CentOS 7.4 搭建 LAMP W

阿里云 ECS 服务器 CentOS 7.4 搭建 LAMP W

作者: 半纸渊 | 来源:发表于2018-09-22 15:36 被阅读75次

    安装 MySQL 数据库

    Step 00

    如果你安装了旧版本的 MySQL 如:5.6/7,那么要先移除 5.6/7 的内容,数据怎么迁移,没研究;只谈删除。

    为什么要删除?因为本文要安装的是 8.0 版本,如果没有移除在安装 8.0 的时候会提示 5.6/7 与 8.0 会冲突,无法进行安装。

    查看已经安装的 MySQL

    [root@~]# yum list installed | grep "mysql"
    mysql-community-client.x86_64        5.7.17-1.el7               @mysql57-community
    mysql-community-common.x86_64        5.7.17-1.el7               @mysql80-community
    mysql-community-libs.x86_64          5.7.17-1.el7               @mysql57-community
    mysql-community-server.x86_64        5.7.17-1.el7               @mysql57-community
    mysql80-community-release.noarch     el7-9                      installed
    

    使用 yum 进行移除即可

    [root@~]# yum remove mysql-community-client mysql-community-common mysql-community-libs mysql-community-server
    [root@~]# rm -rf /var/lib/mysql 
    [root@~]# rm /etc/my.cnf
    
    

    查看 rpm 安装的包

    // rpm -qa | grep -i mysql 效果一样
    [root@~]# rpm -qa | grep "mysql"
    mysql-community-client-5.7.17-1.el7.x86_64
    mysql-community-libs-5.7.17-1.el7.x86_64
    mysql-community-common-5.7.17-1.el7.x86_64
    mysql57-community-release-el7-9.noarch
    mysql-community-server-5.7.17-1.el7.x86_64
    

    使用 rpm 进行移除

    [root@~]# rpm -e mysql-community-client-5.7.17-1.el7.x86_64
    [root@~]# rpm -e mysql-community-libs-5.7.17-1.el7.x86_64
    [root@~]# rpm -e mysql-community-common-5.7.17-1.el7.x86_64
    [root@~]# rpm -e mysql57-community-release-el7-9.noarch
    [root@~]# rpm -e mysql-community-server-5.7.17-1.el7.x86_64
    

    删除配置文件

    [root@~]# rm –rf /usr/my.cnf
    [root@~]# rm -rf /root/.mysql_sercret
    

    删除服务

    [root@~]# systemctl list-unit-files | grep "mysql"
    mysqld.service                                enabled
    
    [root@~]# chkconfig --del mysqld
    

    删除分散的文件

    [root@~]# whereis mysql
    mysql: /usr/share/mysql
    
    [root@~]# rm -rf /usr/share/mysql
    
    [root@~]# rm -rf /var/log/mysqld.log
    [root@~]# rm-rf /var/run/mysql/
    

    Step 01

    先去 MySQL 的官网 : https://dev.mysql.com

    找到 yum 的安装源

    mysql yum

    向下滚动网页,复制要下载的文件名

    mysql

    repo 里面找到它

    mysql 确认

    回到 Xsell 6 里面,使用 wget 下载到本地

    [root@~]# wget https://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm
    mysql80-community-release-el7-1.noarch.rpm
    

    写入 yum localinstall 里面

    [root@~]# sudo yum localinstall mysql80-community-release-el7-1.noarch.rpm
    

    查看是否成功写入,如果有 mysql 的库就成功了

    [root@~]# ls /etc/yum.repos.d | grep "mysql"
    mysql-community.repo
    mysql-community-source.repo
    

    查看开启的 mysql 安装源

    [root@~]# yum repolist enabled | grep "mysql.*-community.*"
    !mysql-connectors-community/x86_64 MySQL Connectors Community                 65
    !mysql-tools-community/x86_64      MySQL Tools Community                      69
    !mysql80-community/x86_64          MySQL 8.0 Community Server                 33
    
    

    开始进行安装,文件很大 [1.7 G],慢慢等吧,如果最后出现 Complete! 就成功了

    [root@~]# sudo yum install mysql-community-server
    

    启动服务

    [root@~]# systemctl start mysqld.service
    

    如果出现了错误,第一次启动都是这样的......

    [root@~]# systemctl start mysqld.service
    Starting mysqld (via systemctl):  Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
    
    

    按照上面提示的两个命令进行操作,你会发现什么有用的信息都没有。

    所以我们要打开日志信息

    [root@~]# cat /var/log/mysqld.log
    

    你会看到其中有两条 ERROR 信息

    [ERROR] /usr/sbin/mysqld: Can't create/write to file '/var/run/mysqld/mysqld.pid' (Errcode: 2 - No such file or directory)
    [ERROR] Can't start server: can't create PID file: No such file or directory
    
    

    创建文件

    [root@~]# mkdir -p /var/run/mysqld/
    

    重新启动,恭喜你喜提新坑,这次是权限问题

    [ERROR] /usr/sbin/mysqld: Can't create/write to file '/var/run/mysqld/mysqld.pid' (Errcode: 13 - Permission denied)
    ERROR] Can't start server: can't create PID file: Permission denied
    
    

    这里的原因是因为文件夹是由 root 创建的,权限是 root ,mysql 如果要操作就要拥有权限

    [root@~]# ls -la /var/run/ | grep "mysqld"
    drwxr-xr-x   2 root root     40 Sep  6 12:46 mysqld
    
    // 改成 mysql 
    [root@~]# chown mysql.mysql /var/run/mysqld/
    
    [root@~]# ls -la /var/run/ | grep "mysqld"
    drwxr-xr-x   2 mysql mysql    40 Sep  6 12:48 mysqld
    

    重新启动服务

    [root@~]# service restart mysqld.service
    
    [root@~]# systemctl status mysqld.service
    ● mysqld.service - MySQL Server
       Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
       Active: active (running) since Wed 2018-09-05 18:51:50 CST; 17h ago
         Docs: man:mysqld(8)
               http://dev.mysql.com/doc/refman/en/using-systemd.html
      Process: 9911 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
     Main PID: 9933 (mysqld)
       Status: "SERVER_OPERATING"
       CGroup: /system.slice/mysqld.service
               └─9933 /usr/sbin/mysqld
    
    Sep 05 18:51:48 izwz9dnfbgdn5tleje5eitz systemd[1]: Starting MySQL Server...
    Sep 05 18:51:50 izwz9dnfbgdn5tleje5eitz systemd[1]: Started MySQL Server.
    
    

    看到 Active: active (running) 就表明成功了。

    进入 mysql 页面,先找临时密码

    [root@~]# grep 'temporary password' /var/log/mysqld.log
    2018-09-05T10:03:00.388929Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 2rlYx79fo;pU
    
    

    2rlYx79fo;pU 它就是密码。

    使用这个密码登录 mysql

    [root@~]# mysql -uroot -p
    Enter password:  // 复制粘贴就行了
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 10
    Server version: 8.0.12
    
    Copyright (c) 2000, 2018, 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> 
    

    输入一个指令尝试一下,如果看到这个信息,证明密码过期了

    mysql> show databases;
    ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
    

    需要重新设置密码才能访问:

    ......
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '**1my/';
    ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
    

    上面你如果密码过于简单,那么就会出错

    ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
    

    按要求重新设置

    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '**1My/';
    Query OK, 0 rows affected (0.09 sec)
    

    设置密码永不过期

    ......
    mysql> ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
    Query OK, 0 rows affected (0.06 sec)
    

    exit 退出 mysql

    ......
    mysql> exit 
    Bye
    

    文档的内容,认真看看吧!

    mysql set password mysql set password invaild 故意截全的 set password EXPIRE NEVER

    大功告成!

    相关文章

      网友评论

          本文标题:阿里云 ECS 服务器 CentOS 7.4 搭建 LAMP W

          本文链接:https://www.haomeiwen.com/subject/pihxoftx.html