13.1 设置更改root密码
简单介绍MySQL的基本操作,如创建一个库,创建一个表,插入数据,创建用户,备份等操作
启用MySQL命令
- profile中声明PATH
[root@axiang-02 ~]# ps aux |grep mysql //查看是否启动[root@axiang-02 ~]# /etc/init.d/mysqld start[root@axiang-02 ~]# export PATH=$PATH:/usr/local/mysql/bin/[root@axiang-02 ~]# vim /etc/profile //添加路径,重启有效[root@axiang-02 ~]# source /etc/profile //刷新profile
修改密码
mysqladmin -uuser -poldpassword password 456
[root@axiang-02 ~]# mysql -uroot //默认不需要密码mysql> quit[root@axiang-02 ~]# mysqladmin -uroot password 'axianglinux.1' //设置新密码,有特殊字符需要引号[root@axiang-02 ~]# mysql -uroot -p'axianglinux.1'mysql> quit[root@axiang-02 ~]# mysqladmin -uroot -p'axianglinux.1' password 'axianglinux.2' //再次修改密码[root@axiang-02 ~]# mysql -uroot -p'axianglinux.2'Welcome to the MySQL //新密码登录成功
重置密码
- MySQL配置文件中添加跳过密码命令并重启服务
- 登录,选择库,设置密码
- 恢复配置文件,重启服务
[root@axiang-02 ~]# vim /etc/my.cnf[mysqld] 下加入一行skip-grant //跳过密码[root@axiang-02 ~]# /etc/init.d/mysqld restart[root@axiang-02 ~]# mysql -urootmysql> use mysqlmysql> update user set password=password('axiang123') where user='root'; //第二个password代表密文保存mysql> quit[root@axiang-02 ~]# vim /etc/my.cnf //删掉skip[root@axiang-02 ~]# /etc/init.d/mysqld restart [root@axiang-02 ~]# mysql -uroot -paxianglinuxWelcome to the MySQL
13.2 连接MySQL
[root@axiang-03 ~]# mysql -uroot -paxianglinux //本机连接mysql> quit[root@axiang-03 ~]# mysql -uroot -paxianglinux -h127.0.0.1 -P3306 //远程连接mysql -h IP地址 -P 端口mysql> quit[root@axiang-03 ~]# ls /tmp/mysql*/tmp/mysql.sock[root@axiang-03 ~]# mysql -uroot -paxianglinux -S/tmp/mysql.sock //用sock只能连接本机,是参数缺省时的默认连接方式mysql> quit[root@axiang-03 ~]# mysql -uroot -paxianglinux -e "show databases" // -e 执行命令。常用于脚本监控Warning: Using a password on the command line interface can be insecure.+--------------------+| Database |+--------------------+| information_schema || mysql || performance_schema || test |+--------------------+
13.3 MySQL常用命令
注意登录mysql后才能使用MySQL内部命令
库的命令 - database
mysql> use mysql; //进入或切换库mysql> select database(); //查看当前所在库mysql> create database axiangDB //创建库mysql> show databases; //查看所有库+--------------------+| Database |+--------------------+| information_schema || axiangDB || mysql || performance_schema || test |+--------------------+5 rows in set (0.01 sec)
表的命令 - table
mysql> create table t1(`id` int(4) , `name` char(40)); //创建表 注意表头,分割mysql> show tables; //查看库中所有的表的列表mysql> desc t1; //查看t1表里的表头和值的类型mysql> show create table t1\G; //查看创建表的参数mysql> drop table t1; //删除表
其他
select version(); //查看当前数据库版本 show status; //查看数据库状态 select user(); //查看当前用户 - 直接登录或者127登录,显示为localhost - 换位内网登录 mysql -uroot -paxianglinux -h192...,显示为主机名
-
查看各参数
- show variables;
- show variables like 'max_connect%';
- show variables like 'max_connect%';
- show variables like 'slow%';
-
修改参数
- set global max_connect_errors=1000;
-
查看队列
- 常用来看有哪些用户,执行那些操作,是否锁表等
- show processlist;
- show full processlist; 展示完整info
-
tip
- 可以用方向键找之前的命令,命令历史记录在.mysql_history
- 一般mysql的参数可以在my.cnf中修改,有的参数可以在web后台修改
- 支持清屏等快捷键
- 命令前加入#可以不生效
- “%”表示通配
扩展
- mysql5.7 root密码更改
- myisam 和innodb引擎对比
- mysql 配置详解:
- mysql调优:
- 同学分享的亲身mysql调优经历: