mysql中口令可以省略吗_mysql常用命令及问题汇总

1、增加了密码后的登录格式如下:    mysql -u root -p

2、修改登录密码

1) mysqladmin -u用户名 -p旧密码 password 新密码

例:mysqladmin -u root password 21century

注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。

2)直接修改user表的root用户口令:

mysql> user mysql;

mysql> update user set pasword=password('21century') where user='root';

mysql> flush privileges;

注:flush privileges的意思是强制刷新内存授权表,否则用的还是缓冲中的口令。

3、测试密码是否修改成功

1)不用密码登录

[root@test1 local]# mysql

ERROR 1045: Access denied for user: 'root@localhost ' (Using password: NO)

显示错误,说明密码已经修改。

2)用修改后的密码登录

[root@test1 local]# mysql -u root -p

Enter password: (输入修改后的密码21century)

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 177 to server version: 3.23.48

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>  成功!

这是通过mysqladmin命令修改口令,也可通过修改库来更改口令

4、启动和停止

启动:Mysql从3.23.15版本开始作了改动,默认安装后服务要用mysql用户来启动,不允许root用户启动。

如果非要用root用户来启动,必须加上--user=root参数

(./safe_mysqld --user=root &)

停止:mysqladmin -u root -p shutdown

5、导出meeting数据库:

mysqldump -uroot -p21century meeting > db_meeting.sql   导人dbname数据库

mysqldump -uroot -p21century dbname < xxx.sql

导入数据库还可用类似于oracle中@my_script.sql的方式一次执行大量sql语句,这在使用mysqldump不起作用时非常有用。

例:#./mysql -uroot -p < /home/xuys/db_meeting_2003.sql    (注:create database、use databasename、create table和insert into语句都可写在上面的脚步文件中)

6、给表改名    RENAME TABLE ztemp TO ztemp4;

7、修改字段属性    ALTER TABLE bbabase CHANGE news_id id VARCHAR(5) NOT NULL;

8、在表中的content后增加一字段    ALTER TABLE bbabase ADD leave_time DATETIME NOT NULL AFTER content;

9、增加用户    GRANT select,update,insert ON 数据库名.* TO 用户名@登录主机 identified by "密码"

例:grant select,update,insert,delete on *.* to test@dev identified by "abc";

10、只需本机使用Mysql服务,在启动时还可以加上--skip-networking参数使Mysql不监听任何TCP/IP连接

(./safe_mysqld --skip-networking &),增加安全性。(非常推荐)

11、忘记root密码怎么办?

在启动Mysql服务器时加上参数--skip-grant-tables来跳过授权表的验证    (./safe_mysqld --skip-grant-tables &),这样我们就可以直接登陆Mysql服务器,

然后再修改root用户的口令,重启Mysql就可以用新口令登陆了。

12、解决mysql不用用户名和密码可以直接登陆的问题:

mysql>use mysql;

mysql>delete from user where user='';

mysql>flush privileges; (必须的)

/

MYSQL1130错误的解决方案

在用远程连接Mysql服务器的数据库,不管怎么弄都是连接不到,错误代码是1130,ERROR 1130: Host 10.0.0.1  is not allowed to connect to this MySQL server

猜想是无法给远程连接的用户权限问题。

结果这样子操作mysql库,即可解决。

在本机登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称'%'。。

mysql -u root -p

mysql>use mysql;mysql>select 'host' from user where user='root';mysql>update user set host = '%' where user ='root';mysql>flush privileges;mysql>select 'host'   from user where user='root';

第一句是以权限用户root登录

第二句:选择mysql库

第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)

第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址

第五句:刷新MySQL的系统权限相关表

第六句:再重新查看user表时,有修改。。

重起mysql服务即可完成。

mysql 遇到 ERROR 1044 (42000):Access denied for user 的解决方案

2011-05-05 11:51

这个问题主要是因为授权用户本身的权限不足引起的。我们以root用户为例,需要注意到地方有以下几个方面:

1.MySQL的user表很重要。必须保证root用户在user表里面有两条记录,也就是

root localhost ……..

root 127.0.0.1 …….

2.保证root用户拥有所有权限,也就是user表里面的所有字段里面对应的内容是Y

3.在my.ini后者my.cnf里面有这个配置项的时候

bind-address=localhost

启用这个配置项可以保证安全

4.在服务器上运行MySQL的时候,为了安全起见,尽量不要给user表里面的host字段赋予%权限.

保证以上几点没有问题的情况下,这个错误基本可以避免

另外如果用户不能进入mysql系统,可以用这种方法进入:

如果 MySQL 正在运行,首先停止。

启动 MySQL :bin/safe_mysqld --skip-grant-tables &

就可以不需要密码就进入 MySQL 了。

然后就是

>use mysql

>update user set password=password("new_pass") where user="root";

>flush privileges;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值