centos 7 yum方式安装MySQL 5.6

时间:2022-07-28 22:01:28

本文根据mysql的官方文档操作:https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/

由于Centos7 默认数据库是mariabd(网上说是因为MySQl要收费所以用它的一个分支来代替。),所以通过rpm安装MySQL需要卸载原有的Mariabd,再下载所有的依赖包比较麻烦且容易出错。(我装了很久网上的方法都用过了都没装上)所以通过yum的方式安装。yum其实是rpm的一个升级将所有的依赖包放到仓库里自动安装所有的依赖包,简单方便。

1.添加官方yum源

# vim /etc/yum.repos.d/mysql-community.repo

将下面内容粘贴到创建好的yum源文件中

[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/7/$basearch/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

注:gpgcheck是GPG加密校验,文档中值为1,但check会报错误,故改为0跳过检查,对安装无影响,gpgkey为gpg加密的key,如在http://repo.mysql.com/里找到了也可以换上使用gpgcheck。

2.安装MySql

yum install mysql-community-server

在执行这一步之前请确保网络连接正常否则会报错。报错内容如下:

Errno 14] curl#6 - "Could not resolve host: repo.mysql.com; Unknown error"
Total download size: 82 M
Is this ok [y/d/N]: y

询问是否下载y即可。

Replaced:
mariadb-libs.x86_64 1:5.5.35-3.el7 Complete!

提示已经替代了原来的mariabd数据库。不用再去卸载mariabd省时省力。

3.启动Mysql

service mysqld start

这一步是报错最多的地方,一般都是mysql用户对某些文件夹的权限不对。但是用新机器无污染的环境下就很少报错。

4.进入Mysql

mysql -u root -p
Enter password:

用root用户打开mysql,默认没有密码直接回车。

5.修改用户密码

mysql> select user,host,password from mysql.user where user='root';
+------+-----------------------+----------+
| user | host | password |
+------+-----------------------+----------+
| root | localhost | |
| root | localhost.localdomain | |
| root | 127.0.0.1 | |
| root | ::1 | |
+------+-----------------------+----------+
4 rows in set (0.00 sec)

查询用户表发现password中没有密码,只需要修改password的值就能修改密码。

mysql> update mysql.user set password=password('123456') where user='root';
Query OK, 4 rows affected (0.00 sec)
Rows matched: 4 Changed: 4 Warnings: 0

再查一下用户表

mysql> select user,host,password from mysql.user where user='root';
+------+-----------------------+-------------------------------------------+
| user | host | password |
+------+-----------------------+-------------------------------------------+
| root | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| root | localhost.localdomain | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| root | 127.0.0.1 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| root | ::1 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+------+-----------------------+-------------------------------------------+
4 rows in set (0.00 sec)

发现password中已经有了内容,之所以不是123456是因为经过了加密,这也是需要注意的一点,在修改密码时一定要记得写password=password(‘密码‘),如果直接写成密码的话会很惨,数据库没有撤销功能。

5.设置用户远程权限

mysql> update mysql.user set host='%' where user='root' and host='127.0.0.1';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

至于需要将用户表中的host栏中的127.0.0.1改为%就可以。这个更改的是连接主机的IP地址,从本机改为了任何计算机。也可以改为指定IP。

flush privileges;

重载权限表。

6.打开centos 7中的3306端口

光设置了远程权限还不够要想远程还需要打开3306端口,执行以下命令打开端口。

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

打开成功之后重载

firewall-cmd --reload

大功告成!!!

刚刚入门的萌新,有不对的地方请多指教。参考了很多大神的博客,如有雷同请多包含。