当前位置:   article > 正文

阿里云服务器linux单机部署mysql8.0.36(附 初始密码丢失解决+远程登陆允许)_linux7.9安装mysql8.0.36

linux7.9安装mysql8.0.36

1、清除历史相关包

  1. # 列出所有安装过的包 
  2. rpm -qa|grep mysql
  3. rpm -qa|grep mariadb
  4. #将查看到的使用rpm -e --nodeps删除
  5. rpm -e --nodeps mariadb-libs

2、官网下载匹配服务器版本的mysql8.0.36包

(1)确认服务器操作系统

lsb_release -a

一般来说著名的 Linux 系统基本上分两大类:
RedHat 系列:Redhat、Centos、Fedora 等
Debian 系列:Debian、Ubuntu 等

  (2)如图为centos, 官网下载red hat版本的mysql-8.0.36-1.el7.x86_64.rpm-bundle.tar

“https://dev.mysql.com/downloads/”==>“MySQL Community Downloads”==>“MySQL Community Server

3、将安装包上传到/usr/local/mysql, 解压缩后进行安装

  1. cd /usr/local
  2. mkdir mysql
  3. cd /usr/local/mysql
  4. 上传文件
  5. # 解压
  6. tar -xvf mysql-8.0.36-1.el7.x86_64.rpm-bundle.tar
  7. #安装当前路径下所有安装包
  8. rpm -Uvh *.rpm --nodeps --force

4、下载安装工具软件

  1. yum install -y perl-Module-Install. noarch
  2. yum clean all
  3. yum makecache
  4. yum -y install net-tools
  5. yum install -y perl-Module-Install. Noarch

5、编辑配置文件/etc/my.cnf

  1. # For advice on how to change settings please see
  2. [client]
  3. default-character-set = utf8mb4
  4. [mysql]
  5. default-character-set = utf8mb4
  6. [mysqld]
  7. #端口
  8. port=3306
  9. # 字符集
  10. character-set-server=utf8mb4
  11. collation-server=utf8mb4_general_ci
  12. datadir=/var/lib/mysql
  13. socket=/var/lib/mysql/mysql.sock
  14. #默认使用innodb引擎
  15. default-storage-engine=INNODB
  16.  #配置表名不区分大小写 1:不区分大小写 0:区分大小写
  17. lower_case_table_names=1
  18. #指定不需要ONLY_FULL_GROUP_BY属性
  19. sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
  20. # skip_ssl
  21. #参数取值为012, 默认为0
  22. innodb_force_recovery=0
  23. #解决大文件打入报错
  24. max_allowed_packet=150M
  25. #最大连接数
  26. max_connections=1000
  27. #等待关闭连接的时间,单位为秒,默认28800秒,即8小时
  28. wait_timeout=28800
  29. [mysqld_safe]
  30. log-error=/var/log/mysqld.log
  31. pid-file=/var/run/mysqld/mysqld.pid

6、删除原来的历史数据

  1. cd /var/lib/mysql
  2. rm -rf ./*

7、初始化mysql服务

mysqld --initialize --console --user=mysql

附:如果出现报错mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory,检查安装libaio.so.1 库文件。

(1)检查系统是否已经安装了 libaio.so.1

find / -name libaio.so.1

(2)安装libaio.so.1

sudo yum install libaio

(3)更新动态链接库缓存

sudo ldconfig

 (4)重启mysql服务

mysqld --initialize --console --user=mysql

8、启动mysql服务

  1. #授权目录:
  2. chown -R mysql:mysql /var/lib/mysql/
  3. chown -R mysql:mysql /var/log/mysqld.log
  4. chown -R mysql:mysql /var/log/mysql.log
  5. #启动MySQL服务
  6. systemctl start mysqld
  7. systemctl enable mysqld
  8. #查看此时MySQL服务的状态:
  9. systemctl status mysqld

9、查看或重置密码,登录mysql

(1)、获取初始密码登录

  1. #获取mysql启动自动生成的临时密码
  2. cat /var/log/mysqld.log | grep password

(2)、如果mysqld.log文件为空,可以重置密码

(2.1)修改配置文件my.inf,在 [mysqld] 段中添加一行 skip-grant-tables,改为免密码直接登录模式。

vi /etc/my.inf
  1. [mysqld]
  2. skip-grant-tables

(2.2)重启mysql

systemctl restart mysqld

(2.3)免密码登录

  1. mysql -u root -p
  2. ENTER

(2.4)修改密码(示例'YangXingyu@957!'

  1. mysql>use mysql;
  2. mysql>update user set authentication_string='' where user='root';
  3. mysql>flush privileges;
  4. mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY 'YangXingyu@957!'  
  5. mysql> quit

(2.5)修改配置文件my.inf,在 [mysqld] 段中注释行 skip-grant-tables,改为需要密码登录模式。

vi /etc/my.inf
  1. [mysqld]
  2. # skip-grant-tables

(2.6)重启mysql

systemctl restart mysqld

9、设置可以远程登录

  1. update user set host='%' where user='root';
  2. flush privileges;
  3. # 授权root用户可以远程登陆
  4. GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
  5. ## 立即生效
  6. flush privileges;

10、 远程防火墙设置

  1. #开放端口
  2. firewall-cmd --zone=public --add-port=3306/tcp --permanent
  3. firewall-cmd –reload

11、创建数据库

create database nacos;

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/768717
推荐阅读
相关标签
  

闽ICP备14008679号