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