CentOS 7 系统安装与远程连接 MySQL 5.7

222 阅读3分钟
原文链接: blog.didiyun.com

CentOS 7 版本将MySQL数据库软件从默认的程序列表中移除,那么CentOS 7版本如何安装MySQL呢,本文将指导大家具体的方法。

滴滴云DC2云主机上的操作为例,首先切换账户权限到root权限,登录CentOS 7 系统的云主机后输入:

[dc2-user@didiyun dc2-user]# sudo su
1
2
[dc2-user@didiyun dc2-user]# sudo su
 

切换成root权限,然后执行下面的安装方法:

官网安装mysql-server方法:

[root@didiyun dc2-user]# yum install -y wget
1
2
[root@didiyun dc2-user]# yum install -y wget
 

[root@didiyun dc2-user]# wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
1
2
[root@didiyun dc2-user]# wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
 

[root@didiyun dc2-user]# rpm -ivh mysql57-community-release-el7-8.noarch.rpm
1
2
[root@didiyun dc2-user]# rpm -ivh mysql57-community-release-el7-8.noarch.rpm
 

[root@didiyun dc2-user]# yum install mysql-community-server -y
1
2
[root@didiyun dc2-user]# yum install mysql-community-server -y
 

启动MySQL

[root@didiyun dc2-user]# systemctl start mysqld
1
2
[root@didiyun dc2-user]# systemctl start mysqld
 

验证是否启动

[root@didiyun dc2-user]# systemctl status mysqld
1
2
[root@didiyun dc2-user]# systemctl status mysqld
 

MySQL安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录MySQL进行修改:

[root@didiyun dc2-user]# grep 'temporary password' /var/log/mysqld.log 2018-05-23T09:24:03.800263Z 1 [Note] A temporary password is generated for root@localhost: p?iT>b?iv7st
1
2
3
[root@didiyun dc2-user]# grep 'temporary password' /var/log/mysqld.log
2018-05-23T09:24:03.800263Z 1 [Note] A temporary password is generated for root@localhost: p?iT>b?iv7st
 

可以看到初始密码为 p?iT>b?iv7st,登录数据库:

[root@didiyun dc2-user]# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 2Server version: 5.7.22Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
1
2
3
4
5
[root@didiyun dc2-user]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 2Server version: 5.7.22Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
 

重新设置root密码

mysql> set password for 'root'@'localhost'=password('Mypass12@');
1
2
mysql> set password for 'root'@'localhost'=password('Mypass12@');
 

为数据库设置远程连接

首先在防火墙规则中打开3306端口

设置MySQL

mysql> grant all privileges on *.* to root@'%'identified by '123456';
1
2
mysql> grant all privileges on *.* to root@'%'identified by '123456';
 

如果是非root用户(mysql的root用户)远程登录,则要先创建用户

mysql>create user 'username'@'%' identified by 'password';
1
2
mysql>create user 'username'@'%' identified by 'password';
 

然后再进行连接

[root@didiyun dc2-user]#mysql -h <IP地址> -uusername -p Enter password: ****** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 11 Server version: 5.6.39 MySQL Community Server (GPL) Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
1
2
3
4
5
6
7
8
9
10
11
12
13
[root@didiyun dc2-user]#mysql -h <IP地址> -uusername -p
Enter password: ******
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 5.6.39 MySQL Community Server (GPL)
 
Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>