mysql使用指南

Wesley13
• 阅读 627

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:首先确保你的数据大小符合你的字段大小。
再检查你的数据库编码,数据库的编码是否与操作数据库工具的编码一致!

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
Python3:sqlalchemy对mysql数据库操作,非sql语句
Python3:sqlalchemy对mysql数据库操作,非sql语句python3authorlizmdatetime2018020110:00:00coding:utf8'''
Stella981 Stella981
2年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
2年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
为什么mysql不推荐使用雪花ID作为主键
作者:毛辰飞背景在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究
Python进阶者 Python进阶者
4个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这