CentOS7 yum方法安装MySQL5.7并开启root用户远程连接

1 下载并安装mysql

1.1 下载并安装MySQL官方的 Yum Repository
[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
1.2 下载并安装MySQL的rpm
[root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm
1.3 安装MySQL服务器
[root@localhost ~]# yum -y install mysql-community-server

出现下面的提示,说明安装成功:
在这里插入图片描述

2 MySQL数据库设置

2.1 启动mysql
[root@localhost src]# systemctl start mysqld  
[root@localhost src]# systemctl status mysqld
2.2 设置开机启动mysql
[root@localhost src]# systemctl enable mysqld
[root@localhost src]# systemctl daemon-reload
2.3 获得mysql初始密码
[root@localhost src]# grep 'temporary password' /var/log/mysqld.log
2020-04-17T10:59:54.668094Z 1 [Note] A temporary password is generated for root@localhost: e;omvyN53CS*
2.4 登录mysql
[root@localhost src]# mysql -uroot -p

用刚才获得的初始密码登录成功后,不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库,而5.7版本的mysql采用了密码机制,默认为medium,要求密码有大写字母及特殊字符。MySQL完整的初始密码规则可以通过如下命令查看:

mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password_check_user_name    | OFF    |
| validate_password_dictionary_file    |        |
| validate_password_length             | 8      |
| validate_password_mixed_case_count   | 1      |
| validate_password_number_count       | 1      |
| validate_password_policy             | MEDIUM |
| validate_password_special_char_count | 1      |
+--------------------------------------+--------+
2.5 修改mysql的root密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Mypass123!';

到此数据库的密码设置就完成了。
但此时还有一个问题,就是因为安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉:

[root@localhost ~]# yum -y remove mysql57-community-release-el7-10.noarch

3 开启root用户远程连接

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> select `user`,authentication_string,`Host` from `user`;
+---------------+-------------------------------------------+-----------+
| user          | authentication_string                     | Host      |
+---------------+-------------------------------------------+-----------+
| root          | *ED6727A34C50DA0C532932E364204F55B6557EAC | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | localhost |
| mysql.sys     | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | localhost |
+---------------+-------------------------------------------+-----------+

可以看到root目前只支持localhost本机连接。
再执行如下语句:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Mypass123!';
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> select `user`,authentication_string,`Host` from `user`;
+---------------+-------------------------------------------+-----------+
| user          | authentication_string                     | Host      |
+---------------+-------------------------------------------+-----------+
| root          | *ED6727A34C50DA0C532932E364204F55B6557EAC | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | localhost |
| mysql.sys     | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | localhost |
| root          | *ED6727A34C50DA0C532932E364204F55B6557EAC | %         |
+---------------+-------------------------------------------+-----------+

我们看到root目前已支持任意机器连接,最后还要查看防火墙等问题。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值