Centos 6.9 安装和远程连接 mysql

我以centos6.9为例,然后我们需要准备的是下载mysql的安装包
有两种方式:
第一种是去官网下载
下载地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads
版本:5.6.42,通用版,linux 64位
Centos 6.9 安装和远程连接 mysql
第二种是使用wget命令直接下载
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
我这里使用的是第二种方式
[[email protected] /]# wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
把安装包移动到 /usr/local下面
[[email protected] /]# mv mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz /usr/local/
Centos 6.9 安装和远程连接 mysql
切换路径 cd /usr/local
解压安装包 [[email protected] local]# tar zxvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
Centos 6.9 安装和远程连接 mysql
将解压后的文件夹重命名为mysql
[[email protected] local]# mv mysql-5.6.33-linux-glibc2.5-x86_64 mysql
Centos 6.9 安装和远程连接 mysql
添加系统用户组和用户
groupadd mysql
useradd -r -g mysql mysql
进入mysql根目录: cd /usr/local/mysql
修改当前目录拥有者为mysql用户:chown -R mysql:mysql ./
安装数据库: ./scripts/mysql_install_db --user=mysql
修改当前目录拥有者为root用户: chown -R root:root ./
修改当前data目录拥有者为mysql用户:chown -R mysql:mysql data
然后我们移动 /usr/local/mysql/support-files/mysql.server 到 /etc/init.d并重命名为mysql,作为启动文件
[[email protected] mysql]# mv support-files/mysql.server /etc/init.d/mysql
启动服务
[[email protected] mysql]# /etc/init.d/mysql start
Centos 6.9 安装和远程连接 mysql
为了方便使用mysql来连接数据库
我们去配置一个环境变量
[[email protected] mysql]# vim /etc/profile
编辑按 i
在文件最后一行加上 export PATH=$PATH:/usr/local/mysql/bin
Centos 6.9 安装和远程连接 mysql
保存并退出 esc shift+zz
刷新配置文件 [[email protected] mysql]# source /etc/profile

至此,发现我们还不知道密码,只有绕过验证去修改一个了
编辑配置文件 vim /etc/my.cnf
编辑按 i
在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程
Centos 6.9 安装和远程连接 mysql
保持并退出 esc shift+zz
重启mysql服务
[[email protected] mysql]# /etc/init.d/mysql restart
使用root用户连接
[[email protected] mysql]# mysql -uroot -p
密码任意
Centos 6.9 安装和远程连接 mysql
报这个错是因为 /tmp下没有mysql.sock文件
百度了一番没找到一个好的解决办法,避免浪费时间,可以建立一个TCP/IP连接,因为这样它就不会使用套接字文件进行连接
mysql -uroot -h 127.0.0.1 -p
密码任意
Centos 6.9 安装和远程连接 mysql
出现这个界面表示连接成功
连接成功后选择数据库
mysql> use mysql;
mysql> update user set password=password(“你的新密码”) where user=“root”;
mysql> flush privileges;(//强制刷新)
mysql> quit(或者\q)
去掉刚才/etc/my.cnf文件中添加的 skip-grant-tables
保存后重启mysql服务
使用账号密码登录mysql
[[email protected] mysql]# mysql -uroot -h 127.0.0.1 -p
输入刚才设置的密码
登录成功
切换数据库 use mysql;
查询所有表 show tables;
其中user表中就记录了mysql数据库中所有用户的账号密码信息,但是密码是加密后的密文
我们可以输入查询语句看看
select host,user,password from user;
Centos 6.9 安装和远程连接 mysql
下面我来讲讲怎么设置远程连接这个数据库
第一种:指定ip连接
//授权用户表
mysql> GRANT ALL PRIVILEGES ON . TO ‘root’@‘192.168.124.188’ IDENTIFIED BY ‘root’ WITH GRANT OPTION;
mysql> flush privileges;
Centos 6.9 安装和远程连接 mysql
然后我们在看看user表中的数据
Centos 6.9 安装和远程连接 mysql
发现多了刚才授权的那个ip已经添加入库了
第二种:允许所有ip都能远程
//修改 localhost 为 %
mysql> update user set host=’%’ where host=‘localhost’;
//强制刷新
mysql> flush privileges;
最后关闭防火墙或者在防火墙中添加一个端口3306才能被访问
//关闭防火墙
service iptables stop
//查看防火墙状态
service iptables stop
//启动防火墙
service iptables start
先关闭防火墙用navicat连接试试
Centos 6.9 安装和远程连接 mysql
Centos 6.9 安装和远程连接 mysql
至此mysql数据库安装成功
在防火墙中添加端口就不多说了,在这篇文章中有提到
https://blog.****.net/xiaTianCsDN/article/details/82229519