mysql启动登录修改密码grant

mysql操作

1.1数据库启动

1.1.1单实例启动mysql:

法一:

[root@hcf etc]# /etc/init.d/mysqld restart

Shutting down MySQL...                                     [  OK  ]

Starting MySQL..                                           [  OK  ]

[root@hcf etc]# /etc/init.d/mysqld stop

Shutting down MySQL.....                                   [  OK  ]

[root@hcf etc]# /etc/init.d/mysqld start

Starting MySQL.                                            [  OK  ]

法二:

/usr/local/mysql/bin/mysqld_safe &

[root@hcf etc]# /application/mysql/bin/mysqld_safe --user=mysql &

Starting mysqld daemon with databases from /application/mysql5.1.72/data

killall mysqld

killall -9 mysqld <==尽量不要野蛮粗鲁杀死数据库,可能会引起数据丢失,不能正常启动数据库

mysqld:no process mysqld

提示:关闭直到出现mysqld:no process killed 表示完成关闭操作.法二的启动与关闭命令一般生产情况下不适用.有关killall,kill,pkill等进程管理命令.

1.1.2多实例启动:

/bin/sh ${CmdPath}/mysqld_safe –defaults-file=/data/${port}/my.cnf 2>&1 >/dev/null &

1.2登录mysql方法

1.2.1单实例方法

mysql –uroot –p标准的dba命令行登录命令,登录后默认提示符是:mysql>,提示符是可以改的,像linux命令行提示符一样

1.2.2多实例方法

mysql –uroot –p –S /data/3306/mysql.sock 本机加socket,远程加端口空密码再输入enter即可进入

提示:多实例通过mysql的-S命令指定不同的sock文件登录不同的服务中.

1.3登录后的信息

;或\g结束命令

1.4mysql的help

mysql中的help和linux命令行的man是类似的.要想看mysql中的命令语法,就要用help,如:help create,不区分大小写

建议:一般解决问题等先看故障日志,然后搜索(g>b)好些,对于知识的学习,用法,查看软件的帮助或官方手册更好.

1.5退出mysql

mysql> quit或exit   ctrl+c

1.6设置及修改mysql root用户密码

由于安装mysql后,默认的管理员root密码为空,不安全.

安装mysql单实例后,已经做了一些安全措施:

  1. 为root设置密码,更安全的措施例如删除root,添加新的管理员
  2. 删除无用的mysql账号
  3. 删除test数据库

1.6.1设置密码方法

Mysqladmin –u root password ‘wj123’

Mysqladmin –u root –p’wj123’ password ‘wj’ –S /data/3306/mysql.sock  <--适合多实例方式

以上的命令是在linux命令行

1.6.2修改root密码法一

Mysqladmin –u root –p’wj123’ password ‘wj’

Mysqladmin –u root –p’wj’ password ‘wj123’ –S /data/3306/mysql.sock

1.6.3修改root密码法二

mysql> update mysql.user set password=PASSWORD("wj123456") where user="root" and host="localhost";

mysql> flush privileges;

此方法适合skip-grant-tables方式修改密码

1.6.4修改root密码法三(可以不记)

Mysql安装完毕后,root默认口令为空,需要马上修改root口令.

mysql> set password=password('wj123');

Query OK, 0 rows affected (0.00 sec)

注意:密码是8位以上,数字与字母混合.

1.7如何找回丢失mysql root用户的密码

1.7.1单实例启动修改丢失的mysql root密码方法

[root@hcf etc]# mysqld_safe --skip-grant-tables &  用户是root时忽略授权表

直接命令行敲mysql就可以进去了

mysql> set password=password('wj123');

ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

1.7.2多实例启动修改丢失root密码方法

Mysqld_safe –defaults-file=/data/3306/my.cnf –skip-grant-table &   加上配置文件

Mysql –uroot –p –S /data/3306/mysql.sock登录时空密码

1.7.3退出mysql,重启mysql重新登录即可

查看建库语句

Show create database db_name;

建立一个名为wj_gbk的gbk字符集数据库

mysql> create database wj_gbk default character set gbk collate gbk_chinese_ci;

建立一个名为wj_utf8的utf8字符集数据库

