快捷导航

  • 安装MySQL
  • 修改MySQL初始密码
  • 通过mysqladmin修改密码
  • 通过Navicat连接至MySQL


安装MySQL

操作系统:CentOS / 8.2 x86_64 (64bit)

1)安装前,我们可以检测系统是否已安装 MySQL:

rpm -qa | grep mysql

因为我已经安装过了,所以显示的结果是这样的:

mysql 使用多个端口号 mysql的端口是多少_centos


2)如果你系统有安装,那可以选择进行卸载:

rpm -e mysql

3)使用yum安装MySQL

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
 rpm -ivh mysql-community-release-el7-5.noarch.rpm
 yum update
 yum install mysql-server

4)权限设置

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

5)初始化MySQL

mysqld --initialize

6)启动MySQL

systemctl start mysqld

7)查看 MySQL 运行状态

systemctl status mysqld

正常的运行状态讲道理应该是这样的:

mysql 使用多个端口号 mysql的端口是多少_mysql_02

修改MySQL初始密码

1)使用指令:find / -name,搜索mysqld.log

find / -name mysqld.log

找到mysqld所在的位置:

mysql 使用多个端口号 mysql的端口是多少_linux_03


2)使用指令:vi,查看 mysqld.log

vi /var/log/mysql/mysqld.log

默认的登录密码是:XO)j%wldp4tV

2021-03-13T14:41:45.463256Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: XO)j%wldp4tV

如下图所示,拿到初始密码后就可以修改密码了

mysql 使用多个端口号 mysql的端口是多少_linux_04

通过mysqladmin修改密码

在终端命令行输入:

mysqladmin -u root -p password 新密码
Enter password: 输入原来的旧密码

比如,我在已知原密码的情况下,想把用户root的密码设置为root,如:

mysql 使用多个端口号 mysql的端口是多少_mysql_05


这样就算修改成功了,下次便可用新密码登录

通过Navicat连接至MySQL

新建测试连接,输入对应主机,MySQL的用户名和密码后,出现以下报错信息:

mysql 使用多个端口号 mysql的端口是多少_数据库_06

这是“无法给远程连接的用户权限”问题,所以需要授权MySQL允许用户远程登录

1)在Linux终端下查看网络端口信息:

netstat -ntpl

mysql 使用多个端口号 mysql的端口是多少_centos_07


2)之后查看防火墙的状态,发现3306端口的数据包都是接收(ACCEPT)状态:

iptables -vnL

mysql 使用多个端口号 mysql的端口是多少_mysql_08

如果这块状态是丢弃(DROP),就要清除防火墙中链中的规则,我是接收(ACCEPT)状态但也一并清除了

清除防火墙中链中的规则:

iptables -F

3)Linux终端登入MySQL,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,将"localhost"改为"%"

mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;

mysql 使用多个端口号 mysql的端口是多少_数据库_09

这里能看到字段host下user字段为root的值从localhost更改为%,意思是允许了非localhost的所有IP主机用户使用root远程登录MySQL,这里说一下MySQL的登陆格式:
mysql -h主机地址 -u用户名 -p用户密码

4)操作完后,切记执行以下命令刷新权限使上述更改生效:

mysql>FLUSH PRIVILEGES;

5)这时再通过Navicat远程连接MySQL > 测试连接,如下图,说明成功:

mysql 使用多个端口号 mysql的端口是多少_mysql_10