如何通过命令行打开mysql数据库

如何通过命令行打开mysql数据库,第1张

使用命令行连接MySQL数据库

Windows操作系统下,开始——运行,打开"运行"对话框,输入cmd,点击“确定”即可进入DOS窗口。

DOS窗口输入登录MySQL数据库命令

mysql -h 127001 -u root -p

命令参数说明:

mysql是登录数据库的命令,-h 后面跟服务器的IP,由于本示例MySql服务器安装在本地,因此IP地址为127001;-u 后面跟用户名,本示例采用 root用户登录;-p 后面跟登录密码。

输入上述命令后回车,再输入登录密码,在回车即可完成登录MySQL数据库服务了。跟着可以运行use databaseName语句操作某个数据库了

前置条件:

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。

原因是phpmyadmin目录中configincphp配置的用户名和密码错误。

你先查看一下configincphp是不是有下面这2行:

$cfg['Servers'][$i]['user'] = '你的数据库账号';

$cfg['Servers'][$i]['password'] = '你的数据库密码'; 

更改为正确的用户名和密码就能"自动登录"phpmyadmin了,如果想取消"自动登录"功能,删除这2行即可。

phpstudy特别注意 

1 为了减少出错安装路径不得有汉字,如有防火墙开启,会提示是否信任httpd、mysqld运行,请选择全部允许。

2 此为apache+php方案,需要Nginx+php方案的请到官网下载phpfind,Lighttpd+PHP方案下载phpLight

3 重装系统后或相关服务丢失时,只需要点一下『运行模式-应用』即可。

4 可通过菜单『卸载相关服务』进行卸载相关服务。

5 在『启动』、『停止』、『重启』三个启停按钮上右键可以有选择地进行启停,左键将控制全部的启停。

6 菜单『phpStudy 设置』可以进行php,apche,mysql的相关设置。菜单『站点域名设置』可以进行站点及域名的添加。

7 本程序分为安装版和非安装版,无论是安装还是免安装,最后的效果完全一致。

8 端口问题无法启动时,请使用菜单『强制启动端口』进行端口检测,尝试启动。

如果不是root密码:

连root的密码也忘记了吗?

没有的话,用root进去,修改mysql数据库user表咯。

如果是root密码:

方法一:

MySQL提供跳过访问控制的命令行参数,通过在命令行以此命令启动MySQL服务器: 

safe_mysqld --skip-grant-tables& 

即可跳过MySQL的访问控制,任何人都可以在控制台以管理员的身份进入MySQL数据库。 

需要注意的是在修改完密码以后要把MySQL服务器停掉重新启动才会生效

方法二:

可以进行如下的步骤重新设置MySQL的root密码: 

1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。 

因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的 

状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对 

外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全 

状态。最安全的状态是到服务器的Console上面操作,并且拔掉网线。 

2.修改MySQL的登录设置: 

# vi /etc/mycnf 

在[mysqld]的段中加上一句:skip-grant-tables 

例如: 

[mysqld] 

datadir=/var/lib/mysql 

socket=/var/lib/mysql/mysqlsock 

skip-name-resolve 

skip-grant-tables 

保存并且退出vi。 

3.重新启动mysqld 

# /etc/initd/mysqld restart 

Stopping MySQL: [ OK ] 

Starting MySQL: [ OK ] 

4.登录并修改MySQL的root密码 

# /usr/bin/mysql 

Welcome to the MySQL monitor Commands end with ; or \g 

Your MySQL connection id is 3 to server version: 32356 

Type ‘help;’ or ‘\h’ for help Type ‘\c’ to clear the buffer 

mysql> USE mysql ; 

Reading table information for completion of table and column names 

You can turn off this feature to get a quicker startup with -A 

Database changed 

mysql> UPDATE user SET Password = password ( ‘new-password’ ) WHERE User = ‘root’ ; 

Query OK, 0 rows affected (000 sec) 

Rows matched: 2 Changed: 0 Warnings: 0 

mysql> flush privileges ; 

Query OK, 0 rows affected (001 sec) 

mysql> quit 

Bye 

5.将MySQL的登录设置修改回来 

# vi /etc/mycnf 

将刚才在[mysqld]的段中加上的skip-grant-tables删除 

保存并且退出vi。 

6.重新启动mysqld 

# /etc/initd/mysqld restart 

Stopping MySQL: [ OK ] 

Starting MySQL: [ OK ] 

windows 

以系统管理员身份登陆系统。 

2打开cmd—–net start 查看mysql是否启动。启动的话就停止net stop mysql 

3我的mysql安装在d:\usr\local\mysql4\bin下。 

4跳过权限检查启动mysql 

d:\usr\local\mysql4\bin\mysqld-nt –skip-grant-tables 

5重新打开cmd。进到d:\usr\local\mysql4\bin下: 

d:\usr\local\mysql4\bin\mysqladmin -uroot flush-privileges password “newpassword” 

d:\usr\local\mysql4\bin\mysqladmin -u root -p shutdown 这句提示你重新输密码。 

6在cmd里net start mysql 

7搞定了。 

2,MySQL41以上版本一种密码错误问题的解决方法 

1 # SET PASSWORD FOR ’some_user’@’some_host’ = OLD_PASSWORD(‘newpwd’);   

2 # FLUSH PRIVILEGES;  

3,Mysql数据库修复 

myisamchk -r -q d:\mysql\data\latin1\ 

r代表修复 

q代表快速 

d:\mysql\data\latin1\数据库里面 代表里面的所有的文件  

方法三:

如果你忘记了你的MYSQL的root口令的话,你可以通过下面的过程恢复。

1 向mysqld server 发送kill命令关掉mysqld server(不是 kill -9),存放进程ID的文件通常在MYSQL的数据库所在的目录中。

