Centos7 Mysql 5.7 本地安装
Mysql 5.7 tar包 本地安装
准备工作:
- Mysql.tar (资源包)
- Centos 7
- SSH
我用的SSH工具就是Windows终端
Windows终端只有win10及以上系统才支持 ssh
1. 将Mysql资源包导入到Linux
在Windows终端用scp命令传输过去
scp ./mysql.tar root@centos7:~/
centos7换成你的IP地址
也可以用ftp协议,根据自己
进入到root家目录中将tar包解压
cd ~
tar -xvf mysql.tar
会出现这些文件
2. Mysql依赖安装
由于系统是centos7,系统默认有mariadb包
可以先检查有没有 mariadb
rpm -qa | grep mariadb #没有就跳过
有的话需要卸载掉(没有这个包就跳过这一步)
rpm -e --nodeps 包名 #包名完整输入
然后用yum安装wget、perl 、net-tools
yum install -y wget
yum install -y perl
yum install -y net-tools
3. Mysql安装
用rpm依次安装以下安装包
-
rpm -ivh mysql-community-common-5.7.30-1.el7.x86_64.rpm
-
rpm -ivh mysql-community-libs-5.7.30-1.el7.x86_64.rpm #依赖于common
-
rpm -ivh mysql-community-client-5.7.30-1.el7.x86_64.rpm #依赖于libs
-
rpm -ivh mysql-community-devel-5.7.30-1.el7.x86_64.rpm #一些文件和支持库
-
rpm -ivh mysql-community-server-5.7.30-1.el7.x86_64.rpm#依赖于 client 、 common
如果不行就再加个参数强制安装 : --force
例:rpm --force -ivh mysql-community-common-5.7.30-1.el7.x86_64.rpm
初始化数据库
mysqld --initialize --user=mysql
到这就安装完毕了
4. 启动Mysql并配置
启动Mysql5.7
systemctl start mysqld
这个时候MySQL已经启动完毕输入命令就可以登录
mysql -u root -p #root是MySQL管理员用户
但是回车发现需要密码,密码是由数据库初始化的时候生成的一个随机字符串
有两个方法可以登录
绕过登录 进入数据库修改密码
进入Mysql生成的日志内容中查看随机生成的密码登录,再修改
4.1 绕过登录修改密码
进入配置文件,在 [mysqld] 一栏中添加 skip-grant-tables
vi /etc/my.cnf #mysql配置文件
[mysqld]skip-grant-tables
重启mysql
systemctl restart mysqld
登录mysql,因为跳过了登录验证,所以空的直接回车进入
mysql -u root -p
进入到MySQL服务中,出现 mysql>
标志
输入命令,选择mysql数据库(注意,sql语句以分号结尾,不能忘记)
use mysql;
修改mysql的密码
update user set authentication_string = password ('123456') where user = 'root'; #123456是你要设置的密码
或者
推荐下面的命令
ALTER USER 'root'@'localhost' IDENTIFIED BY '你要设置的密码' PASSWORD EXPIRE NEVER;
再去开放一下连接权限
grant all privileges on *.* to root@'%' identified by "123456";
刷新权限设置
flush privileges;
出现以下内容就是成功
然后退出mysql
quit;
提示一个Bye! 回到centos终端界面
为了安全,把**/etc/my.cnf的配置文件中的skip-grant-tables**给删除掉
vi /etc/my.cn
重启mysql服务
systemctl restart mysqld
现在连接mysql的密码就是123456
mysql -u root -pEnter password:123456 #这里输入密码是不会显示的,输入完回车就可以mysql>
4.2 查找随机密码登录
从Mysql的日志中找到生成的初始随机密码
日志目录:/var/log/mysqld.log
cat /var/log/mysqld.log | grep localhost
这一块就是mysql的初始密码
拿到密码然后登录mysql
mysql -u root -p
输入拿到的初始密码,回车
成功进入到数据库
然后修改默认密码
use mysql;update user set authentication_string = password ('123456') where user = 'root'; #123456是你要设置的密码flush privileges; #刷新权限设置
退出数据库,重新启动数据库
quit;
systemctl restart mysqld