2、阿里云安装mysql过程

阿里云centos7安装mysql,废话不多说直接撸代码:

一、安装mysql

1、下载RPM

wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm

2、安装RPM包

rpm -ivh mysql80-community-release-el7-1.noarch.rpm

3、修改 MySQL 的repo源,使MySQL8.0可用

使用 vim 编辑

vi /etc/yum.repos.d/mysql-community.repo

找到 [mysql80-community] 确保 enabled=1

修改,保存并退出。

4、安装 mysql-server

yum install mysql-server

开始下载并安装 MySQL,中间会有几次询问你,一路 yes 即可,等待直到完成。

5、修改 MySQL 的访问权限

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

6、重启 MySQL 服务

service mysqld restart

至此 MySQL8.0 的安装就算完成了

二、重置mysql8.0密码

1、查看自动生成的密码

安装完成后 MySQL会给我们自动生成一个随机密码

查看命令如下:

grep 'temporary password' /var/log/mysqld.log

因为自动的生成的密码无法直接使用,也不便于我们记忆,所以我们要修改密码。

2、配置文件 MySQL 免密码登录

编辑 MySQL 的配置文件

vim /etc/my.cnf

在 pid 开头的下面一行加入下面这句

skip-grant-tables

保存并退出。

3、重启 MySQL 服务

service mysqld restart 

​​​​​​

4、免密码登录到 MySQL 上

mysql -u root -p
  • 提示输入密码时直接敲回车。

5、选择 mysql 数据库

use mysql;

因为 mysql 数据库中存储了一张 MySQL 用户的 user 表

6、在 mysql 数据库的 user 表中查看当前 root 用户的相关信息

select host, user, authentication_string, plugin from user; 

执行完上面的命令后会显示一个表格

表格中有以下信息:

host: 允许用户登录的 ip ‘位置’ % 表示可以远程;

user: 当前数据库的用户名;

authentication_string: 用户密码(在mysql 5.7.9以后废弃了password字段和password()函数);

plugin: 密码加密方式;

7、将默认的 root 密码置空

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

8、退出 mysql命令行

quit

9、删除 /etc/my.cnf 文件最后的 skip-grant-tables

vim /etc/my.cnf

删除 skip-grant-tables 并保存退出。

10、重启 MySQL 服务

service mysqld restart 

11.重新登录到 MySQL 上

mysql -u root -p

提示输入密码时直接敲回车,因为我们刚才已经将密码置为空了。

12、使用 ALTER 修改 root 用户密码

ALTER user 'root'@'localhost' IDENTIFIED BY 'Xpf123@';

其中 Xpf123@ 为你设置的新密码,注意这个密码如果设置的比较简单,例如 123456 等等,会设置不成功,它会提示你设置的密码太简单,最好设置成大写字母、数字、符号的组合。

执行完之后会提示你 OK 的话,就代表修改成功了,至此重置密码也就算是完了,你可以使用新设置的密码去登录试试。

三、远程客户端访问

因为 MySQL 安装完成后只支持 localhost 访问,我们必须设置一下才可以远程访问

1、登录MySQL

mysql -u root -p

输入您的密码

2、选择 mysql 数据库

use mysql;

因为 mysql 数据库中存储了用户信息的 user 表。

3、在 mysql 数据库的 user 表中查看当前 root 用户的相关信息

select host, user, authentication_string, plugin from user; 

执行完上面的命令后会显示一个表格

查看表格中 root 用户的 host,默认应该显示的 localhost,只支持本地访问,不允许远程访问。

4、授权 root 用户的所有权限并设置远程访问

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

5、刷新权限

所有操作后,应执行

flush privileges;

6、查看 root 用户的 host

use mysql;

select host, user, authentication_string, plugin from user;

你会发现 root 用户的 host 已经变成 %,说明我们的修改已经成功,可以远程访问了。

7、然后你测试还是不能通过,这是应为阿里云的安全防火墙给拦截了

到此就可以远程访问了

猜你喜欢

转载自my.oschina.net/u/3551274/blog/1931572
今日推荐