Linux 安装 mysql 与 mysql在Linux环境本地使用,但windows远程连不了问题处理

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

转载于:https://www.cnblogs.com/ShouWangYiXin/p/10597788.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值