centos7本地安装mysql(CentOS7离线安装mysql超细步骤)
centos7本地安装mysql(CentOS7离线安装mysql超细步骤)把下载的文件导入到要安装的服务器上,然后用 MobaXterm 或者其它软件上传到 linux 的服TAR:mysql-5.7.30-linux-glibc2.12-x86_64.tar,大约 660.2MProduct Version:5.7.30Operating System:linux-GenericOS Version:Linux-Generic(glibc 2.12) (x86 64-bit)
由于许多公司的服务器不能接入互联网,所以需要离线安装 mysql
一、网上下载 mysql 的 tar 包
https://downloads:mysql.com/archives/community/
我们下载的是
Product Version:5.7.30
Operating System:linux-Generic
OS Version:Linux-Generic(glibc 2.12) (x86 64-bit)
TAR:mysql-5.7.30-linux-glibc2.12-x86_64.tar,大约 660.2M
把下载的文件导入到要安装的服务器上,然后用 MobaXterm 或者其它软件上传到 linux 的服
务器的/usr/local 目录下。
为什么要传到/usr/local 下面呢?因为 mysql 有一个启动脚本,默认路径是/usr/local 下面,
所以为了简单方便,把文件放置到这个位置。
二、修改权限
2.1 修改执行权限
为了安装方便对文件赋予最大权限
#chmod 777 mysql-5.7.30-linux-glibc2.12-x86_64.tar
2.2 解压
2.2.1
tar –xvf mysql-5.7.30-linux-glibc2.12-x86_64.tar
其中,x 是解压文件,v 是压缩或解压过程中,显示出来过程,f 后面跟要处理的文件,还有
一个大写的 C 是解压到指定的目录下(本次没有用到这个参数)。
解压出来如下 2 个包
2.2.2
再解压 mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz 文件
#tar –zxvf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz,把文件解压到当前目录
其中 z 是通过 gzip 方式压缩或解压,最后以 tar.gz 为后缀。
现在发现在/usr/local/下面多了一个包是 mysql-5.7.30-linux-glibc2.12-x86_64,
2.2.3
重命名为 mysql,主要是为了以后配置方便
#mv mysql-5.7.30-linux-glibc2.12-x86_64 mysql
查看刚才长目录变成现在的 mysql
三、查看系统自带的 Mariadb 并卸载
3.1 在 CentOs7 中自带了 Mariadb 数据库,需要把他删除掉。
# rpm –qa|grep mariadb
-q 是查询一个包是否被安装,-qa 是列出所有被安装的 rpm 包,grep 是过滤包含 mariadb 的
包。
如果有会在下面显示,如果没有就不显示
如果有可以用下面的命令删除
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64(根据实际情况复制 rpm 包)
其中-e 是删除包,--nodeps 是不检查依赖
3.2 删除/etc 目录下的 my.cnf(有就删除)
#rm /etc/my.cnf
因为这个是 mysql 的配置文件,如果存在,会影响到现在的 mysql,所以要删除,如果没有,
当然就不用删除咯。
3.3 检查 mysql 是否存在
为了正确的安装,再次检查 mysql rpm 安装包是否存在
# rpm -qa|grep mysql
检查结果没有 rpm 安装包,方便安装。
四、检查 mysql 的组和用户是否存在,如无则创建
4.1 检查用户和组
#cat /etc/group | grep mysql
#cat /etc/passwd | grep mysql
以上是没有这个用户和这个组的情况
以上有这个用户和这个组的情况
4.2 如果有,则不用创建
本次没有,所有需要用命令进行创建
添加用户组
#groupadd mysql
查看 mysql 用户组
#cat /etc/group | grep mysql
在 mysql 组中添加用户
#useradd –g mysql mysql
设置用户 mysql 的登录密码
#passwd mysql
查看 mysql 用户
#cat /etc/passwd | grep mysql
创建系统 mysql 用户组合用户成功。
五、将减压后的 mysql 的安装包更改用户和组为 mysql
#chown –R mysql:mysql mysql/
-R 的意思是递归,更改目录的文件夹和文件都进行更改,第一个 mysql 是组,第二个 mysql
是用户,第三个 mysql 是目录
在 mysql 目录下的所有文件的权限和组均改为了 mysql
在 mysql 目录下创建 data 目录并修改用户组和用户权限都为 mysql
#cd /usr/local/mysql
#mkdir data
#chown –R mysql:mysql data
mysql 的数据存放到 data 目录下,如果实际环境该数据特别大的时候,应该把该目录放置到
单独一块盘上。
六、在/etc 下创建 my.cnf 文件
这个是 mysql 的配置文件,有的安装方式是修改/etc/my.cnf 文件,我们在这里是删除了该文
件,在 mysql 下面创建了 my.conf 文件,作用是一样的。
#cd /usr/local/mysql
#vim my.conf
[mysql]
socket=/var/lib/mysql/mysql.sock
chararterdefault-chararter-set=Utf8
[mysqld]
socket=/var/lib/mysql/mysql.sock
port=3323
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
max_connections=200
chararter-set-server=utf8
default-storage-engine=INNODEB
lower_case_table_names=1
max_allowed_packet=16M
explicit_defaults_for_timestamp=true
[mysql.server]
user=mysql
basedir=/usr/local/mysql
这是一个简单的参数配置,有许多可以优化的地方,需要根据实际情况设置。
修改 my.conf 权限和属性
#chown -R mysql:mysql my.conf
#chmod 777 my.conf
七、进入 mysql 文件夹,安装 mysql
# cd /usr/local/mysql
# bin/mysql_install_db --user=mysql --basedir=/usr/loacal/mysql --datadir=/usr/local/mysql/data
上面没有报错,安装成功,警告部分不用管。
# cp ./support-files/mysql.server /etc/init.d/mysqld //设置 mysql 的启动脚本,此时目录在
mysql 下面。
查看 mysql.server 文件位置
查看 mysql.server 文件内容
10 / 15
从配置文件中可以看到 basedir 的目录,datadir 的目录,就是我们之前设置的/usr/local 的目
录。
[root@shell init.d]# chmod a x /etc/init.d/mysqld //给 mysql 用户添加可执行权限
八、配置环境变量
# vim /etc/profile
export PATH=$PATH:/usr/local/mysql/bin
11 / 15
# source /etc/profile //使环境变量马上生效
配置环境变量主要是每次启动后可以执行 mysql 下的内容,如果不配置,就需要切换到 mysql
目录下去执行这个命令。Vim 编辑的时候用 shift gg 跳到文件末尾,按 o 键,跳到下一行,
并且直接编辑。不在命令行模式下,用 shift gg 保存并退出。
九、启动 mysql
# service mysqld start
查看状态
[root@shell data]# service mysqld status
十、登录 mysql 并设置基础环境
获取初始密码
[root@shell data]# cat /root/.mysql_secret
JCI8mr0tC)1i
12 / 15
登录
[root@shell data]# mysql -u root -p(输入刚才查询到的密码)
更改密码:
mysql> set PASSWORD=PASSWORD('123456');
刷新保存配置
mysql> flush privileges;
ctrl Z 退出
验证密码修改是否成功
[root@shell data]# mysql -u root -p
Enter password:
输入 123456,回车
至此,数据的安装完毕。
设置 root用户远程登录
mysql> grant all on *.* to root@'%' identified by '123456';
13 / 15
补充: all privileges:表示把所有权限授予给用户。也可以指定具体的权限,如:
select create drop 等。
on :表示这些权限对那些数据库和表生效,格式:数据库名.表名,这里写"*"表示所有
数据库,所有表。如果我要指定把权限应用到 test 库的 user 表中,可以这么写:test.user
to:把权限授予那个用户。格式:"用户名"@"登录 IP 或域名"。%表示没有限制,在
任何主机都可以登录。比如 "yangxin"@"192.168.0.%" 表示 yangxin 这个用户只能在
192.168.0ip 段登录。
identified by:指定用户的登录密码
with grant option:表示允许用户把自己的权限授权给其他用户。
mysql> flush privileges;
查看有哪些数据库
mysql> show databases;
打开数据库 mysql
mysql> use mysql;
显示 mysql 数据库中的表
14 / 15
查询 user host 两个字段信息从 user 表中
mysql> select user host from user;
删除 root 用户的一个本地登录权限
mysql> delete from user where user='root' and host='localhost';
再次验证
mysql> select user host from user;
mysql> flush privileges;
15 / 15
退出 mysql
ctrl z
十一、重启 mysql
[root@shell data]# service mysqld restart