腾讯云CentOS7.0使用yum安装mysql

时间:2023-09-05 11:29:56

背景:

今天才申请了腾讯云+校园计划的1元服务器,(https://www.qcloud.com/event/qcloudSchool)安装了Centos7.0,在安装mysql的时候,使用yum list | grep mysql 来查找yum源中是否有mysql,结果如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
<code class="hljs avrasm">[root@VM_47_56_centos ~]# yum list | grep mysql
akonadi-mysql.x86_64                    1.9.2-4.el7                    base    
apr-util-mysql.x86_64                   1.5.2-6.el7                    base      
mysql-proxy.x86_64                      0.8.5-2.el7                    epel    
mysql-proxy-devel.x86_64                0.8.5-2.el7                    epel    
mysql-router.x86_64                     2.0.2-1.el7                    mysql-tools-community
mysql-router-debuginfo.x86_64           2.0.2-1.el7                    mysql-tools-community
mysql-utilities.noarch                  1.5.6-1.el7                    mysql-tools-community
mysql-utilities-extra.noarch            1.5.6-1.el7                    mysql-tools
mysqlreport.noarch                      3.5-11.el7                     epel    
mysqltuner.noarch                       1.2.0-7.el7                    epel    
省略部分内容。。。。
[root@VM_47_56_centos ~]# </code>

总之是看不到mysql-server的影子,(PS:据说Centos7.0的源中暂时还没有mysql,但是相同版本的Centos在阿里云是可以直接使用yum install mysql-server 来直接安装mysql的)

于是找了一些mysql的安装源,安装过程如下:

安装过程:

为了解决这个问题,我们要先下载mysql的repo源。

1、下载mysql的repo源

1
<code class="hljs avrasm"><code class="hljs avrasm">$ wget https://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm</code></code>

2、安装mysql-community-release-el7-5.noarch.rpm包

1
<code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs lasso">$ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm</code></code></code>

安装这个包后,会获得两个mysql的yum repo源:
/etc/yum.repos.d/mysql-community.repo和
/etc/yum.repos.d/mysql-community-source.repo。

3、安装mysql

1
<code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs lasso"><code class="hljs bash">$ sudo yum install mysql-server</code></code></code></code>

这个过程中就会看到有mysql的软件包存在:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs lasso"><code class="hljs bash"><code class="hljs asciidoc">[root@VM_47_56_centos ~]# sudo yum install mysql-server
已加载插件:fastestmirror, langpacks                  
| 2.5 kB  00:00:00    
mysql-tools-community                                                                  | 2.5 kB  00:00:00    
mysql56-community                                                                         | 2.5 kB  00:00:00    
(1/3): mysql-connectors-community/x86_64/primary_db                                       | 8.6 kB  00:00:00    
(2/3): mysql-tools-community/x86_64/primary_db                                            |  22 kB  00:00:00    
(3/3): mysql56-community/x86_64/primary_db                                                | 109 kB  00:00:01    
Loading mirror speeds from cached hostfile
 * base: mirrors.sina.cn
 * extras: mirrors.sina.cn
 * updates: mirrors.sina.cn
正在解决依赖关系
--> 正在检查事务
省略内容。。。
依赖关系解决
=================================================================================================================
 Package                           架构             版本                       源                           大小
=================================================================================================================
正在安装:
 mysql-community-libs              x86_64           5.6.27-2.el7               mysql56-community           2.0 M
      替换  mariadb-libs.x86_64 1:5.5.44-1.el7_1
 mysql-community-server            x86_64           5.6.27-2.el7               mysql56-community            58 M
为依赖而安装:
 mysql-community-client            x86_64           5.6.27-2.el7               mysql56-community            19 M
 mysql-community-common            x86_64           5.6.27-2.el7               mysql56-community           256 k
 numactl-libs                      x86_64           2.0.9-5.el7_1             
事务概要
=================================================================================================================
安装  2 软件包 (+9 依赖软件包)
总下载量:80 M
Is this ok [y/d/N]: y</code></code></code></code></code>

下边的安装和其他安装一样,

根据步骤安装就可以了,不过安装完成后,没有密码,需要重置密码。

4、重置密码

重置密码前,首先要登录

1
<code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs lasso"><code class="hljs bash"><code class="hljs asciidoc"><code class="hljs ruby">$ mysql -u root</code></code></code></code></code></code>

登录时有可能报这样的错:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2),原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:

1
<code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs lasso"><code class="hljs bash"><code class="hljs asciidoc"><code class="hljs ruby"><code class="hljs bash">$ sudo chown -R mysql:mysql /var/lib/mysql #这里的mysql是用户名(需要设置用户组合用户)</code></code></code></code></code></code></code>

然后,重启服务:

1
<code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs lasso"><code class="hljs bash"><code class="hljs asciidoc"><code class="hljs ruby"><code class="hljs bash"><code class="hljs ruby">$ service mysqld restart</code></code></code></code></code></code></code></code>

接下来登录重置密码:

1
2
3
4
<code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs lasso"><code class="hljs bash"><code class="hljs asciidoc"><code class="hljs ruby"><code class="hljs bash"><code class="hljs ruby"><code class="hljs php">$ mysql -u root
mysql > use mysql;
mysql > update user set password=password('xu827928') where user='root';
mysql > exit;</code></code></code></code></code></code></code></code></code>

5、开放3306端口(可以不用设置)

1
<code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs lasso"><code class="hljs bash"><code class="hljs asciidoc"><code class="hljs ruby"><code class="hljs bash"><code class="hljs ruby"><code class="hljs php"><code class="hljs bash">$ sudo vim /etc/sysconfig/iptables</code></code></code></code></code></code></code></code></code></code>

添加以下内容:

1
<code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs lasso"><code class="hljs bash"><code class="hljs asciidoc"><code class="hljs ruby"><code class="hljs bash"><code class="hljs ruby"><code class="hljs php"><code class="hljs bash"><code class="hljs lasso">-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT</code></code></code></code></code></code></code></code></code></code></code>

保存后重启防火墙:

1
<code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs lasso"><code class="hljs bash"><code class="hljs asciidoc"><code class="hljs ruby"><code class="hljs bash"><code class="hljs ruby"><code class="hljs php"><code class="hljs bash"><code class="hljs lasso"><code class="hljs bash">$ sudo service iptables restart</code></code></code></code></code></code></code></code></code></code></code></code>

这样从其它客户机也可以连接上mysql服务了。

6、修改权限可以使其他机器登录:

1
2
3
4
<code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs lasso"><code class="hljs bash"><code class="hljs asciidoc"><code class="hljs ruby"><code class="hljs bash"><code class="hljs ruby"><code class="hljs php"><code class="hljs bash"><code class="hljs lasso"><code class="hljs bash"><code class="hljs lasso">?mysql>mysql -h localhost -u root  //这样应该可以进入MySQL服务器
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION  //赋予任何主机访问数据的权限
mysql>FLUSH PRIVILEGES //修改生效
mysql>EXIT //退出MySQL服务器</code></code></code></code></code></code></code></code></code></code></code></code></code>