contentOS7安装mysql.tar.gz

        今天在工作中需要为虚拟机安装mysql,遇到总总问题---安装包缺失、指令不存在,查阅了很多博客与资料大多数大同小异,看的也不是很清晰,所以写一篇整理性的博客,为contentOS7使用tar包安装mysql进行一些记录

 首先:因为现在很多镜像文件都自带mysql数据库,大多数都不需要再进行额外安装,但也有人觉得默认安装的数据库版本过低,所以安装第一步应该检测当前虚拟机中是否已经安装了mysql

 查看是否装有mysql命令:

rpm -qa|grep mysql

将已安装的mysql卸载命令(没有则跳过):

rpm -e --nodeps 程序名

注意:如果是centos7,那么默认会安装一个mysql的分支产品mariadb,必须先卸载此分支产品

rpm -qa | grep mariadb

将已安装的mariadb卸载命令(没有则跳过):

rpm -e --nodeps 程序名

创建/user/database并将已下载tar包上传(也可以使用yum指令由网络下载)

cd /usr/ mkdir database

cd database

wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.22-el7-x86_64.tar.gz

安装mysql之前需要确保系统中有libaio依赖

yum search libaio
yum install libaio

解压tar包准备开始安装

tar -zxvf mysql-5.7.22-el7-x86_64.tar.gz
mv mysql-5.7.22-el7-x86_64 mysql5.7 #重命名为mysql5.7

安装mysql

1、添加用户和组

#添加用户组
groupadd mysql
#添加用户mysql 到用户组mysql(使用-r参数表示mysql用户是一个系统用户,不能登录)
useradd -r -g mysql mysql
#添加完用下面命令测试,能看到mysql用户的信息
id mysql

2、手动创建MySQL data目录

cd /usr/database/mysql5.7/
mkdir data

3、权限设置

#将mysql及其下所有的目录所有者和组均设为mysql
chown -R mysql:mysql /usr/database/mysql5.7/
#查看是否设置成功,执行下面命令,可以看到文件的所有者和组都变成了mysql
cd /usr/database/
ll

4、配置my.cnf文件

注意:一定要在数据库初始化之前加入 /etc 目录下,如果已存在可以删除后重新添加也可以直接进行修改

rm -rf /etc/my.cnf
vim /etc/my.cnf


#此文件内容如下(路径根据自己的实际情况):
[client]
port = 3306
socket = /tmp/mysql.sock


[mysqld]
init-connect='SET NAMES utf8'
basedir=/usr/database/mysql5.7              #根据自己的安装目录填写 
datadir=/usr/database/mysql5.7/data     #根据自己的mysql数据目录填写
socket=/tmp/mysql.sock
max_connections=200             # 允许最大连接数
character-set-server=utf8           # 服务端使用的字符集默认为8比特编码的latin1字符集
default-storage-engine=INNODB           # 创建新表时将使用的默认存储引擎

5、初始化mysql

/usr/database/mysql5.7/bin/mysqld --initialize-insecure --user=mysql  --basedir=/usr/database/mysql5.7 --datadir=/usr/database/mysql5.7/data
#注意:mysqld --initialize-insecure初始化后的mysql是没有密码的,且如果目录不一致注意修改


#重新修改下各个目录的权限
chown -R root:root /usr/database/mysql5.7/      #把安装目录的目录的权限所有者改为root
chown -R mysql:mysql /usr/database/mysql5.7/data/   #把data目录的权限所有者改为mysql

6、启动mysql

/usr/database/mysql5.7/bin/mysqld_safe --user=mysql &

7、修改密码

 #进入mysqlbin文件夹
 cd /usr/database/mysql5.7/bin/
 ./mysql -u root -p # 默认没有密码,直接敲回车就可以
 #切换使用数据库
 use mysql;
 #修改root用户密码
 update user set authentication_string=password('密码') where user='root';
 #刷新
 flush privileges;
 exit;

8、登录测试

cd /usr/database/mysql5.7/bin/
./mysql mysql -u root -p
#输入密码后,应该就连接上了
show databases;
exit; #退出

9、复制mysql启动脚本并将其添加到服务且设置为开机启动

#mysql启动脚本为:/usr/database/mysql5.7/support-files/mysql.server
cp /usr/database/mysql5.7/support-files/mysql.server  /etc/init.d/mysql

#添加服务
chkconfig --add mysql   

# 显示服务列表
chkconfig --list    

# 开机启动
chkconfig --level 345 mysql on

# 测试添加的服务是否能用
service mysql status #查看状态
service mysql start  #启动mysql服务
service mysql stop   #停止mysql服务

其他

设置外网访问

在mysql的bin目录下执行:mysql -uroot -p密码 登陆到数据:
    执行:use mysql;
    执行:select host,user from user;
可以看到user为root,host为localhost的话,说明mysql只允许本机连接,那么外网,本地软件客户端就无法连接了。

    调整方法:
        执行:update user set host='%' where user ='root';
        执行刷新:flush privileges;
    OK!现在可以访问了!
    如果还访问不了,那可能是防火墙问题,修改下防火墙就ok

linux登录

 #进入mysql安装目录的bin目录,然后输入以下命令

 ./mysql -u root -p

 #然后输入密码就登录成功

 exit;#退出mysql

猜你喜欢

转载自blog.csdn.net/qq_38186465/article/details/103188521