mysql> create database wj_utf8  character set utf8  collate utf8_general_ci;

mysql> select database();  system  pwd(类似linux的)

select version()  select user()相当于linux的whoami

1.8删除系统多余用户

mysql> drop user ''@'localhost'; 有大写或特殊字符时,drop不管用,使用delete去表中删除

mysql> delete from mysql.user where user="" and host="localhost";

mysql> flush privileges;刷新权限

1.9用户授权

先建用户,然后再授权(用户名+主机名锁定唯一用户)

mysql> create user 'wj'@'localhost' identified by 'mypass';

如果用户已经存在报以下错误:

ERROR 1396 (HY000): Operation CREATE USER failed for 'wj'@'localhost'

mysql> help show grants;

mysql> show grants for 'test'@'localhost';

GRANT USAGE ON *.* TO 'test'@'localhost'…刚创建用户没有授权只有连接权限usage,用户默认权限

mysql> grant all on wj.* to 'wj'@'localhost';

以上两条命令相当于下面一条命令:

2)创建用户的同时授权. 直接grant法

grant all privileges on dbname.* to username@’localhost’ identified by ‘passwd’;

授权localhost主机上通过用户username管理dbname数据库的所有权限,密码为passwd,其中username,dbname,passwd可根据自己的情况修改.

mysql> grant all on wj.* to 'wj'@'localhost' identified by 'mypass';

1.9.2用户远程连接数据库:

要远程连接10.0.0.19的数据库,命令为mysql –utest  -p ‘test123’ –h 10.0.0.19,要能成功连接,还需要在10.0.0.19上通过如下命令授权:

grant all on *.* to test@'10.0.0.%' identified by 'test123';   all=all privileges

flush privileges

带有授权的所有权限with grant option,不需要带有授权时去掉with grant option

grant all  privileges  on *.* to test@'10.0.0.%' identified by 'test123' with grant option;

grant select,insert,update,delete  on *.* to test@'10.0.0.%' identified by 'test123';

grant select on ‘blog’.* to test@'10.0.0.%' identified by 'test123';

help revoke收回权限

 

法二:建表后增加索引2个方法

alter table test add index Index_name(name);

create index index_name on test(name);<==不能创建主键索引

更新数据库时要维护索引,我们要尽量选择在唯一值多的大表上建立索引,小表上不要建立索引.索引要创建在条件列,而不是选择的列.

egrep –v “^\-|\*|^$” /mnt/tmp.sql查看mysql备份的文件

explain 5,6,7,8,10,11,13,14,15mysql官方手册

在表中增删改字段

Alter table 表名 add 字段  类型 其他 after name;

alter  table  pp_statistics_coupon  add  statistics_sign  int(2) comment '1.2017国庆餐厅推广活动(后加为空) 2.微博分流测试活动';

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你忘记了MySQL密码,或者在初次安装MySQL时忘记了密码,你可以通过以下步骤来修改密码。 首先,你需要修改MySQL的参数配置,使用skip-grant-tables参数。你可以在my.cnf文件中添加这个参数,并重启MySQL服务。接下来,你可以使用命令行登录MySQL,输入以下命令:mysql -uroot -p。 另一种方法是在数据库内部直接修改用户密码表。你可以使用以下SQL语句来修改密码:update MySQL.user set password=password("新密码") where user="root" and host="localhost"。 还有一种方法是直接登录MySQL,不需要输入密码。你可以使用以下命令来修改密码: ``` sql> alter user 'root'@'localhost' identified by '新密码'; sql> grant all privileges on *.* to 'root'@'%' identified by '新密码'; sql> flush privileges; sql> exit; ``` 在执行修改密码时,如果遇到错误信息"ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement",你可以使用"flush privileges"命令来解决这个问题。 请注意,在完成密码修改后,记得将skip-grant-tables参数去除,并重新启动MySQL服务。然后你就可以使用新密码登录MySQL了。 #### 引用[.reference_title] - *1* *3* [Linux下Mysql忘记密码,如何进行修改](https://blog.csdn.net/q121365405/article/details/123012668)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [MySQL 忘记密码了如何登陆?](https://blog.csdn.net/weixin_30220177/article/details/115923725)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值