mysql 命令_MySQL基础命令操作

1.mysql数据库启动、关闭、登录

1.1单实例数据库启动、关闭、登录

1)

mysql启动

/etc/init.d/mysqld start

mysqld_safe --user=mysql &                           #两者启动实质是一样的&使用编译及二进制安装的mysql,启动脚本由mysql-xx/support-files/mysql.server复制而来

确认mysql端口

ss -lnt|grep 3306

查看mysql进程

ps -ef|grep mysql|grep -v grep

2)关闭数据库

/etc/init.d/mysqld stop

mysqladmin -uroot -poldboy shutdown             #比较温和的关闭方法

也可以强制关闭数据库

killall mysqld

pkill mysqld

killall -9 mysqld

3)登录

mysql

mysql -uroot

mysql -uroot -p                                                 #可以修改Mysql登录后的提示符:prompt \u@wk \r:\m:\s->      (临时生效,若想永久生效,放在my.cnf的【mysql】下)

退出mysql数据库

quit或\q

Ctrl+C或Ctrl+D

1.2多实例数据库启动、关闭、登录                 #以3306实例为例

1)启动

/data/3306/mysql start

mysqld_safe --defaults-file=/data/3306/my.cnf 2>&1 > /dev/null &

2)关闭

/data/3306/mysql stop

mysqladmin -uroot -poldboy123 -S /data/3306/mysql.sock shutdown

3)登录

mysql -uroot -p -S /data/3306/mysql.sock

mysql -u root -p -h localhost -P 3306                #理论上可以通过不指定sock路径的方式登录

2.帮助命令--help

如:help grants

可以在mysql中查看系统文件:如 system ls /tmp

查看某数据库用户的权限:show grants for 'root'@'localhost';

3.为管理员root用户设置/修改密码

mysqladmin -u root password 'oldboy123'                                  #单实例

mysqladmin -u root -p 'oldboy123' -S /data/3306/mysql.sock     #多实例

mysqladmin -uroot -poldboy123 password '123'                         #在单实例已有密码的基础上修改密码,推荐使用!

update mysql.user set password=password(456) where user='root' and host='localhost';              #登录mysql后执行,完成后如需要flush privileges

set password=password('oldboy123');                                        #登录mysql后执行

>>>mysql密码丢失找回方法(单实例)

1)停止mysql:/etc/init.d/mysqld stop

2)忽略授权表:mysqld_safe --skip-grant-tables --user=mysql &

3)update mysql.user set password=password(456) where user='root' and host='localhost';

flush privileges;

4)重启:mysqladmin -uroot -p456 shutdown

/etc/init.d/mysqld start

>>>mysql密码丢失找回方法(多实例)

1)关闭mysql:killall mysqld

2)忽略授权表

mysqld_safe  --defaults_file=/data/3306/my.cnf   --skip-grant-tables &

mysql -u root -p -S /data/3306/mysql.sock                                    #登录时空密码

3)update mysql.user set password=password(“oldboy123”) where user='root';

flush privileges;

4)重启:mysqladmin -uroot -poldboy123 -S /data/3306/mysql.sock shutdown

mysqld_safe --defaults-file=/data/3306/my.cnf

4.创建、显示、删除&连接数据库

4.1)创建数据库

create database oldboy;

show create database oldboy\G                                                     #默认的字符集为Latin1,若my.cnf中制定了字符集则创建的数据库为该配置文件中的字符集模式,无需再指定~

2668258288262e62a640c44db79ca2e3.png

create database oldboy_gbk DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;     #可以指定使用特定的字符集创建数据库

0a984401b48c0f68f2af134b716b49d3.png

4.2)企业中创建数据库选择方法

1)根据开发的程序确定字符集(建议UTF8)

2)编译时在my.cnf中指定字符集,建库时默认创建即可

3)编译的时候指定了与程序不同的字符集,则需要在创建数据库时指定所需的字符集

4.3)显示数据库

show databases like '%old%';

de99a9b0431c5df024190578ac2b77e1.png

use oldboy;

select database();                                                     #显示当前数据库

a41b38c437985bd11a079e4ee97c5f87.png

4.4)删除数据库

drop database oldboy_gbk;

4.5)连接数据库

use oldboy;

select version();                                                        #查看数据库版本

select user();                                                            #查看数据库用户

select now();                                                            #查看当前时间

6c8adf41ae338bb44842c3806b99664a.png

show tables;                                                            #进入某库查看所有表

5.删除系统多余账号

select user.host from mysql.user;

drop user "user"@"主机”;                                     #若删除不了,则用delete的方式删 delete from mysql.user where user=' ' and host=' ';  flush privileges;

6.创建mysql用户及赋权

对用户的授权采用最小化原则(如,只给insert,delete,update,select,create,drop权限,等部署好后回收create,drop权限,主从库授权可能不同)

help grant

CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'mypass';    #默认为USAGE权限

GRANT ALL ON db1.* TO 'jeffrey'@'localhost';                            #可以写为GRANT all privileges ON db1.* TO 'jeffrey'@'localhost' IDENTIFIED BY 'mypass';

GRANT SELECT ON db2.invoice TO 'jeffrey'@'localhost';

GRANT USAGE ON *.* TO 'jeffrey'@'localhost' WITH MAX_QUERIES_PER_HOUR 90;

查看ALL PRIVILEGES包括哪些

1)通过踢除一个权限从而看到其他所有权限

740fefb83e5160fa7c214965994074b9.png

#筛选语句mysql -uroot -poldboy123 -S /data/3306/mysql.sock -e "show grants for jeffrey@localhost;"|grep -i grant|tail -1|tr ',' '\n' >all.txt

e4f6e686c73d802e25b8dc1d62fc6081.png

2)也可在库中通过查询user表查询权限

use mysql

show tables;

4468eab523258239fa30beba627225d8.png

desc user\G;

703aa6453f0788bfd32a812ac63fdc25.png

。。。

2018年10月28日

祝好!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值