连接数据库 #

登录MySQL数据库有多种方式,GUI登录最方便,有特别多的App可以提供图形化工具登录MySQL,并且方便的查看数据信息,这里推荐一些APP,你可以尝试下载,有些APP还提供命令执行功能。图形化界面就不一样讲解了,就介绍一下命令行下面登录MySQL数据库,这样你可以配合App来学习SQL语言,更快掌握这门语言。

MySQL命令语法 #

用户名是你登录的用户,主机名或者IP地址为可选项,如果是本地连接则不需要,远程连接需要填写,密码是对应用户的密码。

mysql –u用户名 [–h主机名或者IP地址,-P端口号] –p密码
  1. 该命令是在命令行窗口下执行,而不是MySQL的命令行;
  2. 输入-p后可以直接跟上密码,也可以按回车,会提示你输入密码,二者都是相同的效果;
  3. –p密码选项不一定是要在最后;
  4. –u、-h、-p后无空格。

MySQL命令连接数据库 #

首先将这个使用率高达80%以上的“mysql”命令工具简单的做一个讲解,在操作系统命令终端提示符下输入 mysql -h 127.0.0.1 -u用户名 -p密码,将出现一个如下的简单提示:

→ mysql -h127.0.0.1 -P3306 -uroot -prootpassword

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 99
Server version: 5.7.14 MySQL Community Server (GPL)

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

你只需要在mysql>命令中输入 SQL 语句,同时并以分号“;”结束。最后摁Enter键即可操作 MySQL软件。

当然,具体的版本和连接信息可能不同,但都可以使用这个实用程序。请注意:

开启MySQL的远程帐号 #

用GUI连接数据库如果报下面错误,是你的 MySQL远程连接账号没有开启。

Unable to connect to host 192.168.188.114, or the request timed out.
Be sure that the address is correct and that you have the necessary privileges, or try increasing the connection timeout (currently 10 seconds).
MySQL said: Host '192.168.188.106' is not allowed to connect to this MariaDB server

通过下面的命令,解决不能连接的错误,进入 MySQL 执行下面语句。

# 你想root使用123456从'192.168.188.106'主机连接到mysql服务器 wabg库下面所有表的话。
MySQL> grant all PRIVILEGES on wabg.* to  root@'192.168.188.106'  identified by '123456' WITH GRANT OPTION;
# 你想myuser使用mypassword从任何主机连接到mysql服务器的话
MySQL> grant all PRIVILEGES on *.* to  'myuser'@'%'  identified by 'mypassword' WITH GRANT OPTION;

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

如何开启MySQL的远程帐号?执行了上面的语句后,再执行下面的语句,方可立即生效。

MySQL> flush privileges;

当你报下面错误,提示您的密码不满足当前的策略要求。错误如下:

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
# 或者
mysqladmin: unable to change password; error: 'Your password does not satisfy the current policy requirements'

解决方法:可以按照现有策略设置密码,也可以更改密码策略。

# 更改密码策略为LOW
MySQL> set global validate_password_policy=0;
# 更改密码长度 密码最小长度为4
MySQL> set global validate_password_length=4;  

进入 MySQL 查看你的密码验证策略

mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password_check_user_name    | OFF   | 
| validate_password_dictionary_file    |       | 
| validate_password_length             | 4     | 
| validate_password_mixed_case_count   | 1     | 
| validate_password_number_count       | 1     | 
| validate_password_policy             | LOW   | 
| validate_password_special_char_count | 1     | 
+--------------------------------------+-------+
7 rows in set (0.00 sec)

MySQL修改密码 #

mysqladmin -uroot -p password