<>运维常用Mysql基本命令
<>基本命令
#远程连接 mysql -h hostname -u root -p #创建数据库 create database [databasename];
#列出所有数据库。 show databases; #选择数据库 use databasename; #删除列。 1. mysql> alter table
[table name] drop column [column name]; #新增列到db。 1. mysql> alter table [table
name] add column [new column name] varchar (20); #更改列名。 1. mysql> alter table
[table name] change [old column name] [new column name] varchar (50); #增加唯一的列。
1. mysql> alter table [table name] add unique ([column name]); #设置列值大点。 1.
mysql> alter table [table name] modify [column name] VARCHAR(3); #删除唯一列。 1.
mysql> alter table [table name] drop index [colmn name]; #直接删除数据库,不提醒 drop
database name # 显示表 show tables; #删除一个数据表。 drop table [table name];
#查看数据表的字段格式。 describe [table name]; #显示一个数据表的所有数据。 SELECT * FROM [table name];
#中加上distinct去除重复字段 select #删除数据库前,有提示。 mysqladmin drop databasename
#显示当前mysql版本和当前日期 select version(),current_date;
<>用户相关
#更新root密码。 mysqladmin -u root -p oldpassword newpassword #修改root密码 mysql>
update user set password=password(”xueok654123″) where user=’root’; #刷新数据库
mysql> flush privileges #打开数据库 mysql>use dbname; #显示所有数据库 mysql>show databases;
#显示数据库mysql中所有的表:先use mysql;然后 mysql>show tables; #显示表mysql数据库中user表的列信息);
mysql>describe user; #创建用户 格式:grant select on 数据库.* to 用户名@登录主机 identified by
“密码” GRANT ALL PRIVILEGES ON *.* TO monty@localhost IDENTIFIED BY ’something’
WITH GRANT OPTION; GRANT ALL PRIVILEGES ON *.* TO monty@”%” IDENTIFIED BY
’something’ WITH GRANT OPTION; #删除授权 mysql> revoke all privileges on *.* from
root@”%”; mysql> delete from user where user=”root” and host=”%”; mysql> flush
privileges; #更改用户密码。以root登录,设置密码,更新权限。 1. mysql> use mysql; 2. mysql> update
user set password=PASSWORD("newrootpassword") where User='root'; 3. mysql>
flush privileges;
<>实例
#新建一个用户。以root登录。切换到mysql数据库,创建用户,刷新权限。 1. \# mysql -u root -p 2. mysql> use
mysql; 3. mysql> INSERT INTO user (Host,User,Password)
VALUES('%','username',PASSWORD('password')); 4. mysql> flush privileges;
<>同步相关
#查看binlog状态 show master status; #启动同步 start slave; #刷新权限 flush privileges;
#主从复制创建用户授权远程访问 grant replication slave on *.* to 'copy65'@'%' identified by
'123456'; #其中*.* 的第一个*表示所有数据库名,第二个*表示所有的数据库表,root@'%'
中的root表示用户名,%表示ip地址,%也可以指定具体的ip地址, grant all privileges on *.* to root@'%'
identified by '123456'; #如果从服务器不是初始状态,建议重置一下: stop slave; reset slave;
#重置logbin reser master #设置主从关系 change master to
master_host='192.168.187.128',master_user='copy',master_port=3307,master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=154;
#锁表 flush tables with read lock; #解锁 unlock tables;
<>备份相关
#备份数据库 shell> mysqldump -h host -u root -p dbname >dbname_backup.sql #恢复数据库
shell> mysqladmin -h myhost -u root -p create dbname shell> mysqldump -h host
-u root -p dbname < dbname_backup.sql #导出所有数据库到sql文件。 shell> mysqldump -u root
-ppassword --opt >/tmp/alldatabases.sql
<>查询相关
#使用值“whatever”过滤显示选定的某些行。 1. mysql> SELECT * FROM [table name] WHERE [field
name] = "whatever"; #连表查询 SELECT pwd,account_pwd FROM idt_user,app_account
WHERE idt_user.user_uid = app_account.account_no and user_uid = 'nianchuns';
#显示所有包含name为”Bob”和phone number为“3444444”的记录。 1. mysql> SELECT * FROM [table
name] WHERE name = "Bob" AND phone_number = '3444444'; #显示所有不包含name为”Bob”和phone
number为“3444444”的记录,并以phone_number字段排序。 1. mysql> SELECT * FROM [table name]
WHERE name != "Bob" AND phone_number = '3444444' order by phone_number;
#显示所有的name以字母“bob”开头和phone number为“3444444”的记录。 1. mysql> SELECT * FROM [table
name] WHERE name like "Bob%" AND phone_number = '3444444';
#显示name以字母“bob”开头和phone number为“3444444”的第1至第5条记录。 1.mysql> SELECT * FROM
[table name] WHERE name like "Bob%" AND phone_number = '3444444' limit 1,5;
#使用正则表达式查找记录。使用“正则表达式二进制”强制区分大小写。此命令查找以a开头的任何记录。 1.mysql> SELECT * FROM [table
name] WHERE rec RLIKE "^a"; #返回唯一不同的记录。 1. mysql> SELECT DISTINCT [column name]
FROM [table name]; #以升序或降序显示选定的记录。 1. mysql> SELECT [col1],[col2] FROM [table
name] ORDER BY [col2] DESC; #返回行数。 mysql> SELECT COUNT(*) FROM [table name];
#统计指定列值的总和。 1. mysql> SELECT SUM(*) FROM [table name]; #联结表。 1.mysql> select
lookup.illustrationid, lookup.personid,person.birthday from lookup left join
person on lookup.personid=person.personid=statement to join birthday in person
table with primary illustration id; #