1. 服务管理
启动关闭服务
LINUX启动MySQL服务
root>service mysqld start (el6)
root>systemctl start mysqld (el7)
LINUX关闭MySQL服务
root>service mysqld stop (el6)
root>systemctl stop mysqld (el7)
LINUX查看当前MySQL服务状态
root>service mysqld status (el6)
root>systemctl status mysqld (el7)
LINUX重新启动MySQL服务
root>service mysqld restart (el6)
root>systemctl restart mysqld (el7)
2. 开机启动MySQL服务
设置开机启动
root>chkconfig mysqld on
设置开机不启动
root>chkconfig mysqld off
查看是否开机启动
root>chkconfig --list | grep -i mysqld
2. 客户端连接mysql
mysql程序在哪里
root>which mysql
MySQL服务程序在哪里
root>which mysqld
MySQL服务启动了吗?启动了才能用mysql客户端连接
root>service mysql status
或者
root>ps -ef |grep -i mysqld |grep -v grep
连接mysql
root>mysql –uroot –p 回车,录入mysql的root用户密码
-u代表mysql的用户名,可以不加空格之间填写连接用户-uroot
-p代表用户名对应的密码,可以直接在-p后面写密码,但是旁边有人能看到
mysql -uroot -p123456
-p后面可以不写密码,直接回车后会提醒录入密码,这样比较安全
退出连接
mysql>quit; 或者 exit;
3. 查询操作
当前用户可以访问的数据库
mysql> show databases;
查看MySQL服务器版本
mysql> select version();
查看当前连接的用户
mysql> select user();
查看当前服务器日期和时间
mysql> select now();
查看“mysql”数据库的表
mysql> show tables from mysql;
或者
mysql>use mysql;
mysql> show tables;
查看当前使用的数据库
mysql> select database();
查看mysql库的user表的列
mysql> desc mysql.user;
如果当前正在使用mysql库
mysql>desc user;
查看mysql库的user表的行
mysql> select * from mysql.user;
user表的列太多,导致折行,把列转成行来看,这样清晰一些
mysql> select * from mysql.user\G
4. 数据库、表、列存放位置
查看数据库存放路径
mysql> show variables like ‘datadir’;
#ls -l /var/lib/mysql (数据库对应磁盘的目录)
查看表存放路径
mysql> show tables from mysql like ‘user’;
[root]# ls -l /var/lib/mysql/mysql/user*
mysql库的user表对应/var/lib/mysql/mysql/user.frm,user.MYD,user.MYI
查看列存放位置
mysql> desc mysql.user;
[root]# strings /var/lib/mysql/mysql/user.frm
user表中的列存放在var/lib/mysql/mysql/user.frm中
查看行存放位置
mysql> select user,host,authentication_string from mysql.user;
[root]# strings /var/lib/mysql/mysql/user.MYD
user表中的行可以在/var/lib/mysql/mysql/user.MYD中找到一些内容
数据库结构与文件结构关系
数据库1(目录1)
表 (文件)
列1,列2,列3,……( 一个表至少有一列 )
行1,行2,行3,……(一个表可以有0到N行)
数据库2(目录2)
表1
表2
表3
……
数据库3(目录3)
表1
……
5. 数据库管理
创建数据库
mysql>create database test;
mysql>show databases;
[root]# ls -l /var/lib/mysql
[root]# ls -l /var/lib/mysql/test
[root]# ls -l /var/lib/mysql/test/db.opt
create database test character set ‘utf8’ collate ‘utf8_general_ci’;
创建名为 “test”的数据库,使用utf8编码可以存储中文
character set
指定字符串以何种编码存储。如果在库中建表,没有指定以何种编码存储,默认使用utf8编码存储表中的字符串
collate
定义字符串排序的顺序和比较的方式
utf8_general_ci,字符串按照UTF8编码比较大小,不区分大小写
ci = case insensitive
删除数据库
mysql>drop database test;
[root]# ls -l /var/lib/mysql
目录会被删除
如果里面有表文件也会被删除
千万不要删除mysql,sys,performance_schema等这些系统数据库
如果删除了,mysql服务器程序崩溃,切记危险!
6. 导入数据
#登录相关的用户和库
mysql>use test;
mysql>source /opt/1.sql;
或者直接在操作系统执行。
#mysql -u username -p database_name < filename.sql
mysql -uroot -p123456 test </opt/1.sql;
7. 数据库编码
一、数据库编码修改
创建数据库时修改
创建完成后修改
二、表编码修改
创建数据表时修改
创建完成后修改表编码
三、字段编码修改
创建字段时修改
修改字段编码