kill `cat /mysql-data-directory/hostnamepid`

你必须是UNIX的root用户或者是你所运行的SERVER上的同等用户,才能执行这个操作。

2 使用`--skip-grant-tables' 参数来启动 mysqld。

3 使用`mysql -h hostname mysql'命令登录到mysqld server ,用grant命令改变口令。你也可以这样做:`mysqladmin -h hostname -u user password 'new password''。

(其实也可以用use mysql; update user set password =password('yourpass') where user='root' 来做到。)

4 载入权限表: `mysqladmin -h hostname flush-privileges' ,或者使用 SQL 命令`FLUSH PRIVILEGES'。(当然,在这里,你也可以重启mysqld。)

方法四:(一定要先备份)

1,重新在另一台电脑上安装相同版本的MySQL

2,删除忘记密码的电脑中MySQL安装目录中\data\mysql的全部内容(要先停止MySQL服务)

3,Copy新装的电脑上MySQL安装目录中\data\mysql的全部内容 to 刚刚删除的目录中

4,启动MySQL服务

这样就只有一个root用户了,密码为空……

mysql命令行登录步骤如下:

步骤1:

在桌面选择“这台电脑”的图标,右键-->属性-->点击“高级系统设置”-->点击“环境变量”。

步骤2:

新建MYSQL_HOME变量,并将值设置为C:\Program Files\MySQL\MySQL Server 55 。

步骤3:

编辑Path系统变量:在系统变量里,找到Path变量,点击编辑按钮。将;%MYSQL_HOME%\bin添加到path变量(一般放在最后面),注意如果前面有还有其他的配置,一定要在前面加上英文的分号(半角)。

MYSQL_HOME不是必须的,为了以后mysql重新安装到其他目录下的更改方便,毕竟Path系统变量比较多,修改容易出错,因此也可直接在Path变量中添加:

C:\Program Files\MySQL\MySQL Server 55\bin(具体路径需要根据mysql安装位置确定)

步骤4:打开开始-运行输入cmd单击确定后出现CMD命令黑色窗口。

这就是我们说的CMD命令行,或者使用快捷键Windows键(在键盘上有个Windows标志的按键)+R输入cmd后回车。

步骤5:

在CMD命令窗口敲入命令 mysql -hlocalhost -uroot -p 回车确认,输入密码即可登录。

-h:后面接的是mysql所在的服务,localhost表示服务器在本机。

-u:表示mysql数据的登录名,当前使用的登录名是root。

-p:表示用户密码。

步骤6:登录成功展示图

开启 MySQL 的远程登陆帐号有两大步:

1、确定服务器上的防火墙没有阻止 3306 端口。

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

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

如果不知道怎样设置您的服务器上的防火墙,请向您的服务器管理员咨询。

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

1)首先以 root 帐户登陆 MySQL

在 Windows 主机中点击开始菜单,运行,输入“cmd”,进入控制台,MySQL 的 bin 目录下,然后输入下面的命令。

在 Linux 主机中在命令提示行下输入下面的命令。

> MySQL -uroot -p123456

 123456 为 root 用户的密码。

2)创建远程登陆用户并授权

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

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

下面逐一分析所有的参数:

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

discuz 表示上面的权限是针对于哪个表的,discuz 指的是数据库,后面的  

表示对于所有的表,由此可以推理出:对于全部数据库的全部表授权为“”,对于某一数据库的全部表授权为“数据库名”,对于某一数据库的某一表授

权为“数据库名表名”。

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

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

123456 为用户的密码。

执行了上面的语句后,再执行下面的语句,方可立即生效。

> flush privileges;

远程登录mysql一些常用的代码段,大家可参考一下。

一、允许root用户在任何地方进行远程登录,并具有所有库任何操作权限,具体操作如下: 

在本机先使用root用户登录mysql: 

mysql -u root -p"youpassword" 

进行授权操作: 

mysql>GRANT ALL PRIVILEGES ON  TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION; 

重载授权表: 

FLUSH PRIVILEGES; 

退出mysql数据库: 

exit 

  

二、允许root用户在一个特定的IP进行远程登录,并具有所有库任何操作权限,具体操作如下: 

在本机先使用root用户登录mysql: 

mysql -u root -p"youpassword" 

进行授权操作: 

GRANT ALL PRIVILEGES ON  TO root@"1721616152" IDENTIFIED BY "youpassword" WITH GRANT OPTION; 

重载授权表: 

FLUSH PRIVILEGES; 

退出mysql数据库: 

exit 

  

三、允许root用户在一个特定的IP进行远程登录,并具有所有库特定操作权限,具体操作如下: 

在本机先使用root用户登录mysql: 

mysql -u root -p"youpassword" 

进行授权操作: 

GRANT select,insert,update,delete ON  TO root@"1721616152" IDENTIFIED BY "youpassword"; 

重载授权表: 

FLUSH PRIVILEGES; 

退出mysql数据库: 

exit 

  

四、删除用户授权,需要使用REVOKE命令,具体命令格式为: 

REVOKE privileges ON 数据库[表名] FROM user-name; 

具体实例,先在本机登录mysql: 

mysql -u root -p"youpassword" 

进行授权操作: 

GRANT select,insert,update,delete ON TEST-DB TO test-user@"1721616152" IDENTIFIED BY "youpassword"; 

再进行删除授权操作: 

REVOKE all on TEST-DB from test-user; 

注:该操作只是清除了用户对于TEST-DB的相关授权权限,但是这个“test-user”这个用户还是存在。 

最后从用户表内清除用户: 

DELETE FROM user WHERE user="test-user"; 

重载授权表: 

FLUSH PRIVILEGES; 

退出mysql数据库: 

exit

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何通过命令行打开mysql数据库

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情