redhat7安装mysql5.7
本文安装MySQL5.7使用的是vm虚拟机rhel7操作系统
1 登录MySQL官网下载mysql,下载地址 https://dev.mysql.com/downloads/mysql/ 这里使用的是rpm包安装,下载对应的社区版rpm包,注意的是需要登录甲骨文才能下载,不能只下载mysql-server服务器,因为有依赖关系,得下载下面五个包
2 查看系统是否已经安装了mysql没有,代码 rpm -aq | grep mysql,如果有旧版本就需要像下面卸载mariadb一样卸载掉。Mariadb是rhel系统已经安装好了的,需要卸载掉,百度百科是这么说,Mariadb也被视为开源数据库MySQL的替代品,安装MySQL时可能有冲突,查看Mariadb,代码 rpm -qa | grep mariadb,百度百科关于Mariadb https://baike.baidu.com/item/mariaDB/6466119?fr=aladdin
3 卸载Mariadb,用r rpm -e 卸载,因为有有依赖关系,末尾加上 --nodeps不顾依赖关系强制卸载,反正也不用了(注意是两个英文输入法下的横杠),三个都要卸载,因为我之前卸载了第一个所以提示错误了
代码 rpm -e mariadb-libs-5.5.52-1.el7.x86_64 --nodeps
rpm -e mariadb-server-5.5.52-1.el7.x86_64 --nodeps
rpm -e mariadb-5.5.52-1.el7.x86_64 --nodeps
4 有些mysql安装教程,创建了用户和组,但是在现在的版本中,官方文档已经没有说明必须要创建mysql组和mysql用户,所以可以不用创建组和用户的,注意切换的root用户下,进入 /usr/local下,代码 cd /usr/local
5 创建mysql文件夹 代码 mkdir mysql
6 将Windows系统上下载的5个文件用filezilla传到mysql目录,filezilla使用,官网下载 https://filezilla-project.org/ 或者百度软件下载,安装好之后,在Linux系统中打开终端查看主机ip ,代码 ifconfig ,将 ip 用户名 密码 端口(默认22)输入就好了,然后选择目录 文件传输就好了
5 个mysql安装文件
7开始安装mysql数据库啦,注意了官方文档说啦,各个文件是有依赖性的,必须按以下顺序安装,你也可以试试其他顺序,看看提示的错误
安装顺序
mysql-community-common-5.7.18-1.el7.x86_64.rpm
mysql-community-libs-5.7.18-1.el7.x86_64.rpm
mysql-community-client-5.7.18-1.el7.x86_64.rpm
imysql-community-server-5.7.18-1.el7.x86_64.rpm
mysql-community-devel-5.7.18-1.el7.x86_64.rpm
代码 rpm -ivh mysql-community-common-5.7.18-1.el7.x86_64.rpm
代码 rpm -ivh mysql-community-libs-5.7.18-1.el7.x86_64.rpm
代码 rpm -ivh mysql-community-client-5.7.18-1.el7.x86_64.rpm
代码 rpm -ivh mysql-community-server-5.7.18-1.el7.x86_64.rpm 服务器安装时间有点久,稍等一会
代码 rpm -ivh mysql-community-devel-5.7.18-1.el7.x86_64.rpm
8 到此为止安装就算完了,但是还没有结束,我们先来看下官方安装文档, ps 英语是多么的重要,或者其他什么软件安装或者出错,最好去官网或者英语论坛,看看官方文档或者论坛帖子,帮助是很大的,安装文档地址 https://dev.mysql.com/doc/refman/5.7/en/linux-installation-rpm.html
大概是说的是,mysql安装完毕后,是不会自动启动的,但是第一次启动后,以后开机都是自启的,没有第一次启动之前,也是没有密码的。当你第一次启动MySQL服务器的时候,mysql自己就会自己做很多事情,其中之一重要的就是初始密码,A superuseraccount 'root'@'localhost'
is created. Apassword for the superuser is set and stored in the error log file. 当你安装后没有启动 MySQL之前, 你执行 vim /var/log/mysql.log 你会发现该文件是空的或是新文件,现在就来启动mysql吧
9 启动mysql服务 代码 service mysqld start
10 查看一下mysql服务是否启动了 代码 service mysqld status 以下就表示成功了
11 启动之后密码就初始化好了,查看密码 代码 进入 /var/log/ 目录下可以直接 vim mysqld.log 查看 或者直接 vim /var/log/mysqld.log 查看 ps 是 mysqld.log 不是mysql.log 退出vim,先按Esc键,然后按shift+q键,最后输入q!即可
12 登录MySQL,登录进去是没有权限任何操作的,必须修改密码
登录代码 mysql -u root -p 回车就让你输入密码,输入密码的时候仔细点,密码比较乱
1、修改MySQL的登录设置:
# vi /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables
例如:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-name-resolve
2、重新启动mysqld
# service mysqld restart
3、将MySQL的登录设置修改回来
# vi /etc/my.cnf
将刚才在[mysqld]的段中加上的skip-grant-tables删除
保存并且退出vi。
4、重新启动mysqld
# service mysqld restart
5、创建新用户
grant all privileges on *.* to aaa@qq.com'%' identified by '123456';
13修改密码
代码 set password for 'root'@'localhost'='newpasswd' newpasswd就是你设置的新密码,密码必须要符合要求,八位及以上,需要大小写、数字和特殊字符
14 到此就算mysql数据库安装完成了,接下来就是漫长的mysql学习之路,祝你成功!
mysql5.7初始化密码报错 ERROR 1820 (HY000): You must reset your password using ALTER USER statement before
#首先,修改validate_password_policy参数的值
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
validate_password_length(密码长度)参数默认为8,我们修改为1
mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)
#完成之后再次执行修改密码语句即可成功
mysql> alter user 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges ;
Query OK, 0 rows affected (0.01 sec)
将mysqld服务加入开机自启动项。
将{mysql}/ support-files/mysql.server 拷贝为/etc/init.d/mysql并设置运行权限,这样就可以使用service mysql命令启动/停止服务,
否则就只能使用{mysql}/bin/mysqld_safe &命令来启动服务
还需要把mysql.server中basedir的相关路径,改为自定义的路径,默认路径是/usr/local/mysql
[aaa@qq.com bin]# cd /usr/local/mysql/support-files
[aaa@qq.com support-files]# cp mysql.server /etc/init.d/mysql
cp: overwrite ‘/etc/init.d/mysql’?
[aaa@qq.com support-files]# chmod +x /etc/init.d/mysql
将mysql注册为开机启动
[aaa@qq.com support-files]# chkconfig --add mysql
查看是否成功
[aaa@qq.com support-files]# chkconfig --list mysql
Note: This output shows SysV services only and does not include native
systemd services. SysV configuration data might be overridden by native
systemd configuration.