MySQL学习笔记(一)

转载:https://jingyan.baidu.com/article/454316ab4e9e65f7a7c03ad1.html

转载:http://blog.csdn.net/carl_qi/article/details/51469456

MySQL 系统特性

系统特性

1、使用 C和 C++编写,并使用了多种编译器进行测试,保证了源代码的可移植性。

2、支持 AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统。

3、为多种编程语言提供了 API。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby,.NET和 Tcl 等。

4、支持多线程,充分利用 CPU 资源。

5、优化的 SQL查询算法,有效地提高查询速度。

6、既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。

7、提供多语言支持,常见的编码如中文的 GB 2312、BIG5,日文的 Shift_JIS等都可以用作数据表名和数据列名。

8、提供 TCP/IP、ODBC 和 JDBC等多种数据库连接途径。

9、提供用于管理、检查、优化数据库操作的管理工具。

10、支持大型的数据库。可以处理拥有上千万条记录的大型数据库。

11、支持多种存储引擎。

12、MySQL 是开源的,所以你不需要支付额外的费用。

13、MySQL 使用标准的 SQL数据语言形式。

14、MySQL 对 PHP 有很好的支持,PHP是目前最流行的 Web 开发语言。

15、MySQL是可以定制的,采用了 GPL协议,你可以修改源码来开发自己的 MySQL 系统。

16、在线 DDL/更改功能,数据架构支持动态应用程序和开发人员灵活性(5.6新增)

17、复制全局事务标识,可支持自我修复式集群(5.6新增)

18、复制无崩溃从机,可提高可用性(5.6新增)

19、复制多线程从机,可提高性能(5.6新增)

20、3倍更快的性能(5.7新增)

21、新的优化器(5.7新增)

22、原生JSON支持(5.7新增)

23、多源复制(5.7新增)

24、GIS的空间扩展(5.7新增)

1.1、设置mysql远程访问

命令:mysql -hhostname -Pport -uusername -p

hostname:mysql服务器所在的主机名称(IP地址)
port:msyql服务器的端口号(3306)
username:用户名
p:用户密码

2.2  修改mysql用户密码

   1、mysqladmin命令

        格式如下(其中,USER为用户名,PASSWORD为新密码):

mysqladmin -u USER -p password PASSWORD

该命令之后会提示输入原密码,输入正确后即可修改。
例如,设置root用户的密码为123456,则

mysqladmin -u root -p password 123456

  2、UPDATE user 语句

      这种方式必须是先用root帐户登入mysql,然后执行use mysql,选择mysql数据库:

UPDATE user SET password=PASSWORD('123456') WHERE user='root';
FLUSH PRIVILEGES;//这是老版本的方法

UPDATE user SET authentication_string=PASSWORD('123456') WHERE user='root';
FLUSH PRIVILEGES;//5.7版本中user表中没有password字段,已经改成authentication_string

如果执行上面语句出现下错误:

1045 access denied for user 'root'@'localhost' using password yes

解决办法是:

 2.1.停止当前mysql服务:net stop mysql

 2.2. 输入    

mysqld -defaults-file="D:Program Files (x86)mysql-5.7.20-winx64	est.ini" -console -skip-grant-tables

       指令,跳过授权模式。

 2.3.重新启动mysql服务:net start mysql

 2.4. 当然,这还没完,我们仅仅是本次进入了mysql, 为了今后能不用通过 –skip-grant-tables 的方式进入,我们需要重新配置root密码。 

     依次输入以下命令:     

use mysql;
update user set authentication_string=password("newpassword") where user="root";
flush privileges; 

这样就修改成功了!

 3、如果忘记密码

   3.1 停止服务:net stop mysql;

   3.2 输入命令

mysqld --skip-grant-tables

   回车,此时就跳过了mysql的用户验证。注意输入此命令之后命令行就无法操作了,此时可以再打开一个新的命令行。注意:在输入此命令之前先在任务管理器中结束mysqld.exe进程,确保mysql服务器端已结束运行。

   

  3.3 然后直接输入mysql,不需要带任何登录参数直接回车就可以登陆上数据库

   

原文地址:https://www.cnblogs.com/chechen/p/8287540.html