windows命令行操作mysql

    技术2022-07-10  131

    文章目录

    1.windows命令行操作mysql1.1 登录mysql1.1.1 登录本地mysql1.1.2 登录远程mysql 1.2 常用命令1.2.1 显示数据库1.2.2 连接数据库;1.2.3 显示表1.2.4 显示当前时间1.2.5 显示用户的权限1.2.6 创建用户 1.3 远程登录配置

    1.windows命令行操作mysql

    1.1 登录mysql

    1.1.1 登录本地mysql

    1.以管理员身份打开doc窗口; 2.开启mysql服务,net start mysql; 对应的关闭服务命令为 net stop mysql。 相应linux上开启mysql:service mysql start;关闭服务:service mysql stop;重启服务:service mysql restart;

    C:\WINDOWS\system32>net start mysql 请求的服务已经启动。

    3.切换到mysql安装目录下的bin目录;

    C:\WINDOWS\system32>cd C:\Program Files (x86)\MySQL\MySQL Server 5.5\bin

    4.执行登录命令,输入密码即可登录成功; 命令:mysql -u <用户名> -p,这个命令会提示输入密码; 也可以执行mysql -u <用户名> -p <密码>,显式输入密码,一般用于java程序直接操作mysql。

    C:\Program Files (x86)\MySQL\MySQL Server 5.5\bin>mysql -u root -p

    1.1.2 登录远程mysql

    命令:mysql -h -P -u <用户名> -p

    C:\WINDOWS\system32>mysql -h 192.168.5.116 -P 3306 -u root -p

    1.2 常用命令

    1.2.1 显示数据库

    mysql> show databases;

    1.2.2 连接数据库;

    命令:use <数据库名>

    mysql> use db_mis;

    1.2.3 显示表

    mysql> show tables;

    1.2.4 显示当前时间

    mysql> select now();

    1.2.5 显示用户的权限

    命令:show grants for <用户名>

    mysql> show grants for root;

    1.2.6 创建用户

    mysql> create user 'test'@'*' identified by '123456';

    1.3 远程登录配置

    默认情况下,mysql帐号不允许从远程登陆,只能在localhost登录。

    方式一:改mysql数据库的user表 登录mysql后查看所有数据库,会发现有一个mysql数据库,进入user表。 默认user表只有一条数据:host为localhost的root用户才可以登录; 可以新增一条host为%的root用户,这样其他任何地址都可以用root登录了。 !!!这种方式谁都可以连,不安全。

    方式二:授权法

    创建新的用户(可选); 创建一个test用户,ip为*,密码为123456

    授权 授权test用户使用123456密码,从任何ip连接mysql服务器,对所有数据库和表有所有的权限。 这里的ip可以和user表里的host不一样,不一样的时候会自动在user表新增一条数据。 mysql> grant all privileges on *.* to 'test'@'%' identified by '123456' with grant option; mysql> flush privileges;

    可以只授权查询权限;

    mysql> show grants for test; ERROR 1141 (42000): There is no such grant defined for user 'test' on host '%' mysql> grant select on *.* to 'test'@'10.20.61.55' identified by '123456' with grant option; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> show grants for test; +-----------------------------------------------------------------------------------------------------+ | Grants for test@% | +-----------------------------------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'test'@'%' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' | +-----------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec)

    切换至test用户验证一下:

    C:\Program Files (x86)\MySQL\MySQL Server 5.5\bin>mysql -u test -p Enter password: ****** mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | +--------------------+ 1 row in set (0.00 sec) mysql> use db_mis; ERROR 1044 (42000): Access denied for user 'test'@'%' to database 'db_mis'
    Processed: 0.013, SQL: 9