Mysql
跳到导航
跳到搜索
- 安装和启动mysql服务
- yum install mysql
- service mysqld start
- service enable mysqld (开机启动)
- 设置mysql的root用户
- mysqladmin -uroot -p password 'newpassword'
- 这种情况有时会报错,网上给出的方法是
# /etc/init.d/mysql stop # mysqld_safe --user=mysql --skip-grant-tables --skip-networking & # mysql -u root mysql mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root'; mysql> FLUSH PRIVILEGES; mysql> quit
- 建立某个数据库db1
- mysql -u root -p
- password:***
- mysql>create database db1;
- mysql>grant all on db1.* to dbuser@localhost identified by 'password'; (建立一个dbuser的数据库用户)
- mysql>exit
- 测试dbuser
- mysql -u dbuser -p
- 导入备份数据库
- mysql -u root -p db1 < "data base backup file"
- 备份数据库
- mysqldump -u root -p 'pasword' db1 | gzip > /bak/db1.bakup.gz
- mysql-server 变为 mariadb-server, mariadb-server 和 mariadb-galera-server有冲突,删除mariadb-galera-server即可.
- 查看MySQL的默认数据库存储位置:mysql> show variables like '%dir%';
sql语言
- select [expression] as [colname1],[expression] as [colname2],...;
- 一个select产生数据库中的 一行,select 的数据并不存储
- create table [name] as [select statement];
- 将select的数据存储为table
- select [columns] from [table] where [condition] order by [order];
- select [columns] from [table1],[table2]
- 自动将两个table结合起来,记录数会变为N1*N2,如果两个表有相同的column名字,那么可以用table.column来区分
- [expression]可以有各种运算符:如+,-,*,/,%,and,or,abs,round,not,<,<=,>,>=,<>,!= 等
- 字符串的处理:"hello,"|| "world" 就是 hello,world,还有substr(),instr()等命令
- 有一些命令可以直接处理所有记录,如max,sum等,count,distinct
- group 处理部分选择的row(distinct的value)
- select [columns] from [table] group by [expression] having [expression]