废话不多说,直接上教程
1. 为了方便,在根目录下,我创建了一个文件夹test,所以,mkdir就是创建文件夹的指令哦
[root@syears /]# mkdir test
2. 使用cd指令进入test文件夹
[root@syears /]# cd test
3. 利用wget下载指令远程MySQL的rpm包下载(为什么要下载rpm包呢?下面有解释)
[root@syears test]# wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
注意:mysql57-community-release-el7-11.noarch.rpm 中的mysql57代表MySQL的5.7版本、el7代表操作系统操作系统版本、noarch代表操作系统指令集版本,此值代表适应所有版本
如图所示:执行wget指令后(wget指令就是一个下载文件的工具,只要把地址放在后面,自动会将文件下载到当前所属的文件夹),再执行 ls 指令,则可看到该目录下有了刚刚下载的文件mysql57-community-release-el7-11.noarch.rpm(红色字体)
4. yum install指令安装rpm文件(yum源)
[root@syears test]# yum install mysql57-community-release-el7-11.noarch.rpm
yum install 指令是一个很有意思的指令,如果后面跟着的是以rpm结尾的文件,则会在当前文件夹进行搜索安装rpm文件,安装了rpm文件后,会在/etc/yum.repos.d/文件下,创建相应的repo文件。
至于为什么会安装repo文件,我也不知道。有人知道吗?
我一直在想,为什么他不是直接帮我安装软件了呢?而是安装了一个yum源,然后我再次通过 yum install指令再次安装对应的软件,比如MySQL就是。
我目前对yum install指令执行流程的理解是:执行指令后,yum会去/etc/yum.repos.d/下搜索所有enable=1的repo文件,也就是yum源的,每个yum源都会管理着一批软件,每个软件都有一个独立的名字,比如apache在yum源中的名字就是httpd,yum install httpd 指令会去所有的源中查找,找到这个软件的安装信息、下载网址、依赖信息等,然后进行自动安装到默认的文件路径中。而这个yum源可以同时多个共存,默认情况会有一个默认源。所以,如果默认源里没有的软件,通过yum install自然不能安装,而MySQL就是这个例子,在默认的源里,没有MySQL,所以就需要手动安装一个拥有MySQL软件的源,而这个安装自定义源的原理我还不是很明白。
5. 安装MySQL(此时才是真正的进行MySQL的安装,之前都是在做准备工作)
[root@syears test]# yum install mysql-server
yum 安装软件时,会先检查软件所带的所有依赖,比如MySQL-server,yum检测出了安装该程序需要一个主程序和四个依赖程序,总需要下载大小为191M,总需要安装大小为862M,如下图最后几行所示。
上图最后一行是:确认指令,输入y后,yum会继续往下执行,往下其实就是下载文件,然后安装,最后,可以看到安装了一个MySQL和四个依赖程序。
最后一行Complete!代表MySQL按照成功,接下来就是配置MySQL了。
6. 查看MySQL的状态
[root@syears ~]# systemctl status mysqld
可以看到,MySQL是未启动状态的。
7. 启动MySQL
[root@syears ~]# systemctl start mysqld
执行该指令后,如果启动成功,不会有任何提示。
启动之后,可再次执行查看状态的指令,结果如图:
MySQL已处于启动状态
8. 进入MySQL系统
MySQL服务已经正常启动了,接下来自然就是要进入MySQL,我总结了以下,对MySQL设置最主要有以下几个方面:
1.创建数据库用户。
2.修改数据库用户密码。
3. 修改数据库用户以允许远程访问 。
4. 对数据库用户进行授权。
不过,在此之前,首先要进入系统,在一个新的MySQL安装完毕之后(MySQL5.7版本),会创建一个root用户,该用户的密码是随机的。
注:自动生成随机密码的机制只出现在MySQL5.7版本以上。
[root@syears ~]# grep "temporary password" /var/log/mysqld.log
命令行执行上面那条语句,返回:
红框内就是初始密码。
拿到密码就可以进行登陆了
登录MySQL
[root@syears ~]# mysql -h127.0.0.1 -uroot -p*#chen#*
登录指令格式:mysql -h(IP地址) -u(用户名) -p(密码)
修改用户密码
方式1:mysql> update user set authentication_string=password('*#test#*'), password_expired = 'N', password_last_changed = now() where user='root';
方式2:mysql> set password=password('*#chen#*');
指令执行完毕之后,重启mysqld服务就可以用新密码登录。
注:MySQL5.7版本以上的密码字段是authentication_string,MySQL5.7版本以下的密码字段是password。
修改用户以允许远程访问
mysql> update user set host='%' where user='root';
执行成功之后,重启mysqld服务即可远程访问。
创建用户
mysql> create user 'test'@'%' identified by '*#test#*';
//test是用户账号
//%代表该用户在任何地方都能登陆
// *#test#*'是密码
创建过程中,如果遇到上面这个错误,证明MySQL设置的密码等级太高了,密码复杂度不满足。
执行一下语句,再次执行创建语句即可成功
mysql> set global validate_password_policy=0
创建成功后,重启服务,即可用新的用户登陆MySQL。