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

1、清除历史相关包

# 列出所有安装过的包 

rpm -qa|grep mysql

rpm -qa|grep mariadb

#将查看到的使用rpm -e --nodeps删除

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, 解压缩后进行安装

cd /usr/local

mkdir mysql

cd /usr/local/mysql

上传文件

# 解压

tar -xvf mysql-8.0.36-1.el7.x86_64.rpm-bundle.tar

#安装当前路径下所有安装包

rpm -Uvh *.rpm --nodeps --force

4、下载安装工具软件

yum install -y perl-Module-Install. noarch

yum clean all

yum makecache

yum -y install net-tools

yum install -y perl-Module-Install. Noarch

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

# For advice on how to change settings please see

[client]

default-character-set = utf8mb4

[mysql]

default-character-set = utf8mb4

[mysqld]

#端口

port=3306

# 字符集

character-set-server=utf8mb4

collation-server=utf8mb4_general_ci



datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

#默认使用innodb引擎

default-storage-engine=INNODB

 #配置表名不区分大小写 1:不区分大小写 0:区分大小写

lower_case_table_names=1

#指定不需要ONLY_FULL_GROUP_BY属性

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

# skip_ssl

#参数取值为0、1、2, 默认为0

innodb_force_recovery=0

#解决大文件打入报错

max_allowed_packet=150M

#最大连接数

max_connections=1000

#等待关闭连接的时间,单位为秒,默认28800秒,即8小时

wait_timeout=28800

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

6、删除原来的历史数据

cd /var/lib/mysql

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服务

#授权目录:

chown -R mysql:mysql /var/lib/mysql/

chown -R mysql:mysql /var/log/mysqld.log

chown -R mysql:mysql /var/log/mysql.log



#启动MySQL服务

systemctl start mysqld

systemctl enable mysqld

#查看此时MySQL服务的状态:

systemctl status mysqld

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

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

#获取mysql启动自动生成的临时密码

cat /var/log/mysqld.log | grep password

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

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

vi /etc/my.inf
[mysqld]

skip-grant-tables

(2.2)重启mysql

systemctl restart mysqld

(2.3)免密码登录

mysql -u root -p

ENTER

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

mysql>use mysql;

mysql>update user set authentication_string='' where user='root';

mysql>flush privileges;

mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY 'YangXingyu@957!'  

mysql> quit

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

vi /etc/my.inf
[mysqld]

# skip-grant-tables

(2.6)重启mysql

systemctl restart mysqld

9、设置可以远程登录

update user set host='%' where user='root';

flush privileges;

# 授权root用户可以远程登陆

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

## 立即生效

flush privileges;

10、 远程防火墙设置

#开放端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent

firewall-cmd –reload

11、创建数据库

create database nacos;

  • 30
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值