Linux下安装解压版(tar.gz)MySQL5.7详解程序员

        最近尝试在Linux中安装了解压版MySQL,期间查阅了许多博客。很多博客看得我很懵逼,因此记录下自己的安装过程,方便后续查阅。
        环境说明:CentOs7.2

一、清理老的mysql

(1)卸载已有的mysql
 
    
    
查找以前是否装有mysql命令:
rpm -qa|grep -i mysql
1

 

1

rpm -qa|grep -i mysql

 
    
    
停止mysql服务,卸载之前安装的mysql
 rpm -ev 包名
1

 

1

 rpm -ev 包名

 
    
    
如果卸载过程中报依赖错误,直接在卸载命名后面加参数 –nodeps
  rpm -ev 包名 --nodeps  
1

 

1

  rpm -ev 包名 --nodeps  

(2)查找之前老版本mysql的文件并删除老版本mysql的文件
 find / -name mysql 
 # 出来一堆列表 
 # 一个一个删除就ok
3

 

1

 find / -name mysql

2

 # 出来一堆列表

3

 # 一个一个删除就ok

二、安装前的准备

(1)安装mysql之前需要确保系统中有libaio依赖
yum search libaio  
yum install libaio 
2

 

1

yum search libaio 

2

yum install libaio 

(2)下载安装包(tar.gz的包,非rpm和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
4

 

1

cd /usr/

2

mkdir database

3

cd database

4

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

(3)解压
tar -zxvf mysql-5.7.22-el7-x86_64.tar.gz  
mv mysql-5.7.22-el7-x86_64 mysql5.7 #重命名为mysql5.7
2

 

1

tar -zxvf mysql-5.7.22-el7-x86_64.tar.gz 

2

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

三、安装

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

 

1

#添加用户组

2

groupadd mysql

3

#添加用户mysql 到用户组mysql(使用-r参数表示mysql用户是一个系统用户,不能登录)

4

useradd -r -g mysql mysql

5

#添加完用下面命令测试,能看到mysql用户的信息

6

id mysql

(2)手动创建MySQL data目录
cd /usr/database/mysql5.7/ 
mkdir data
2

 

1

cd /usr/database/mysql5.7/

2

mkdir data

(3)目录权限设置
将mysql及其下所有的目录所有者和组均设为mysql 
	chown -R mysql:mysql /usr/database/mysql5.7/ 
查看是否设置成功,执行下面命令,可以看到文件的所有者和组都变成了mysql 
	cd /usr/database/ 
	ll 
结果中出现:drwxr-xr-x 10 mysql mysql      4096 Jul  3 13:57 mysql5.7
6

 

1

将mysql及其下所有的目录所有者和组均设为mysql

2

    chown -R mysql:mysql /usr/database/mysql5.7/

3

查看是否设置成功,执行下面命令,可以看到文件的所有者和组都变成了mysql

4

    cd /usr/database/

5

    ll

6

结果中出现:drwxr-xr-x 10 mysql mysql      4096 Jul  3 13:57 mysql5.7

(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			# 创建新表时将使用的默认存储引擎
x
 

1

rm -rf /etc/my.cnf

2

vim /etc/my.cnf

3

#此文件内容如下(路径根据自己的实际情况):

4

[client]

5

port = 3306

6

socket = /tmp/mysql.sock

7

8

[mysqld]

9

init-connect='SET NAMES utf8'

10

basedir=/usr/database/mysql5.7              #根据自己的安装目录填写 

11

datadir=/usr/database/mysql5.7/data     #根据自己的mysql数据目录填写

12

socket=/tmp/mysql.sock

13

max_connections=200             # 允许最大连接数

14

character-set-server=utf8           # 服务端使用的字符集默认为8比特编码的latin1字符集

15

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
5

 

1

/usr/database/mysql5.7/bin/mysqld --initialize-insecure --user=mysql  --basedir=/usr/database/mysql5.7 --datadir=/usr/database/mysql5.7/data

2

#注意:mysqld --initialize-insecure初始化后的mysql是没有密码的

3

#重新修改下各个目录的权限

4

chown -R root:root /usr/database/mysql5.7/      #把安装目录的目录的权限所有者改为root

5

chown -R mysql:mysql /usr/database/mysql5.7/data/   #把data目录的权限所有者改为mysql

(6)启动mysql
/usr/database/mysql5.7/bin/mysqld_safe --user=mysql &
1

 

1

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

(7)修改密码
 cd /usr/database/mysql5.7/bin/ 
 ./mysql -u root -p	# 默认没有密码,直接敲回车就可以 
 use mysql; 
 update user set authentication_string=password('这里填你设置的密码') where user='root'; 
 flush privileges; 
 exit;
6

1

 cd /usr/database/mysql5.7/bin/

2

 ./mysql -u root -p # 默认没有密码,直接敲回车就可以

3

 use mysql;

4

 update user set authentication_string=password('这里填你设置的密码') where user='root';

5

 flush privileges;

6

 exit;

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

 

1

cd /usr/database/mysql5.7/bin/

2

./mysql mysql -u root -p

3

输入密码后,应该就连接上了

4

show databases;

5

exit; #退出

(9)copy启动脚本并将其添加到服务且设置为开机启动
#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服务
12

 

1

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

2

cp /usr/database/mysql5.7/support-files/mysql.server  /etc/init.d/mysql

3

#添加服务

4

chkconfig --add mysql   

5

# 显示服务列表

6

chkconfig --list    

7

# 开机启动

8

chkconfig --level 345 mysql on

9

# 测试添加的服务是否能用

10

service mysql status #查看状态

11

service mysql start  #启动mysql服务

12

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,修改方法这里就不提了,网上很多资料
9

 

1

    在mysql的bin目录下执行:mysql -uroot -p密码 登陆到数据:

2

    执行:use mysql;

3

    执行:select host,user from user;

4

        可以看到user为root,host为localhost的话,说明mysql只允许本机连接,那么外网,本地软件客户端就无法连接了。

5

    调整方法:

6

        执行:update user set host='%' where user ='root';

7

        执行刷新:flush privileges;

8

    OK!现在可以访问了!

9

    如果还访问不了,那可能是防火墙问题,修改下防火墙就ok,修改方法这里就不提了,网上很多资料

五、相关说明

(1)mysql服务的启动和停止命令
	service mysql status #查看状态 
	service mysql start  #启动mysql服务 
	service mysql stop   #停止mysql服务
3

 

1

    service mysql status #查看状态

2

    service mysql start  #启动mysql服务

3

    service mysql stop   #停止mysql服务

(2)怎么在Linux中登录mysql
 #进入mysql安装目录的bin目录,然后输入以下命令 
 ./mysql -u root -p 
 #然后输入密码就登录成功 
	 
 exit;#退出mysql
 

1

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

2

 ./mysql -u root -p

3

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

4

    

5

 exit;#退出mysql

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/tech/aiops/6552.html

(0)
上一篇 2021年7月16日 23:32
下一篇 2021年7月16日 23:32

相关推荐

发表回复

登录后才能评论