install mysql service on centos 7 install 1 2 3 4 $ sudo wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm $ sudo md5sum mysql57-community-release-el7-9.noarch.rpm $ sudo rpm -ivh mysql57-community-release-el7-9.noarch.rpm $ sudo yum install mysql-server
start mysql 1 2 3 4 5 $ sudo systemctl start mysqld $ sudo systemctl status mysqld $ sudo grep 'temporary password' /var/log /mysqld.log $ sudo mysql_secure_installation $ mysqladmin -u root -p version
复制一下temporary password这一步的输出,在做安全配置的时候会用上。 如果密码配置正确,mysqld正常运行那么version这步会输出版本信息 关于配置的东西,以后再说。(逃
login mysql service 1 $ mysql -u root -P8306 -p
-P参数指定远端服务器mysqld监听的端口,中间不要留空格,如果不指定,默认端口3306
1 2 mysql > insert into mysql.user(host,user,password,select_priv,insert_priv,update_priv) values ('localhost','meow',password('meow123456'),'Y','Y','Y');
host用来指定user可以从哪台设备登陆,可以是localhost,或具体的ip,如果允许任意远程主机登陆就用’%’代替。 插入用户数据的时候可以指定权限,当然也可以现在不指定,以后通过grant来指定。1 mysql > grant select,insert,update,delete,create,drop on somedatabase.* to 'meow'@'localhost' identified by 'meow123456';
通过grant all privileges on 可以开放所有权限,on后面指定具体的db文件,可以在这里指定用户可以访问到的数据库。 通过以下指令可以知道所有可以分配的权限。1 mysql > show columns from mysql.user like '%priv';
管理mysql的命令 use AirMonitor;切换到具体的某个数据库 show databases;显示当前登陆用户有权访问的所有数据库 show tables;显示当前数据库中的所有表 show columns from device_0001;显示数据表的属性,属性类型,主键信息 ,是否为 NULL,默认值等其他信息。 show index from device_0001\G;显示表的详细索引信息,包括primary key,\G类似于格式化显示 show table status like1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 mysql> show columns from device_0001; +----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+-------+ | id | int(11) | NO | PRI | NULL | | | time | datetime | NO | | NULL | | | lng | varchar(45) | NO | | NULL | | | lat | varchar(45) | NO | | NULL | | | alt | varchar(45) | NO | | NULL | | | CO | double | YES | | NULL | | | SO2 | double | YES | | NULL | | | NO2 | double | YES | | NULL | | | O3 | double | YES | | NULL | | | PM25 | double | YES | | NULL | | | PM10 | double | YES | | NULL | | | temp | double | YES | | NULL | | | humi | double | YES | | NULL | | | pressure | double | YES | | NULL | | | VOCs | double | YES | | NULL | | | CO2 | double | YES | | NULL | | | LEL | double | YES | | NULL | | +----------+-------------+------+-----+---------+-------+ 17 rows in set (0.00 sec) mysql> show index from device_0001\G; *************************** 1. row *************************** Table: device_0001 Non_unique: 0 Key_name: PRIMARY Seq_in_index: 1 Column_name: id Collation: A Cardinality: 0 Sub_part: NULL Packed: NULL Null: Index_type: BTREE Comment: Index_comment: 1 row in set (0.00 sec)
基本操作 创建数据库,如果存在则不创建,并且创建的时候指定编码utf-8
1 CREATE DATABASE IF NOT EXISTS VoidSoul DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
删除数据库(或删除数据表)
1 2 drop database VoidSoul; drop table VSTable;
切换当前数据库
创建数据表并指定字段
1 2 3 4 5 6 7 CREATE TABLE IF NOT EXISTS `vstable`( `id` INT UNSIGNED AUTO_INCREMENT, `name` VARCHAR(100) NOT NULL, `age` INT UNSIGNED, `registry_time` DATE, PRIMARY KEY ( `runoob_id` ) )ENGINE=InnoDB DEFAULT CHARSET=utf8;
其中,表名和字段名周围的符号是
(Esc下面那个),不是单引号
插入数据和查询数据
1 2 3 insert into vstable (2,'miao',24,now()); select * from vstable; select * from vstable where age>20;
更新数据
1 update vstable set age=25 where name='miao';
删除数据
1 delete from vstable where name='miao';
用like子句查询,例:提取以ao为结尾的名字的记录
1 select * from vstable where name like '%ao';
待续