【mysql】常用命令

一 系统mysql用户密码查询

1、在工程目录如/usr/local/httpd/下的*.php中查找类似有db.inf的文件

以php为例。

2、在代码文件中确认有数据库连接的的功能实现

例如:

复制代码
$dbconf   = parse_ini_file('/usr/local/httpd/conf/db.inf');
$link = mysql_connect($dbconf['db_address'],$dbconf['db_username'],$dbconf['db_password']);
mysql_select_db('username',$link);

3、cat /usr/local/httpd/conf/db.inf可看到用户名密码,例如:

db_address=localhost

db_username=user01

db_password=pass

db_name=dbname01

4、登录验证:

/usr/local/mysql/bin/mysql -u user01 -ppass

二 不知道mysql root密码的情况下再增加一个超级用户办法【简要说明】

1 杀死原有进程

kill -9 mysql进程

2 启动mysql无权限表模式

/usr/local/mysql/bin/mysqld_safe --datadir=/mysql_data --user=mysql --pid-file=/mysql_data/mysql.pid --skip-grant-tables &

3 不需要口令即可登录mysql:

/usr/local/mysql/bin/mysql

以上无权限表模式启动后可能要稍等片刻,才能执行/usr/local/mysql/bin/mysql

否则会报ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

4 新建名为admin的超级用户

mysql> GRANT ALL PRIVILEGES ON . TO admin@localhost IDENTIFIED BY 'xxxxxx' WITH GRANT OPTION;

GRANT ALL PRIVILEGES ON . TO admin@localhost IDENTIFIED BY 'xxxxxx' WITH GRANT OPTION;无法执行,

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

mysql> insert into mysql.user(Host,User,Password) values("%","admin",password("xxxxxx"));

Query OK, 1 row affected, 3 warnings (0.00 sec)

mysql> flush privileges; <-------------------------------------------重要

Query OK, 0 rows affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON . TO admin@localhost IDENTIFIED BY 'xxxxxx' WITH GRANT OPTION;

Query OK, 0 rows affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON . TO admin@"%" IDENTIFIED BY 'xxxxxx' WITH GRANT OPTION;

Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

$ /usr/local/mysql/bin/mysql -uadmin -pxxxxx;

mysql> use mysql

Database changed

mysql> select * from user;

三 查看数据库概况

1 数据库版本

select VERSION()

mysql --version

或简写为:

mysql -V


2 查看变量情况

mysql> show variables like '%char%';

±-------------------------±---------------------------------+

| Variable_name | Value |

±-------------------------±---------------------------------+

| character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | utf8 |

| character_set_filesystem | binary |

| character_set_results | utf8 |

| character_set_server | utf8 |

| character_set_system | utf8 |

| character_sets_dir | /usr/local/mysql/share/charsets/ |

±-------------------------±---------------------------------+

8 rows in set (0.00 sec)

3 查看用户情况

mysql> select * from user;

四 授权

1 授权查询和更新权限

GRANT SELECT ON db01.table01 TO 'user01'@'%' IDENTIFIED BY 'password';

GRANT UPDATE ON db01.table01 TO 'user01'@'%' IDENTIFIED BY 'password';

相关推荐
顾林海2 分钟前
Android文件系统安全与权限控制:给应用数据上把“安全锁”
android·面试·操作系统
青莲8433 分钟前
Android 动画机制完整详解
android·前端·面试
城东米粉儿4 分钟前
android 离屏预渲染 笔记
android
未知名Android用户7 分钟前
Android自定义 View + Canvas—声纹小球动画
android
202321336054 刘10 分钟前
Linux常用命令分类整理
linux·运维·数据库
Q741_14712 分钟前
海致星图招聘 数据库内核研发实习生 一轮笔试 总结复盘(2) 作答语言:C/C++ 哈夫曼编码 LRU
c语言·数据库·c++·算法·笔试·哈夫曼编码·哈夫曼树
齐 飞21 分钟前
快速删除mysql表中所有数据-TRUNCATE TABLE
数据库·mysql
想摆烂的不会研究的研究生23 分钟前
每日八股——Redis(2)
数据库·redis·缓存
optimistic_chen25 分钟前
【Redis系列】主从复制
linux·数据库·redis·缓存·中间件·命令行·主从复制
一个天蝎座 白勺 程序猿30 分钟前
KingbaseES 处理 PL/SQL 运行时错误全解析:从异常捕获到异常处理的实践指南
数据库·sql·oracle·kingbasees