3.2、mysql 忘记root密码,重置root密码

1、没有设置密码时,先设置root密码

# mysqladmin -uroot password '123456'

# mysql -uroot -p

2、忘记mysql密码时,重置mysql密码

# vim /etc/my.cnf     ## 在 [mysqld] 字段添加

skip-grant

# /etc/init.d/mysqld restart

# mysql -uroot

mysql> use mysql;

mysql> update user set password=password('qweasdzxc') where user='root';

# vim /etc/my.cnf     ## 去掉  skip-grant

3.3、mysql登录

1、远程登录mysql

# mysql -uroot -P3306 -pqweasdzxc -h127.0.0.1

2、mysql 授权给远程ip登录

mysql> grant all on *.* to 'user'@'%' identified by '123456';

mysql> grant all on *.* to 'user2'@'192.168.230.128' identified by '123456';

mysql> user mysql;

mysql> select user,password,host from user ;     ##  查看所有的mysql用户和授权情况

远程登录192.168.230.130的mysql

# mysql -uuser -p'123456' -h192.168.230.130

3、本地多个mysql 登录

# mysql -uroot -S /tmp/mysql.sock -p

3.4、mysql 常用操作

1、查看有哪些数据库

mysql> show databases;

2、切换、进入数据库

mysql> use mysql;

3、查看当前当前所在数据库

mysql> select database();

4、查看当前登录的用户

mysql> select user();

5、查看当前数据看版本

mysql> select version();

6、查看当前所在数据的表

mysql> show tables;

7、查看当前数据库中的某个表的字段

mysql> desc user;

8、查看当前数据库某个表的建表语句

mysql> show create table user\G;

9、创建数据库表

(1)mysql> create table t4 (`id` int(4), `name` char(40));

(2)mysql>  create table tb1 (

 id   int(4),

name varchar(40)

) ENGINE=MyISAM DEFAULT CHARSET=GBK;

## id  表中数据第一列名称,name 表中数据第二列名称

例:mysql> create table tb5(`nianling` int(4), `dianhua` char(40));

mysql> desc tb5;

+----------+----------+------+-----+---------+-------+

| Field    | Type     | Null | Key | Default | Extra |

+----------+----------+------+-----+---------+-------+

| nianling | int(4)   | YES  |     | NULL    |       |

| dianhua  | char(40) | YES  |     | NULL    |       |

+----------+----------+------+-----+---------+-------+

10、插入数据至表;

mysql> insert into tb5(nianling,dianhua) values(20,'10086');

11、查询表数据

mysql> select * from tb5;

+----------+---------+

| nianling | dianhua |

+----------+---------+

|       20 | 10086   |

+----------+---------+

1 row in set (0.00 sec)

12、更新数据

mysql> update tb5 set nianling='cc' where dianhua=1;

13、删除指定的行

mysql> delete from tb5 where nianling=20;

mysql> select * from tb5;

Empty set (0.00 sec)

14、清空一张表,保留表结构

mysql> truncate table tb5;

16、删除一张表

mysql> drop table tb2;

17、删除数据库

mysql> drop database test;

3.5、mysql 常用操作2

1、创建mysql用户

mysql> grant all on *.* to 'user5'@'localhost' identified by '123456';

mysql> grant all on *.* to 'user6'@'192.168.230.128' identified by '123456';

grant:授权

all:所有的权限,增删改查

*.*  :   第一个 * 表示某个数据库,第二个 * 表述对数据库下的表

user5,user6 表示用户名

localhost,192.168.230.128 : 表示登录的来源ip, 也可以设置成192.168.230.%  表示允许192.168.230网段的来源ip,或者单独一个  %  表示允许所有的ip

2、刷新权限

mysql> flush privileges;

3、查看当前使用的进程

mysql> show processlist;

4、查看变量

mysql> show variables;        ## 全部变量

mysql> show variables like 'max_connect%';    ##查看以 max_connect 开头的变量 %通配

5、修改变量

mysql> set global max_connect_errors=100;

这种设置方法只是临时设置,如果重启mysql服务,刚刚设置会失效,想永久生效,那么应将 max_connect_errors 设置到mysql的配置文件中 /etc/my.cnf 中

6、查看状态信息

mysql> show status;      ##查看所有状态信息

mysql> show status like '%_rows';           ##查看以 _rows 结尾的状态信息  %通配

7、产看mysql错误日志

# ll /data/mysql/

# tail -f  /data/mysql/master1.err

# tail -f /data/mysql/localhost.localdomain.err

8、修复mysql 表

mysql> repair table db.tb1;    ## db 库名字    tb1是db库中表的名字tb1

3.7、mysql 备份与恢复

1、备份库:

# mysqldump -uroot -p mysql > ./mysql20180330.sql    ##输入root密码,备份成功

mysql 备份出现警告

# mysqldump -uroot -p mysql > ./mysql20180330.sql

Enter password:

-- Warning: Skipping the data of table mysql.event. Specify the --events option explicitly.

解决方法

# mysqldump -uroot -p  --events --ignore-table=mysql.event mysql > mysql20180330.sql

2、恢复库:

# mysql -uroot -p mysql < mysql20180330.sql        ##输入密码,恢复成功

3、备份表

# mysqldump -uroot -p mysql db > ./mysql.db20180330.sql

4、恢复表

# mysql -uroot -p mysql < mysql.db20180330.sql

5、字符集 备份

# mysqldump -uroot -p --default-character-set=gbk mysql > ./mysqlzifu20180330.sql

出现警告提示

# mysqldump -uroot -p --default-character-set=gbk mysql > ./mysqlzifu20180330.sql

-- Warning: Skipping the data of table mysql.event. Specify the --events option explicitly.

解决办法

mysqldump -uroot -p --events --ignore-table=mysql.event   --default-character-set=gbk mysql > ./mysqlzifu20180330.sql

6、恢复

# mysql -uroot -p --default-character-set=gbk mysql < mysqlzifu20180330.sql