一步一步在Linux当中安装MySQL(图文)
1、在centos7当中检查当前系统的版本:cat /etc/redhat-release
2、访问https://www.mysql.com/downloads/ 选择 MySQL Community Editior(GPL)版本。这个是社区版。社区版是免费的
选择
MySQL Community Server
3、选择版本
4、下载 Bundle版,它把各种功能都捆绑在了一起。
5、点击下载时提示要登录,无需理会。直接点击下面的超链接(No thanks,just start my download)即可。
6、使用 rpm 方式安装
须要的 mysql 组件,有 4 个:分别是 server、 client、 common、 libs
7、查看旧版本 MySql
rpm ‐qa | grep mysql 查找相应文件,如 rpm -qa mysql,这句话的意思就是要查找 看看mysql是否已经被安装
rpm ‐e ‐‐nodeps -e表示卸载 --nodeps表示不含依赖
8、将安装包解压并放在opt目录下。目录结构如下:/opt/mysql5.7/install 将上述四个包存入该目录下
9、使用cd命令进入该目录使用 rpm -ivh *.rpm来安装
提示错误信息 mariabd-libs is obsoleted by ... 表示有冲突的程序在运行
10、使用 rpm -qa|grep mariadb查找mariadb是否安装
11、如果已经安装则需要通过-e指令将其卸载掉
rpm -e mariadb-libs-...如果出现了如下错误提示
表示卸载时有依赖,那么就需要使用--nodeps进行强制卸载。
rpm -e --nodeps mariadb-libs ...
12、卸载完后使用rpm -ivh *.rpm安装时又提示如下信息:
13、网上查了一下说是版本冲突,在rpm -ivh *.rpm安装命令后增加 --force --nodeps选项就好了。安装截图如下:
14、使用rpm -qa | grep mysql检查是否安装成功,如下所示:
出现上述四个包表示mysql安装成功。
15、安装mysql后,mysql有个配置文件叫做my.cnf。我们可以使用find命令查找该文件所在的位置。进入根目录下然后键入 find | grep my.cnf,如下图:
16、使用rpm -ql mysql-community-server-5.7.25-1.el7.x86_64命令可以查看该rpm包的内容都被安装到了哪里(注意不能加上rpm后缀,否则查不出来),如下图:
因此使用find和rpm -ql都可以查看被安装的内容。find是从全局查找,而rpm是根据指定的安装包查找该安装包的内容被安装到了哪里。
17、使用cat命令查看my.cnf内容如下:
18、启动mysql服务
systemctl(在centos5和6时用的是service) systemctl start mysqld
19、启动服务后可以查看mysql的运行状态 systemctl status mysqld
20、查找mysqld的日志文件 find /. | grep mysqld.log
21、查看该日志文件 cat /var/log/mysqld.log ,以后有问题就从这个文件当中查看。
22、mysql5.7与5.6不同,5.7可以不用设置 密码直接登录。而5.7需要输入密码才能登录。5.7在它的日志文件当中默认保存了一个密码。
我们可以查看该日志文件找到该密码 cat /var/log/mysqld.log | grep password 在使用cat命令查看日志内容的同时通过管道符号 | 加上 grep找到password的位置
23、复制密码,然后通过该密码登录即可,如下图:
24、修改密码,可以通过 set password for [email protected]=password('123456')修改密码,将密码改为123456
但提示密码太简单
25、修改mysql的配置文件 vi /etc/my.cnf打开vi编辑器
增加validate_password=OFF后保存,然后 重启mysql服务 systemctl restart mysqld
26、再次登录mysql,然后修改密码,将密码改为root
出现上述画面表示修改成功
27、刚才使用默认密码登录使用的方式是 myslq -root -p,这样输入密码可以登录进去。但是无法查看数据库,我们再使用 mysql -u root -p然后输入密码就以root账号登录进mysql。此时可以通过show databases查看所有的数据库。
28、使用myslq数据库 use mysql,然后通过desc查看user表
29、[email protected] 表示mysql的唯一用户签名是用户名,后面是主机名。 如果使用。[email protected]%表示可以从任何一个机器去登录,在这里%表示任意地址
在这里user表示用户名,而后面的host表示主机名,此处都是localhost。如果改成%并重启mysql服务的话就可以让任何一个客户端访问zhegemysql数据库。
30、通过show variables查看系统变量值,在这里查看包含password的系统变量
31、添加一个账户,可以使其通过任何一个ip地址登录mysql。
32、此时使用sql yog登录这个mysql账号,并且建立好了一个数据库和一张表。如下图所示:
33、回到Linux当中查看数据库和表已经存在。
34、如果在Linux当中建立了账号但是在外部还是不能登录,可能是防火墙的缘故。因此可以使用如下语句关闭防火墙。systemtcl stop firewalld
35、然后禁用防火墙
36、查看config文件,看到SELINUX已经变成了disabled,表示防火墙已经被禁用。 安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。