最近由于准备参加一个比赛,需要具备应用数据库的能力,所以我准备学习mysql。因为平时是在Linux下进行c++学习,所以也希望在Linux下学习mysql。首先需要在Linux下进行安装mysql(可是装了好长时间呢,各种百度与看别人的博客下终于大功告成):
虚拟机的版本为:redhat7.0 64bit
mysql版本为:mysql-5.7.10-1.el7.x86_64.rpm-bundle.tar
到mysql官网下载mysql安装包:
mysql官网链接:http://dev.mysql.com/
Downloads
Community
Archives
MySQL Community Server
选择适合自己的系统版本
选择相应的mysql版本
选择第一个:mysql-5.7.10-1.el7.x86_64.rpm-bundle.tar(选择适合系统以及需要的版本下载安装包)
下载之后拷贝到linux系统上,例如在/home/mysql下
首先先查看是否已经安装了mysql,执行命令 rpm -qa|grep mysql,如果什么都没显示说明没有安装过,如果已经安装了mysql,就先卸载,执行命令rpm -e --nodeps ******(******为已经安装的rpm)
查看是否安装mariadb(系统自带的数据库),我安装mysql的时候和mariadb发生了冲突,所以不用这个数据库的话也可以卸载,查看是否安装mariadb,执行命令 rpm -qa|grep mariadb,卸载执行命令 rpm -e --nodeps ******(******为已经安装的mariadb) 注意,在root下。
进入/home/mysql
执行命令 tar -xvf mysql-5.7.10-1.el7.x86_64.rpm-bundle.tar 解压
解压后有很多文件,我们接下来需要安装,因为RPM包的依赖关系,所以注意安装顺序,按照以下次序安装:
rpm -ivh mysql-community-common-5.7.10-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.10-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.10-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.10-1.el7.x86_64.rpm
安装完成后开始初始化数据库,进入/usr/bin,执行命令 mysqld --initialize --user=mysql或者
mysqld --initialize-insecure --user=mysql
第一个命令是为root用户随机生成一个登陆密码,登陆时执行命令 mysql -u root -p,密码在/var/log/mysqld.log文件中可以查看(不知道为什么我查看此文件时,里面是空的,所以登陆时密码不清楚,遇到这种情况,可以采取下面将要讲到的‘忘记密码’时的方法)
第二个命令不会为root用户生成密码,登陆时执行命令 mysql -u root --skip-password
当root密码忘记后怎么登陆?
执行 vi /etc/my.cnf 在[mysqld]末尾添加 skip-grant-tables ,保存退出,执行 wq
重启服务:systemctl restart mysqld
登陆mysql: mysql -u root
登陆后执行命令:UPDATE mysql.user SET authentication_string = PASSWORD('123')WHERE USER='root' AND Host='localhost' 修改root密码为123,并且执行命令:FLUSH PRIVILEGES 刷新权限。
接下来去/etc/my.cnf把刚刚加上的那句去掉,执行 wq。
重启服务。
现在重新登录mysql -u root -p 输入密码:123 就可以进入mysql了。