mysql离线安装部署centos
# 1. Mysql单机安装
前提:切换用户命令 su root
## 1.1 卸载系统自带的mysql
### 1.1.1查看已安装的mysql
```
[root@localhost ~]# rpm -qa|grep -i mysql
[root@localhost ~]# rpm -qa|grep mariadb
mariadb-libs-5.5.44-2.el7.centos.x86_64
```
### 1.1.2卸载已安装mysql
```
[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64
```
### 1.1.3删除etc目录下的my.cnf文件
```
[root@localhost ~]# rm -rf /etc/my.cnf
```
## 1.2 安装mysql
### 1.2.1创建mysql用户组
```
[root@localhost ~]# groupadd mysql
```
### 1.2.2创建一个用户名为mysql的用户并加入mysql用户组
```
[root@localhost ~]# useradd -g mysql mysql
```
==安装包路径:/usr/local/src/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz==
### 1.2.3解压mysql-5.6.38-linux-glibc2.12-x86_64.tar.gz
```
[root@localhost ~]# tar zxvf /usr/local/src/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
```
### 1.2.4移动到/usr/local/mysql
```
[root@localhost ~]# mv ./mysql-5.6.33-linux-glibc2.5-x86_64 /usr/local/mysql
```
### 1.2.5在etc下新建配置文件my.cnf,并在该文件内添加以下代码
```
[root@localhost ~]# vi /etc/my.cnf
```
==输入i进行插入,粘贴下面的内容,然后按Esc键,输入:wq回车保存退出==
==输入以下内容==:
[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
[mysqld]
skip-name-resolve
#设置3306端口
port=3306
socket=/var/lib/mysql/mysql.sock
#设置mysql的安装目录
basedir=/usr/local/mysql
#设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
log-error = /usr/local/mysql/data/error.log
pid-file = /usr/local/mysql/data/mysql.pid
#允许最大连接数
max_connections=200
#服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
#创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
### 1.2.6 进入安装mysql软件目录
```
[root@localhost ~]# cd /usr/local/mysql/
```
==修改当前目录拥有着为mysql用户==
```
[root@localhost mysql]# chown -R mysql:mysql ./
```
==离线安装perl-module==
==perl路径位置:/usr/local/src/perl-Data-Dumper-2.145-3.el7.x86_64.rpm==
安装perl
```
[root@localhost mysql]# rpm -ivh /usr/local/src/perl-Data-Dumper-2.145-3.el7.x86_64.rpm
```
安装数据库
```
[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
[root@localhost mysql]# chown -R mysql:mysql data
```
## 1.3 配置mysql
### 1.3.1 授予my.cnf最大权限
```
[root@localhost mysql]# chown 777 /etc/my.cnf
```
### 1.3.2设置开机启动
复制启动脚本到资源目录
```
[root@localhost mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
```
增加mysqld服务控制脚本执行权限
```
[root@localhost mysql]# chmod +x /etc/rc.d/init.d//mysqld
```
### 1.3.3将mysqld服务加入到系统服务
```
[root@localhost mysql]# chkconfig --add mysqld
```
### 1.3.4检查mysqld服务是否已经生效
```
[root@localhost mysql]# chkconfig --list mysqld
```
Note: This output shows SysV services only and does not include native
systemd services. SysV configuration data might be overridden by native
systemd configuration.
If you want to list systemd services use 'systemctl list-unit-files'.
To see services enabled on particular target use
'systemctl list-dependencies [target]'.
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
表明mysqld服务已经生效,在2、3、4、5运行级别随系统启动而自动启动,以后可以使用service命令控制mysql的启动和停止
```
[root@localhost mysql]# service mysqld start
```
Starting MySQL..... SUCCESS!
### 1.3.5将mysql的bin目录加入PATH环境变量,编辑 ~/.bash_profile文件
在文件最后添加如下信息:
export PATH=$PATH:/usr/local/mysql/bin
```
[root@localhost mysql]# vim ~/.bash_profile
```
### 1.3.6生效上述配置
```
[root@localhost mysql]# source ~/.bash_profile
```
### 1.3.7以root账户登录mysql,输入如下命令,并回车
```
[root@localhost mysql]# service mysqld restart
```
Shutting down MySQL.. SUCCESS!
Starting MySQL.. SUCCESS!
```
[root@localhost mysql]# mysql -uroot -p
```
==以下输入密码这个直接回车==
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.33 MySQL Community Server (GPL)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
### 1.3.8 设置root账户密码为root
```
mysql> use mysql;
mysql> update user set password=password('root') where user='root' and host='localhost';
mysql> flush privileges;
```
### 1.3.9 删除冗余host
```
mysql> delete from user where password='';
```
### 1.3.10 设置远程访问
```
mysql> update user set host='%';
mysql> quit
```
# 2. 添加防火墙例外(mysql的3306端口)
## 2.1添加3306端口例外:
```
[root@localhost mysql]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
```
## 2.2重启防火墙:
```
[root@localhost mysql]# firewall-cmd --reload
```
# 3.测试连接
## 3.1重启mysql:
```
[root@localhost mysql]# service mysqld restart
```
浙公网安备 33010602011771号