Mysql常用操作
1.更改root密码
1.1更改环境变量
修改/etc/profile文件,文件尾添加mysql的绝对路径
export PATH=$PATH:/usr/local/mysql/bin/
1.2创建MySQL密码
使用命令mysqladmin -uroot password ‘123456‘为root用户创建初始密码
[root@localhost~]# mysq1admin -uroot password ‘123456‘
warning: using a password on the command line interface can be insecure.
注释:可以忽略warning内容,指的是明码输入屏幕不安全。
使用命令mysql -uroot -p123456,完成初始密码登录
1.3 密码重置
修改配置文件/etc/my.cnf,在mysqld配置段,增加字段skip-grant
[mysq1d] skip-grant # Remove leading # and set to the amount of RAM for the most important data # cache in MysQL. start at 70% of total RAM for dedicated server,else 10%. #innodb_buffer poo1_size = 128M # Remove leading # to turn on a very important data integrity option: logging#changes to the binary log between backups.
修改完成后,重启mysql服务: /etc/init.d/mysqld restart
使用命令登入MySQL,切换到mysql库,对user表进行更新操作
mysql> use mysql; Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -A Database changed mysq1> update user set password=password( ‘ aminglinux‘) where user=‘ root‘;Query ok,4 rows affected (0.0o sec) Rows matched: 4 Changed: 4 warnings: 0
修改完成后,确认新密码登录有效。把/etc/my.cnf改回原有状态,并重启mysql服务。
2.MySQL常用命令
查看数据库:
show databases;
创建数据库:
create database db1 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database db1 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
使用数据库:
use db1;
查看库里的表:
show tables;
查看表里字段:
desc user;
查看建表语句:
show create table tb_name\G;
查看当前用户:
select user();
查看当前使用的数据库:
select database();
查看数据库状态:
show status;
3.用户
创建用户:
create user ‘用户名‘@‘IP地址‘ identified by ‘密码‘;
删除用户:
drop user ‘用户名‘@‘IP地址‘;
修改用户:
rename user ‘用户名‘@‘IP地址‘; to ‘新用户名‘@‘IP地址‘;
说明:CREATE USER ‘username‘@‘host‘ IDENTIFIED BY ‘password‘;
- username:你将创建的用户名
- host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符
%
- password:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器
4.权限
查看权限:
show grants for ‘用户‘@‘IP地址‘
授权:
grant 权限 on 数据库.表 to ‘用户‘@‘IP地址‘
取消授权:
revoke 权限 on 数据库.表 from ‘用户‘@‘IP地址‘
说明:
- privileges:用户的操作权限,如
SELECT
,INSERT
,UPDATE
等,如果要授予所的权限则使用ALL
- databasename:数据库名
- tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用
*
表示,如*.*
5.备份与恢复
备份库:
mysqldump -uroot -p123456 mysql > /tmp/mysql.sql
恢复库:
mysql -uroot -plinux mysql < /tmp/mysql.sql
备份表:
mysqldump -uroot -plinux mysql user > /tmp/user.sql
恢复表:
mysql -uroot -plinux mysql < /tmp/user.sql
备份所有库:
mysql dump -uroot -p -A > /tmp/123.sql
只备份表结构:
mysqldump -uroot -p123456 -d mysql > /tmp/mysql.sql