1系统约定
Linux版本:centos6.5
mysql版本:mysql5.7
安装文件下载目录:/opt/software
Mysql目录安装位置:/usr/local/mysql
数据库保存位置:/opt/data/mysql/data
日志保存位置:/opt/data/mysql/log
2.下载mysql,解压,并拷贝到安装目录
http://dev.mysql.com/downloads/mysql/
下载的包是:mysql-5.7.25-linux-glibc2.12-x86_64.tar
对其进行解压:tar -xvf mysql-5.7.25-linux-glibc2.12-x86_64.tar
得到两个压缩包:mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz 和 mysql-test-5.7.25-linux-glibc2.12-x86_64.tar.gz
解压gz安装包:tar -zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
重命名解压的安装包:mv mysql-5.7.25-linux-glibc2.12-x86_64 mysql
复制安装包到安装目录:cp -rf mysql /usr/local/
3.创建数据仓库目录并配置权限
创建目录:
新建mysql用户、组及目录:
useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql ---新建msyql用户禁止登录shell
如果提示useradd: group 'mysql' does not exist,可以通过下面的命令添加组,再重新执行上面的命令
groupadd -r mysql
改变安装目录所属:
给mysql用户数据仓库目录权限:
4.初始化mysql
cd /usr/local/mysql/bin/
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/opt/data/mysql/data --socket=/opt/data/mysql/mysql.sock --log-error=/opt/data/mysql/log/error.log --pid-file=/opt/data/mysql/mysql.pid --tmpdir=/opt/data/mysql/tmp
注意:上面命令等号前后没有空格
注意,上面命令对应my.cnf配置:
basedir = /usr/local/mysql
datadir = /opt/data/mysql/data
socket = /opt/data/mysql/mysql.sock
log-error = /opt/data/mysql/log/error.log
pid-file = /opt/data/mysql//mysql.pid
user = mysql
tmpdir = /opt/data/mysql/tmp
注意保存生成的临时密码,如上图为:0a.FmxaQdcqZ
注意:上图执行的命令并不是前面给出的,前面给出的是完整命令,按照上图命令执行后来出现错误,这里留下此图只是为了说明临时密码和执行位置,上图的内容有可能没有输出(本人修正错误时就是如此),但可以去指定的log-error文件中查看
5.修改系统配置文件
cd /usr/local/mysql/support-files
cp mysql.server /etc/init.d/mysql
修改配置文件/etc/init.d/mysql以下内容:
vi /etc/init.d/mysql
修改my.cnf,如果没有这个文件,可以添加,内容修改如下:
[mysqld]
basedir = /usr/local/mysql
datadir = /opt/data/mysql/data
socket = /opt/data/mysql/mysql.sock
log-error = /opt/data/mysql/log/error.log
pid-file = /opt/data/mysql//mysql.pid
user = mysql
tmpdir = /opt/data/mysql/tmp
[client]
socket = /opt/data/mysql/mysql.sock
注意:上面两个socket要一致,否则登录时会报错:Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
6.启动mysql,登录,修改密码
# /etc/init.d/mysql start
--登陆
# mysql -hlocalhost -uroot -p
--如果出现:-bash: mysql: command not found
--就执行: # ln -s /usr/local/mysql/bin/mysql /usr/bin --没有出现就不用执行
--输入前面生成的临时密码
--修改密码
mysql> set password=password('root');
--设置root账户的host地址(修改了才可以远程连接)
mysql>grant all privileges on *.* to 'root'@'%' identified by 'root';
mysql>flush privileges;
--查看表
mysql> use mysql;
mysql> select host,user from user;
--这里就可以使用远程连接测试了;
有时时间间隔久了初始临时密码会失效,登录时报以下错误:
Your password has expired. To log in you must change it using a client that supports expired passwords.
解决办法:
进入安装bin目录
[root@localhost bin]# ./mysqladmin -uroot -p password
Enter password: //这里输入上面的v:gNXSw5FTkw
New password: //重新输入新密码
Confirm new password: //重新输入新密码
问题解决!
7.自制镜像安装包
个人比较懒,需要在多台机器安装,不想逐一安装,想把安好的拷贝到其他环境运行,自作一个镜像包,并编写安装脚本
制作流程:
#创建打包目录
cd /opt/
mkdir mysql5.7-mirror-installer
cd mysql5.7-mirror-installer/
mkdir software
mkdir data
mkdir config
#打包安装目录
cd cd /usr/local/
zip -r mysql.zip mysql
mv mysql.zip /opt/mysql5.7-mirror-installer/software/
#打包data目录
cd /opt/data/
zip -r mysql.zip mysql
mv mysql.zip /opt/mysql5.7-mirror-installer/data/
#打包配置文件
cd /opt/mysql5.7-mirror-installer/config/
cp /etc/init.d/mysql ./
cp /etc/my.cnf ./
#编写安装脚本
安装脚本内容见后面install.sh
#赋予脚本权限
chmod 777 install.sh
install.sh内容:
1 #!/bin/sh 2 echo "====解压安装目录并复制到指定目录(/usr/local/)====" 3 cd software/ 4 rm -rf mysql 5 unzip mysql.zip 6 rm -rf /usr/local/mysql 7 cp -rf mysql /usr/local/ 8 cd .. 9 10 echo "====解压data目录并复制到指定目录(/opt/data/)====" 11 cd data/ 12 mkdir /opt/data 13 rm -rf mysql 14 unzip mysql.zip 15 rm -rf /opt/data/mysql 16 cp -rf mysql /opt/data/ 17 cd .. 18 19 echo "====解压配置文件====" 20 cd config/ 21 cp mysql /etc/init.d/ 22 cp my.cnf /etc/ 23 24 echo "====创建用户并授权====" 25 groupadd -r mysql 26 useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql 27 chown -R mysql /usr/local/mysql 28 chgrp -R mysql /usr/local/mysql 29 chown -R mysql /opt/data/mysql 30 chgrp -R mysql /opt/data/mysql 31 chown -R mysql /etc/init.d/mysql 32 chgrp -R mysql /etc/init.d/mysql 33 chown -R mysql /etc/my.cnf 34 chgrp -R mysql /etc/my.cnf 35 ln -s /usr/local/mysql/bin/mysql /usr/bin 36 37 echo “====启动mysql(命令:/etc/init.d/mysql start)====” 38 /etc/init.d/mysql start 39 40 echo “====安装成功,root初始密码abcdefg1123456”
使用方法:
1.安装mysql
上传到Linux环境后在上传目录:
解压:
unzip mysql5.7-mirror-installer.zip
进入解压目录:
cd mysql5.7-mirror-installer
安装:
sh install.sh
按照上面安装完成后可以在Linux环境本地使用,但windows远程连不了,需要执行下面的2、3两个操作
2.配置mysql
1)登录mysql
2)执行以下sql语句
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
3)退出mysql后重启mysql
/etc/init.d/mysql restart
3.配置防火墙,开放Linux的3306端口
1)进入编辑页面
vi /etc/sysconfig/iptables
2)在指定位置新增以下配置
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
这句要放在 -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT 后面
3)修改完保存退出,重启网卡服务
service iptables restart
4)查看端口开放信息
service iptables status