mysql常用的管理命令myql

来源:互联网 发布:网络空间安全专业排名 编辑:程序博客网 时间:2024/05/21 11:01
查看所有用户
select user,host,password from mysql.user;

查看用户权限
show grants for 'slave119'@'10.20.21.%';

创建用户
CREATE USER 'username'@'192.168.1.%' IDENTIFIED BY '123456';

授予普通用户增删改查权限
GRANT SELECT,INSERT,UPDATE,DELETE ON db1.* TO 'user1'@'10.10.10.%'

设置或修改用户密码
SET PASSWORD FOR 'username'@'192.168.1.%' = PASSWORD("123456");

删除用户
DROP USER 'username'@'192.168.1.%';

授予从库用户权限
GRANT RELOAD, SUPER, REPLICATION SLAVE ON *.* TO 'slave'@'10.10.10.%'

授予普通用户只读权限
GRANT select ON db1.* TO 'reader'@'192.168.1.123' 


查看权限
show grants for 'root'@'%';

回收权限
REVOKE ALL ON *.* FROM 'user1'@'10.10.10.%';


最后必须刷新权限表
flush privileges;

备份数据库
/usr/local/mysql/bin/mysqldump -v -E -e -R --triggers -F --single-transaction -n --opt --master-data=2 --hex-blob  DATABASENAME>/xxx/kt.sql

备份或导出单张表
mysqldump -uroot -p  db table > table.sql
--hex-blob
使用十六进制格式导出二进制字符串字段
--master-data=2
导出的时候mysql文件中带CHANGE MASTER TO
--all-databases, -A
导出全部数据库。
--databases,  -B
导出几个数据库。参数后面所有名字参量都被看作数据库名。

还原
mysql -u root -p db1

创建库
CREATE DATABASE db1 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

删除库
DROP DATABASE db1;

创建表
CREATE TABLE t1
(
  id int(11) auto_increment primary key,
  name varchar(255),
  sex varchar(255),
  email varchar(255)
)ENGINE=MyISAM DEFAULT CHARSET=utf8;

删除表
DROP TABLE t1;

重命名表
RENAME TABLE old_name TO new_name;

字段修饰符
AUTO_INCREMENT 自增
primary key   主键
NULL          允许NULL
NOTNULL      不允许NULL
DEFAULT       默认值
unique        唯一索引
index         索引

删除表
DROP table tb1;

添加字段
ALTER TABLE t1 ADD field_name char(100) after id;

修改字段
ALTER TABLE t1 CHANGE field_name field_name char(100);

删除字段
ALTER TABLE t1 DROP field_name;


添加记录
删除记录
修改记录
查询记录

查看表大小
select concat(round(sum(data_length/1024/1024),2),'MB') as data_length_MB, concat(round(sum(index_length/1024/1024),2),'MB') as index_length_MB  from information_schema.tables where  table_schema='caizhaobang' and table_name = 'results';    //table_schema数据库名   table_name表名称





主库操作

1. 配置文件
server-id=1
log-bin=mysql-bin

2. 备份主数据库
mysqldump -v -e -R --triggers -F --single-transaction -n --opt --master-data=2 --hex-blob -B zabbix_server >/root/zabbix_server.sql

3. 在主库上创建复制账号
grant replication slave on *.* to "slave"@'10.200.3.%' identified by "123456";
flush privileges;

4. 把导出的数据库复制到从库
scp ***.sql root@10.200.3.152:~

5. 查看主库状态
show master status;


从库操作

1. 配置文件
server-id=2
replicate_do_db=zabbix_server

2. 设置从库复制点
stop slave;
change master to master_host='10.200.3.151',master_user='slave',master_password='123456';
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=106;

3. 创建从库
create database zabbix_server default character set utf8 default collate utf8_general_ci;

4. 导入数据库
use zabbix_server;
source /root/zabbix_server.sql;

5. 开始同步
start slave;




mysql忘记root密码的解决方法

/etc/init.d/mysqld stop
vim /etc/my.cnf
[mysqld]最下面添加
skip-grant-tables
/etc/init.d/mysqld start
mysql
update mysql.user set password=password('') where user='root';
quit;
/etc/init.d/mysqld stop
vim /etc/my.cnf
去掉skip-grant-tables
/etc/init.d/mysqld start
0 0
原创粉丝点击