mysql备用知识

一:修改mysql的密码

1. 使用phpmyadmin,这是最简单的了,修改mysql库的user表,不过别忘了使用PASSWORD函数。


2. 使用mysqladmin, mysqladmin -u root -p password mypasswd


3. mysql> REPLACE INTO mysql.user (Host,User,Password) VALUES('%','username',PASSWORD('password'));
mysql> FLUSH PRIVILEGES


4. mysql> SET PASSWORD FOR username@"% " = PASSWORD('password');
这里的username是要修改的用户名称。


5. mysql> GRANT USAGE ON *.* TO username@"% " IDENTIFIED BY 'password';
这里的username是要修改的用户名称。


mysql 登录用户名和密码中如果有特殊字符,需要用引号括起来。

比如我登录mysql:mysql -ujianchen -p"woshimima@&axx "

但是需要注意的不能用单引号,需要用双引号


二:无法从其他机器远程连接mysql数据库

别人的机器连我的本机数据库,报“Access denied”错误。后来查阅资料后,知道是由于mysql 4.1以后增加了安全限制,默认root账户可以以localhost和其他IP的方式登录。如果是其他用户则需要配置一下才行。


mysql中对用户的权限和密码信息存储在mysql库的user表中。


该表的结构如下:



 

该表的localhost属性指定了用户的访问来源,如果是不限制机器IP,可以设置成'%',也可以指定具体的IP地址。


通过修改该表用户对应的localhost属性值为'%',问题解决了。

 

有时候还不行的话,是权限不够,所以再执行以下语句一般就OK了。

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION

FLUSH PRIVILEGES


三,导入数据报"invalid string value"错误


我的数据库编码为GBK,利用navicat 从一张原有表里导出数据为sql脚本文件,后来将该表数据重新插入时,就报该错误。开始怀疑是数据库编码问题,重新安装数据库设置编码为GBK依然报错。后来经提醒,本地文件的编码是否正确。忽然想起来,我之前好像碰到过这个问题,检查后发现该sql文件的编码问题UTF-8,使用记事本另存为ANSI(本地编码),问题解决。

 

四,导入导出数据库

 

一、导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径):
1、导出数据和表结构:
mysqldump -u用户名 -p 数据库名 > 数据库名.sql
#/usr/local/mysql/bin/mysqldump -uroot -p abc > abc.sql
敲回车后会提示输入密码

2、只导出表结构
mysqldump -u用户名 -p -d 数据库名 > 数据库名.sql
#/usr/local/mysql/bin/mysqldump -uroot -p -d abc > abc.sql


二、导入数据库
1、首先建空数据库
mysql>create database abc;

2、导入数据库
方法一:
(1)选择数据库
mysql>use abc;
(2)设置数据库编码
mysql>set names utf8;
(3)导入数据(注意sql文件的路径)
mysql>source /home/abc/abc.sql;
方法二:
mysql -u用户名 -p 数据库名 < 数据库名.sql
#mysql -uabc_f -p abc < abc.sql

注意:有命令行模式,有sql命令

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值