为什么80%的码农都做不了架构师?>>>
设置更改root密码
启动mysql然后将/usr/local/mysql/bin/临时添加到环境变量
export PATH=$PATH:/usr/local/mysql/bin
永久添加则将上面命令添加到/etc/profile中
并且执行source /etc/profile
source /etc/profile
使用mysql -uroot使用mysql : 适用没设置密码时
[root@yolks2 ~]# mysql -uroot
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.39 MySQL Community Server (GPL)
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
设定root密码
mysqladmin -uroot password 'mysql123' #设置root用户密码为123
设定之后再使用mysql -uroot就已经不可以登陆了:提示拒绝
[root@yolks2 ~]# mysql -uroot
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
使用用户名+密码登录 :建议密码加单引号
mysql -uroot -pmysql123
修改密码:从mysql123 修改为 mysql123456
mysqladmin -uroot -p'mysql123' password 'mysql123456'
密码重置
1.修改配置文件 /etc/my.cnf ,mysqld位置增加skip-grant(忽略授权,即免密码登录)
skip-grant
2.重启mysql
/etc/init.d/mysqld restart
3.免密登录mysql -uroot
4.切换到mysql库
use mysql;
5.修改mysql库下的user表
update user set password=password('mysql123') where user='root';
查询user表下的密码列
select password from user;
+-------------------------------------------+
| password |
+-------------------------------------------+
| *F861720E101148897B0F5239DB926E756B1C28B3 |
| *F861720E101148897B0F5239DB926E756B1C28B3 |
| *F861720E101148897B0F5239DB926E756B1C28B3 |
| *F861720E101148897B0F5239DB926E756B1C28B3 |
| |
| |
+-------------------------------------------+
6 rows in set (0.00 sec)
6.修改完之后再去掉mysql配置文件的skip-grant
连接mysql
- 常用连接选项
- mysql -uroot -p123456 (用户名密码,一般也是本地)
- mysql -uroot -p123456 -h127.0.0.1 -P3306 (ip端口号比较常用)
- mysql -uroot -p123456 -S/tmp/mysql.sock (只适合本机)
- mysql -uroot -p123456 -e "show databases" (连接之后执行命令,使用场景:shell脚本中)
mysql常用命令
- 常用命令
- show databases; : 查询数据库
- use mysql; :切换库
- show tables; : 查看当前库里的表
- desc users; : 查看表字段
- show create table user\G; : 查看建表语句 (\G 的作用是将查到的结构旋转90度变成纵向)
- select user; : 查看当前用户
- select databse(); :查看当前使用的数据库
- create databse dbtest; : 创建数据库
- create table user(
id
int(4),name
varchar(20)); : 创建数据表 - drop table user; : 删除数据表
- select version(); : 查看数据库版本
- show status; : 查看数据库状态
- show variables; : 查看系统变量及其值
- show variables like '%max_connection%'; : 显示最大连接数
- set global max_connect_errors=1000; : 设置最大错误连接数
- show processlist; :查看队列
- show full processlist; :查看完整队列
mysql命令历史纪录文件 : .mysql_history
拓展
mysql5.7 root密码更改 http://www.apelearn.com/bbs/thread-7289-1-1.html
myisam 和innodb引擎对比 http://www.pureweber.com/article/myisam-vs-innodb/
知乎上的答案 https://www.zhihu.com/question/20596402
mysql 配置详解:https://www.jb51.net/article/48082.htm
mysql调优: http://www.aminglinux.com/bbs/thread-5758-1-1.html
同学分享的亲身mysql调优经历: http://www.apelearn.com/bbs/thread-11281-1-1.html