首页 > 数据库 > MySQL > 正文

初学MySql5 所应了解的知识和常见问题

2024-07-24 12:55:58
字体:
来源:转载
供稿:网友

  一:关于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_machinesystemcurrentcontrolsetservices中删除对应服务并重启计算机。

  关闭mysql:mysqladmin -uroot -p shutdown

  启动mysql:

  mysqld-nt --install

  net start mysql

  q:如何登录mysql?

|||中国最大的web开发资源网站及技术社区,

  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:为什么我的phpmyadmin提示不能载入mysql扩展?

  a:

  一、看下你的php目录和phpext下有没有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:phpext中的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:为什么出现如下的提示:

[[email protected] ~]# mysql
error 2002 (hy000): can't connect
to local mysql server through socket '/tmp/mysql.sock'

  注:也可能是其它路径下的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 5.0.16乱码问题的解决方法

下一篇:mysql5中遇到的字符集问题以及解决办法

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
学习交流
热门图片
猜你喜欢的新闻
猜你喜欢的关注

新闻热点

疑难解答

图片精选

网友关注