Linux下安装解压版(tar.gz)MySQL5.7
最近尝试在Linux中安装了解压版MySQL,期间查阅了许多博客。很多博客看得我很懵逼,因此记录下自己的安装过程,方便后续查阅。
环境说明:CentOs7.2
一、清理老的mysql
(1)卸载已有的mysql
查找以前是否装有mysql命令:
rpm -qa|grep -i mysql1
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
# 出来一堆列表
# 一个一个删除就ok3
1
find / -name mysql2
# 出来一堆列表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.gz4
1
cd /usr/2
mkdir database3
cd database4
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.72
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 mysql6
1
#添加用户组2
groupadd mysql3
#添加用户mysql 到用户组mysql(使用-r参数表示mysql用户是一个系统用户,不能登录)4
useradd -r -g mysql mysql5
#添加完用下面命令测试,能看到mysql用户的信息6
id mysql(2)手动创建MySQL data目录
cd /usr/database/mysql5.7/
mkdir data2
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.76
1
将mysql及其下所有的目录所有者和组均设为mysql2
chown -R mysql:mysql /usr/database/mysql5.7/3
查看是否设置成功,执行下面命令,可以看到文件的所有者和组都变成了mysql4
cd /usr/database/5
ll6
结果中出现: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.cnf2
vim /etc/my.cnf3
#此文件内容如下(路径根据自己的实际情况):4
[client]5
port = 33066
socket = /tmp/mysql.sock7
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.sock13
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目录的权限所有者改为mysql5
1
/usr/database/mysql5.7/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/database/mysql5.7 --datadir=/usr/database/mysql5.7/data2
#注意:mysqld --initialize-insecure初始化后的mysql是没有密码的3
#重新修改下各个目录的权限4
chown -R root:root /usr/database/mysql5.7/ #把安装目录的目录的权限所有者改为root5
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 -p3
输入密码后,应该就连接上了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.server2
cp /usr/database/mysql5.7/support-files/mysql.server /etc/init.d/mysql3
#添加服务4
chkconfig --add mysql 5
# 显示服务列表6
chkconfig --list 7
# 开机启动8
chkconfig --level 345 mysql on9
# 测试添加的服务是否能用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;#退出mysql1
#进入mysql安装目录的bin目录,然后输入以下命令2
./mysql -u root -p3
#然后输入密码就登录成功4
5
exit;#退出mysql
作者:zeng1994
出处:http://www.cnblogs.com/zeng1994/
本文版权归作者和博客园共有,欢迎转载!但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接!

浙公网安备 33010602011771号