mysql作为日常开发中常用到的数据库,对每个程序员来说至关重要,今天就跟着我来进行一次mysql的安装之旅吧。
对mysql有过接触的人来说,都知道mysql分为商业版和社区版,由于这里仅仅作为开发、学习之用,这里选择社区版进行安装。首先打开官方网站。
https://www.mysql.com/
进入到下载页,滑到最下方可以看到社区版的下载链接,如下图,
跳转到社区版的下载页面
可以看到提供了多种安装的方式,这里先选择二进制文件的安装包这种方式,进入到相应的页面,选择需要的版本进行下载即可,我这里要安装的环境是centos7,所以这里选择了如下版本,
下载完成后,使用rz命令上传到linux机器上,rz命令是linux下的命令,没有该命令的可以自行百度如何安装。
在上面的步骤中已经成功的把安装包上传到linux机器上,如上图,下面进行解压,使用如下命令,
tar -xvf mysql-8.0.26-1.el8.x86_64.rpm-bundle.tar
解压完成后,可以看到这些文件
进行安装即可,这里是rpm包,所以要使用rpm命令进行安装
显示下面的内容,
表示的缺少依赖,比如缺少GLIBC_2.28、OPENSSL_1_1_0等,我这里一直没安装成功依赖,所以这里不再继续,有了解的朋友可以给提个建议。下面进行另外一种方式的安装。
在mysql的下载页有mysql的yum文件,
下载此文件到本地,
把该文件上传到linux机器上,前面说到可以使用rz命令,我这里已经传好,
下面进行安装
由于这里使用的yum的安装方式,所以要把上述的yum文件添加到yum源中,
yum localinstall mysql80-community-release-el7-3.noarch.rpm
检查yum源中的mysql
yum repolist all | grep mysql
可以看到刚添加的状态为启用,如上图,另外,如果有其他版本的状态为启用的,一定要关闭掉,使用下面的命令
yum-config-manager --disable MySQL Cluster 7.5 Community
如果之前安装过mysql,可以使用下面的命令查看
yum list installed | grep mysql
我这里已经安装完了,所以有下面的依赖
可以使用下面的命令进行删除
yum -y remove mysql-community-client.x86_64
使用下面的安装命令进行安装,
yum install mysql-community-server
如下图
进行安装即可。
安装完检查是否安装成功。
上图表明已经安装成功。
刚安装好的mysql只能在本地访问,不具备远程访问的能力,所以这里要进行配置,由于这里使用yum进行默认安装,那么mysql安装在什么地方了那
使用下面的命令
which mysqld
结果如下图
可以看到安装在了/usr/sbin目录下,
那么mysql的配置文件在什么地方那,
/usr/sbin/mysqld --verbose --help |grep -A 1 'Default options'
如下图,
从上面可以看出首先读取/etc/my.cnf,然后是etc/mysql/my.cn 然后是/usr/etc/my.cnf 是按照这样一个顺序继续读取的,也就是说在上面几个路径中只要有一个目录中存在my.cnf即可。我们先看在/etc/下是否存在
存在该文件,编辑该文件
该文件如下,
可以看到mysql的数据目录、pid等配置。记住log-error=/var/log/mysqld.log这个配置。好了下面去启动
使用下面的命令启动mysql
service mysqld start
可以看到已经启动成功。现在要进行登录
现在服务已经启动了,mysql自带了本地客户端,可以使用客户端的方式启动,那么我们的账户和密码是什么那,不急,上边我们记住了log-error=/var/log/mysqld.log这也一个配置,这是mysql启动的日志,看下这个文件吧
从上面找到关键的一句,也就是mysql在启动的时候会给root一个临时的密码,我这里是0Q*_k1F.KFo9,使用该密码登录即可,
mysql -hlocalhost -uroot -p
可以看到已经成功登录,刚才提到该root的密码是临时的,那么现在就要对该密码进行修改。
刚才已经登录成功,但是由于使用的是临时密码,所以什么操作都做不了,必须修改临时密码,
mysql> alter user root@localhost identified by '123!QAZ';
这里改成自己的密码即可。这样就完成了root密码的修改。使用exit命令退出后,使用新的密码登录即可。
mysql> create user 'root'@'%' identified by 'root';//刷新权限mysql> flush privileges;
添加了root的远程登录账户;
这样便可以使用root远程登录了。
使用navicat连接mysql,这里mysql的版本是8,在连接时出现下面的错误
在本地使用命令行的方式登录,执行下面的命令
mysql> use mysql;mysql> alter user 'root'@'%' identified with mysql_native_password by '123!QAZ';mysql> flush privileges;
然后再登录如下,
从上图可以看到root账户的权限显然不是最大的,需要对其进行授权,
mysql> grant all privileges on *.* to 'root'@'%' WITH GRANT OPTION;mysql> flush privileges;
本文记录了mysql的安装步骤,并抛出了一些问题及解决方案,文中遗留的问题,希望大家提出解决方案,感谢大家。