`
dianziermu
  • 浏览: 139708 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

MySQL5 入门知识

阅读更多

本资料内容来自与MYSQL.CN论坛,谢谢那些默默做出贡献的朋友!

一、        关于MySQL5
MySQL5系列数据库是MySQL的最新版本的数据库,比较流行的发行版是mysql-5.0.18。MySQL        英文官方网站是http://www.mysql.com

 

二、        获得MySQL5
所有的关于MySQL数据库的程序,都可以在它的英文官方网站下载到,但是,鉴于不不是所有人的英文都很好,所以建议大家尽量区MySQL的中文官方网站下载自己所需的程序,如果找不到,再去找英文的网站。
MySQL5有安装版和免安装版之分,顾名思义,安装版就是需要安装以后才可以使用;免安装版的MySQL下载下来之后就可以使用,或者进行简单的设置就可以使用。
MySQL5安装版下载地址:
Windows版本:http://download.mysql.cn/src/2006/0218/199.html
Linux版本(源码包):http://download.mysql.cn/src/2006/0208/62.html
MySQL5免安装版下载地址:
Windows版本:http://download.mysql.cn/src/2006/0302/205.html

 

三、        MySQL5安装
Windows版安装手册:http://bbs.mysql.cn/thread-261-1-1.html
Linux版本(源码包)安装手册:http://bbs.mysql.cn/thread-493-1-2.html

MySQL有安装版本和免安装版本,免安装版本解压后的文件夹内没有安装程序,可以直接使用。
Windows免安装版本使用手册:http://bbs.mysql.cn/thread-552-1-1.html

 

四、        备份与恢复
常规备份命令是mysqldump,这里以tm数据库为例,做简单介绍,详细资料参考
http://info.mysql.cn/install/2006/0410/5521.html
备份:
#mysqldump -u root -p tm > tm_20060101.sql 
按提示输入密码,这就把tm数据库所有的表结构和数据备份到tm_20060101.sql了,因为要总进行备份工作,如果数据量大会占用很大空间,
这是可以利用gzip压缩数据,命令如下:
#mysqldump -u root -p tm | gzip > tm_20060101.sql.gz
还可以备份到远程机器,用-h制定,如
#mysqldump -u root -p tm > tm_20060101.sql -h xxx.xxx.xxx.xxx
可以直接备份到IP地址为xxx.xxx.xxx.xxx的远程计算机。
系统崩溃,重建系统,或恢复数据库时,可以这样恢复数据:
#mysql -u root -p tm < tm_20060101.sql
从压缩文件直接恢复:
#gunzip < tm_20060101.sql.gz | mysql -u root -p tm

 

五、        FAQ

Q:为什么我下在的“安装程序”里面没有安装文件?
A:你下载的可能是免安装版本。请给出详细的版本信息。

Q:如何启动和关闭mysql?
A:linux下:比如我的mysql是用源码方式安装在/usr/local/mysql
自动:将/usr/local/mysql/share/mysql/mysql.server拷贝到/etc/rc.d/init.d/下,然后
chkconfig --add mysql.server就可以开机就启动mysql服务了。
手动:以root身份执行/usr/local/mysql/bin/mysqld_safe --user=mysql
windows下:
自动:
用cmd方式,到mysql安装路径的bin文件夹下,执行:mysqld-nt --install
手动:直接到到mysql安装路径的bin文件夹下执行net start mysql即可。
如果不想让mysql在计算机启动时候就启动服务,执行:mysqld-nt --remove
也可以在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services中删除对应服务并重启计算机。
关闭mysql:mysqladmin -uroot -p shutdown
启动mysql:
mysqld-nt --install
net start mysql

Q:如何修改mysql的用户密码?
A :在这里请区分连接mysql数据库的用户密码和系统的用户密码!!

mysql -uroot -p
输入密码
#登录mysql
>use mysql
>update user set password=password("new_pass") where user="userName";  #userName换成你要修改的用户名的密码,比如root
>flush privileges;
>exit;

Q:如何登录mysql?
A:mysql -uroot -p回车后,输入密码,再回车即可。如果自己没有修改的话,默认密码为空。

Q:mysql如何很好的变成图形化数据库呢?自身有自带的图形化工具没有?
A:mysql自带一个字符的客户端,但是还有好多的像mysql_center、SQLyog、phpMyAdmin、Mysql Query Browser,Mysql Administrator、mysqlcc这样好的图形管理工具。
mysql_centerd在本站的下载地址:http://bbs.mysql.cn/thread-517-1-1.html
SQLyog去网上搜索,很多的,SQLyog407版本不错。
phpMyAdmin下载地址:http://download.mysql.cn/opencode/2006/0207/55.html
mysql.com提供的管理软件下载地址:http://dev.mysql.com/downloads/gui-tools/5.0.html
其它的我就不一一提供下载地址,自己到网上搜索下载。

Q:为什么用mysql  -uusername -p登录mysql服务器时出现如下提示:
     Host 'xxx.xxx.xxx.xxx' is not allowed to connect to this MySQL server!("xxx.xxx.xxx.xxx"代表要登录的服务器)
A:这是因为你要登录的mysql服务器不允许用户username从xxx.xxx.xxx.xxx这个ip地址登录。
解决办法是在服务器登录mysql,操作步骤为:
mysql -uroot -p
(输入密码)
use mysql
update user set Host="%" where User="username";
flush privileges;

Q:什么是phpMyAdmin?
A:phpMyAdmin 是一个用PHP编写的,可以通过互联网控制和操作MySQL。通过phpMyAdmin可以完全对数据库进行操作,例如建立、复制/删除数据等等。
有了phpMyAdmin 就可以完全不使用mysql命令,直接使用phpMyAdmin就能管理mysql的所有数据和数据库

Q:如何使用phpMyAdmin?
A:要使用phpMyAdmin,下载后,把它释放到web服务器的根目录下,取个名字,比如就叫phpMyAdmin,然后在浏览器的地址栏输入:
http://X.X.X.X/phpMyAdmin/index.php
就可以了。
如 果是phpMyAdmin 2.8.0.2以上版本的,这样使用会报错,因为默认没有这个软件需要的配置文件config.default.php,在2.6.X版本下都有这个文 件,只是口令不对。对于2.6.X版本的,可以直接用文本编辑器打开这个文件,把其中第一个$cfg中内容修改成自己的用户名及密码就可以了:
$cfg['Servers'][$i]['auth_type']     = 'config';    // Authentication method (config, http or cookie based)?
$cfg['Servers'][$i]['user']          = 'root';      // MySQL user
$cfg['Servers'][$i]['password']      = '自己的密码';
不设置密码的话,系统会提示:
Access denied for user 'root'@'localhost' (using password: NO)

如果是2.8.0.2版本的,程序会提示请运行scripts/setup.php或者index.php这样的文件进行配置以生成config.inc.php文件。

Q:为什么我使用mysql出现乱码?
A:安装mysql5时默认的字符集是瑞典编码latin1,不支持中文。并且出现乱码的原因很多,建议到bbs.mysql.cn论坛寻找答案。发贴的话请详细说明自己的环境、安装过程及使用的信息,以便大家能快速分析你的问题。

Q:如何修改字符集?
A:
mysql -uroot -p
输入密码
选择你的目标数据库
mysql> use dbname
显示当前字符集
mysql> show variables like '%char%';
+--------------------------+----------------------------------------+
| Variable_name            | Value                                  |
+--------------------------+----------------------------------------+
| character_set_client     | gb2312                                 |
| character_set_connection | gb2312                                 |
| character_set_database   | gb2312                                 |
| character_set_results    | gb2312                                 |
| character_set_server     | gb2312                                 |
| character_set_system     | utf8                                   |
| character_sets_dir       | /usr/local/mysql/share/mysql/charsets/ |
+--------------------------+----------------------------------------+
7 rows in set (0.00 sec)
最好是保持字符集统一。如果你要修改哪个字符集,用set命令,如:
mysql> set character_set_client gbk;
Query OK, 0 rows affected (0.00 sec)

mysql> show variables like '%char%';
+--------------------------+----------------------------------------+
| Variable_name            | Value                                  |
+--------------------------+----------------------------------------+
| character_set_client     | gbk                                    |
| character_set_connection | gb2312                                 |
| character_set_database   | gb2312                                 |
| character_set_results    | gb2312                                 |
| character_set_server     | gb2312                                 |
| character_set_system     | utf8                                   |
| character_sets_dir       | /usr/local/mysql/share/mysql/charsets/ |
+--------------------------+----------------------------------------+
再改回来:
mysql> set character_set_client=gb2312;
Query OK, 0 rows affected (0.00 sec)

mysql> show variables like '%char%';
+--------------------------+----------------------------------------+
| Variable_name            | Value                                  |
+--------------------------+----------------------------------------+
| character_set_client     | gb2312                                 |
| character_set_connection | gb2312                                 |
| character_set_database   | gb2312                                 |
| character_set_results    | gb2312                                 |
| character_set_server     | gb2312                                 |
| character_set_system     | utf8                                   |
| character_sets_dir       | /usr/local/mysql/share/mysql/charsets/ |
+--------------------------+----------------------------------------+
7 rows in set (0.00 sec)
自己试试就知道了。

Q:为什么我的phpmyadmin提示不能载入mysql扩展?
A: 一、看下你的PHP目录和PHP\EXT下有没有php_mysql.dll这个文件。
      二、配制一下环境变量把php_mysql.dll所在的目录加入的PATH里。
      三、有的php安装程序安装好以后,在安装路径下,并没有ext文件夹(不知道为什么),最好下载个配置的php,然后,将exe文件夹拷贝到安装目录下,再进行相应的配置。
      四、看一下c:\winnt 或者是 c:\windows下的php.ini文件里的php_mysql.dll前面的;(分号)是否去掉了,如果没有去掉请去掉,然后,将mysql安装路 径下bin文件夹下的libmysql.dll放在安装php的根目录一般为C:\php ,同时也在 C:\windows 下也放各一个,之后重新启动IIS或者是APACHE。有的时候总是刷新一页,即使去掉分号也还是不能载入mysql扩展,最后新打开一个窗口,再试。

Q:为什么提示:"没有发现 PHP 的扩展设置mbstring, 而当前系统好像在使用宽字符集。没有 mbstring 扩展的 phpMyAdmin 不能正确识别字符串,可能产生不可意料的结果."
A:因为你没有打开mbstring在扩展,解决办法:打开php的配置文件php.ini,将
extension=php_mbstring.dll前面的分号";"去掉,并改到正确的路径,一般为
ext/php_mbstring.dll

Q:为什么PHP连接mysql会有下面的提示?
       Fatal error: Call to undefined function mysql_connect() ……
A:很有可能是没有载入mysql扩展,如何解决,请参考上面的方法。
因为如果你的系统没有载入mysql扩展的话,phpmyadmin能给出提示,而一般的程序则不能给出。
如果phpmyadmin没有给出提示,而你恰好用的apache服务器,尝试一下方法:
首先是去掉;extension=php_mysql.dll前面的“;”(;为注释)
第二步是将C:\php\ext中的php_mysql.dll复制到C:\WINDOWS(C:\WINNT)中即可,
并重起Apache。

Q:为什么我不能看孵化池资料?
A:MYSQL.CN的孵化池是专门为初学者提供学习的地方,这里我就不多介绍了,详情请访问:http://bbs.mysql.cn/thread-369-1-1.html。

Q:能中文数据库名称么?
A:可以,但是不推荐,用起来不方便。

Q:如果我忘记了root密码,怎么办?
A:
在windows下:
打开命令行窗口,停止mysql服务:        Net stop mysql
启动mysql,一般到mysql的安装路径,找到 mysqld-nt.exe
执行:mysqld-nt --skip-grant-tables
另外打开一个命令行窗口,执行mysql
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
>exit
用Ctrl+Alt+Del,找到mysqld-nt的进程杀掉它,在重新启动mysql-nt服务,就可以用新密码登录了

在linux下:
如果 MySQL 正在运行,首先杀之: killall -TERM mysqld。
启动 MySQL :bin/safe_mysqld --skip-grant-tables &
就可以不需要密码就进入 MySQL 了。
然后就是
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
重新杀 MySQL ,用正常方法启动 MySQL 。

Q:为什么出现如下的提示:
[root@0-8-2-df-fa-ee ~]# mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
注:也可能是其它路径下的mysql.sock
A:说明mysql服务没有启动,mysql.sock是mysql服务启动后启动生成的文件,
一般先杀掉mysql服务:killall mysql
然后,再根据自己的安装情况启动mysql即可。比如,安装的时候,用的是
./configure --prefix=/usr/local/mysql的
用下面的命令启动:
/usr/local/mysql/bin/mysqld_safe --user=mysql &
之后再去执行/usr/local/mysql/bin/mysql -u root -p 登录进入mysql数据库
还不行的话,一次执行下面的命令:
sync
reboot                     ;重启计算机,执行时请小心!!!

Q:为什么出现下面的错误
#1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client

A:你使用的数据库是4.1以上,用命令行连接MySQL数据库后,执行下面的命令:
UPDATE mysql.user SET password=OLD_PASSWORD("your_password") WHERE Host="your_host" AND User="your_username" ;
即可解决。

your_password:改成你连接数据库的密码,比如 123
your_host:改成你连接数据库的主机,如果是本地的话,就是localhost
your_username:改成你连接数据库的用户,比如 root

Q:为什么mysql提示我:Data too long for column ……
A:首先确保你的数据大小符合你的字段大小。
再检查你的数据库编码,数据库的编码是否与操作数据库工具的编码一致!

 

分享到:
评论

相关推荐

    MySQL后端入门知识总结及面试题汇总.zip

    MySQL后端入门知识总结及面试题汇总.zipMySQL后端入门知识总结及面试题汇总.zipMySQL后端入门知识总结及面试题汇总.zipMySQL后端入门知识总结及面试题汇总.zipMySQL后端入门知识总结及面试题汇总.zipMySQL后端入门...

    mysql从入门到精通

    《MySQL从入门到精通》是一本介绍MySQL数据库基础知识与应用的书籍,适用于程序员、数据库管理员和一般的MySQL用户。本书旨在帮助读者全面掌握MySQL数据库的运行原理、数据和表的类型,以及高级SQL索引、优化、编程...

    PHP5和MySQL从入门到精通

    《PHP5和MySQL从入门到精通》是一本深入浅出的编程教材,专注于PHP与MySQL的结合使用。这本书详尽地介绍了这两个强大的Web开发技术,旨在帮助初学者快速上手并逐渐成为专业人士。 PHP(Hypertext Preprocessor)是...

    MySQL数据库入门.rar

    这个"MySQL数据库入门"压缩包提供了一系列的学习资源,包括PPT、PDF文档和代码示例,帮助初学者快速掌握MySQL的基础知识。 首先,让我们从标题开始。"MySQL数据库入门"意味着这个教程将覆盖数据库的基础概念,如何...

    《MySQL数据库入门》-黑马程序员 配套书籍资源 .zip

    总之,《MySQL数据库入门》的配套资源为学习者提供了丰富的学习素材,结合教材使用,可以确保全面、系统地掌握MySQL的基础知识和实际操作技巧。无论是初学者还是有一定基础的开发者,都能从中受益。通过这些资源,...

    完整精品数据库课件 MySQL从入门到精通 第01章 初始MySQL(共19页).ppt

    本教程“MySQL从入门到精通”全面覆盖了从基础概念到高级特性的知识,旨在帮助初学者快速掌握MySQL的使用。 首先,数据库基础是理解MySQL的前提。数据库是一个有序的数据集合,通过数据表的形式存储数据,表由字段...

    MySQL入门很简单课件

    MySQL入门很简单课件,感兴趣同志可以下载来学习一下。

    Mysql从入门到精通.pdf

    在给定文件的内容中,提供了关于MySQL的基础知识点,下面是对这些知识点的详细说明: 1. 字段类型:MySQL支持多种数据类型,以存储不同类型的值,例如整数型、小数型、日期时间型和字符串型。 - 整数型:包括...

    PHP5与MySQL5从入门到精通

    总结起来,《PHP5与MySQL5从入门到精通》是一本全面的指南,涵盖了PHP5和MySQL5的基础知识、应用开发、环境配置、安全和优化等多个方面。无论是对PHP和MySQL完全陌生的初学者,还是希望提升自身技能的中级开发者,...

    MySQL入门基础知识总结

    以下是对MySQL入门基础知识的详细总结: 一、MySQL安装与配置 1. 安装:在Windows、Linux或Mac OS上,可以通过官方网站下载相应平台的安装包,按照向导进行安装。 2. 配置:安装完成后,需要配置MySQL服务器,包括...

    mysql入门很简单

    随着技术的发展,如今广泛使用的数据库管理系统包括Oracle、SQL Server、MySQL等。 数据库理论基础是学习数据库的第一步,主要包含数据存储方式、数据库在开发中的作用、数据库访问技术、数据库泛型以及SQL语言等...

    MySQL入门+进阶资源合集.pdf

    ### MySQL入门+进阶资源合集 #### 一、MySQL基础知识与入门 ##### 1.1 MySQL基础概念 - **数据库(Database)**:是用于存储数据的逻辑容器,它能够高效地管理和组织数据。 - **表(Table)**:是数据库中用来存储...

    MySQL5.7从入门到精通 带书签 高清

    这份“MySQL5.7从入门到精通”的资源旨在为初学者和有经验的开发者提供一个全面的学习指南,通过高清带书签的PDF文档,使得学习过程更加高效和便捷。 一、MySQL基础 MySQL的基础部分通常包括数据库的概念、安装与...

    Mysql5.7入门到精通PDF带目录 高清

    总之,“MySQL 5.7入门到精通”涵盖了MySQL数据库的基础知识到高级应用,无论你是刚接触数据库的新手,还是希望提升MySQL技能的专业人士,这个教程都将为你提供宝贵的资源。通过系统学习并实践,你将能够熟练地运用...

    MySQL 超级入门教程

    ### MySQL超级入门教程知识点梳理 #### 一、数据库与MySQL简介 - **数据库定义**:数据库(Database)是指按照特定的数据结构来组织、存储和管理数据的集合体。随着信息技术的发展,数据库的功能已经远远超过了简单...

    MYSQL基础入门pdf

    ### MySQL基础入门知识点详解 #### 数据库概述 - **什么是数据库** 数据库(Database,简称DB)是一种用于组织、存储和管理数据的电子系统。它可以被看作是一个存储数据的仓库,其中的数据被组织成表格的形式,...

    MySQL数据库入门到高级笔记快速学习pdf版本

    这份"MySQL数据库入门到高级笔记快速学习pdf版本"提供了从基础到高级的全面教程,适合不同水平的学习者。以下将详细解析其中涉及的主要知识点: 1. **基本操作**: - **启动与关闭MySQL服务**:可以通过`...

    mysql 4从入门到精通

    《MySQL从入门到精通》这本书是为初学者和有一定基础的数据库管理员设计的,它全面覆盖了MySQL的基础知识、进阶技巧以及高级应用。MySQL是一个广泛使用的开源关系型数据库管理系统,以其高效、稳定和易用的特点深受...

    MySql从入门到精通

    ### MySQL从入门到精通 #### 一、数据库简介 数据库是一种用于存储和管理数据的系统。根据不同的数据组织形式和存储方式,可以分为多种类型。 ##### 1. 对象型数据库 这类数据库直接存储对象,适合处理如地理信息...

Global site tag (gtag.js) - Google Analytics