本地如何操作服务器的mysql,详细教程

本地如何操作服务器的mysql,详细教程,第1张

前置条件:

1、在阿里云服务器de系统是win service 2012。

2、服务器里自己安装了my sql 57

3、本地也安装了my sql 57

 

需求:想通过本地的mysql连接上远程的服务器的mysql,这样自己在本地操作数据库比在服务器里数据库要好。

 

步骤:

一、增加允许远程连接 MySQL 用户 并授权。

在你安装路径下的bin文件夹里进行命令行的设置。

1、首先以 root 帐户登陆 MySQL

在服务器中打开命令行(shift+右键)

打开数据库管理员权限

mysql -uroot -p 123

我去,对应的是123是对应到数据库名。

果断改为

mysql -uroot -p

输入mysql的密码。

 

2、查看用户的权限

mysql> select host,user from user; (查看用户权限情况)

 

 

3、创建远程登录用户并授权

进入到服务器的命令行里

输入

use mysql

在输入

grant all PRIVILEGES on discuz to ted@'123123123123' identified by '123456';

上面的语句表示将 discuz 数据库的所有权限授权给 ted 这个用户,允许 ted 用户在 123123123123 这个 IP 进行远程登陆,并设置 ted 用户的密码为 123456 。

注意:

(1)all PRIVILEGES 表示赋予所有的权限给指定用户,这里也可以替换为赋予某一具体的权限,例如:select,insert,update,delete,create,drop 等,具体权限间用“,”半角逗号分隔。

(2)discuz 表示上面的权限是针对于哪个表的,discuz 指的是数据库,后面的 表示对于所有的表,由此可以推理出:对于全部数据库的全部表授权为“”,对于某一数据库的全部表授权为“数据库名”,对于某一数据库的某一表授 权为“数据库名表名”。

(3)ted 表示你要给哪个用户授权,这个用户可以是存在的用户,也可以是不存在的用户。

(4)123123123123 表示允许远程连接的 IP 地址,如果想不限制链接的 IP 则设置为“%”即可。

(5)123456 为用户的密码。

 

我最终使用的是把整个数据库的权限都ok,全部数据库的全部表,给root用户授权。没有设定远程连接IP地址。

 

4、执行更新权限(刷新权限)

flush privileges;

 

5、再一次查看数据库用户权限

mysql> select host,user from user; (再次查看用户的权限情况)

  

 

二、打开服务器上的防火墙阻止 3306 端口,可以公网访问。

 MySQL 默认的端口是 3306 ,需要确定防火墙没有阻止 3306 端口,否则远程是无法通过 3306 端口连接到 MySQL 的。

如果您在安装 MySQL 时指定了其他端口,请在防火墙中开启您指定的 MySQL 使用的端口号。

找到防火墙的允许的应用,打开数据库的公用和专用。

 

 

三、在本地建立服务器数据库连接

1、点击这个

 

2、数据里填上连接的名字,服务器IP,以及连接数据库的名字和密码

 

 3、点击configure server mangement

如果报这个错误,说明是服务器的3306端口与没有打开。

 

下面图连接成功

 

 选择SSH login。。。。

 

 

 输入服务器的公网IP和端口(我也不知道是啥端口我写的是本地跑的项目的本地接口)

 

 

 一路next就ok。

本例以本地服务器为 RHEL6/x64 系统,备份文件存储路径为 /home/mysql/ 为例。

下载云数据库 物理备份文件 并上传至目标服务器。备份文件获取方法请参见 下载备份数据。如果目标服务器可以访问源实例,您也可以使用 wget "url" 下载备份文件。其中 url 为备份文件下载地址。

切换路径到备份文件所在路径。

cd /home/mysql/

解压备份文件。

其中,filenametargz 为备份文件名。

tar vizxf filenametargz

检查解压后文件包含的数据库是否正确。

系统显示如下,其中 db0dz1rv11f44yg2、mysql 和 test 为云数据库中存在的数据库。

-rw-r--r-- 1 root root       269 Aug 19 18:15 backup-mycnf

drwxr-xr-x 2 root root      4096 Aug 21 10:31 db0dz1rv11f44yg2

-rw-rw---- 1 root root 209715200 Aug  7 10:44 ibdata1

drwxr-xr-x 2 root root      4096 Aug 21 10:31 mysql

drwxr-xr-x 2 root root      4096 Aug 21 10:31 test

-rw-r--r-- 1 root root        10 Aug 19 18:15 xtrabackup_binary

-rw-r--r-- 1 root root        23 Aug 19 18:15 xtrabackup_binlog_info

-rw-r--r-- 1 root root        77 Aug 19 18:15 xtrabackup_checkpoints

-rw-r--r-- 1 root root      2560 Aug 19 18:15 xtrabackup_logfile

-rw-r--r-- 1 root root        72 Aug 19 18:15 xtrabackup_slave_info

cd filename/

ll

恢复数据文件。

系统显示 innobackupex: completed OK!,则数据恢复成功。

innobackupex --defaults-file=/backup-mycnf --apply-log /

修改配置文件。将解压文件 backup-mycnf 中的 innodb_fast_checksum、innodb_page_size、innodb_log_block_size注释掉,并且添加 datadir=/home/mysql,如下所示。

# This MySQL options file was generated by innobackupex-151

# The MySQL Server

[mysqld]

innodb_data_file_path=ibdata1:200M:autoextend

innodb_log_files_in_group=2

innodb_log_file_size=524288000

#innodb_fast_checksum=0

#innodb_page_size=16364

#innodb_log_block_size=512

datadir=/home/mysql/

重装 MySQL 系统库,取得数据库的 root 权限。

系统显示如下,则 mysql 系统库重装成功。

Installing MySQL system table

OK

Filling help table

OK

rm -rf mysql

mysql_install_db --user=mysql --datadir=/home/mysql/

修改文件属主。

chown -R mysql:mysql /home/mysql/

启动 mysqld 进程。

mysqld_safe --defaults-file=/home/mysql/backup-mycnf &

使用客户端登录数据库。

mysql –u root –p

验证数据库是否完整。

系统显示入选,则数据库恢复成功。

+--------------------+

| Database           |

+--------------------+

| information_schema |

| db0dz1rv11f44yg2   |

| mysql              |

| performance_schema |

| test               |

+--------------------+

show databases;

阿里云是有root权限的,你可以在里面安装编译任何你需要的东西

数据库的安装也是 程序安装的一部分。mysql分windows版和linux版

这要看你的系统类型,如果需要帮手可以联系我的百度HI

1,要确定Mysql的路径,你要用find / -name 'mysql'来搜索相关路径,在bin之后都是可能的对象。

我觉得whereis 是搜索系统默认路径的,这里是由环境变量决定的。

2,查看现有Mysql程序的路径。确定Mysql开启了,没有开启,监控也没有意义。

然后:

# ps -ef |grep 'mysql'

这里就会显示出现有的Mysql的绝对路径。

然后进入此路径。查看其他执行程序是否也在。是的话。直接输入即可。

3,如果要环境变量认可,第一步找到真实的程序位置,然后Ln到上面where 出来的路径。

比如:

#mv /usr/bin/mysql /usr/bin/mysqlbak

#ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql

或者

添加现有的真实位置到环境变量里,当前用户和Root用户都可以。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 本地如何操作服务器的mysql,详细教程

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情