linux下MySQL使用方法

一、登录MySQL

登录 MySQL 的命令是 mysql, mysql 的使用语法如下: mysql [-u username] [-h host] [-p[password]] [dbname]

username 与 password 分别是 MySQL 的用户名与密码,mysql 的初始管理帐号是 root,没有密码,注意:这个 root 用户不是 Linux 的系统用户。MySQL 默认用户是 root,由于 初始没有密码,第一次进时只需键入 mysql 即可。 [root@test1 local]# mysql

Welcome to the MySQL monitor. Commands end with or \g. Your MySQL connection id is 1 to server version: 4.0.16-standard Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer. mysql>

出现了 “mysql>” 提示 符,恭喜你,安装成功! 增加了密码后的登录格式如下: mysql -u root -p

Enter password: (输入密码)

其中 -u 后跟的是用户名,-p 要求输入密码,回车后在输入密码处输入密码。

注意:这个 mysql 文件在 /usr /bin 目录下,与后面讲的启动文件 /etc/init.d/mysql 不是一个文件。

二、MySQL的几个重要目录

MySQL 安装完成后不象 SQL Server 默认安装在一个目录,它的数据库文件、配置文件和命令文件分别在不同的目录,了解这些目录非常重要,尤其对于 Linux 的初学者,因为 Linux 本身的目录结构就比较复杂,如果搞不清楚 MySQL 的安装目录那就无从谈起深入学习。

下面就介绍一下这几个目录。

1、 数据库目录
/var/lib/mysql/

2、配置文件
/usr/share /mysql(mysql.server命令及配置文件)

3、相关命令
/usr/bin(mysqladmin mysqldump等命令)

4、启动脚本
/etc/rc.d/init.d/(启动脚本文件mysql的目录)

三、修改登录密码
MySQL 默认没有密码,安装完毕增加密码的重要性是不言而喻的。

1、命令
usr/bin/mysqladmin -u root password ‘new-password’ 格式:mysqladmin -u 用户名 -p 旧密码 password 新密码

2、例子
例 1:给 root 加个密码 123456。 键入以下命令 :
[root@test1 local]# /usr/bin/mysqladmin -u root password 123456 注:因为开始时root没有密码, 所以 -p 旧密码一项就可以省略了。

3、测试是否修改成功
1)不用密码登录
[root@test1 local]# mysql
ERROR 1045: Access denied for user: ‘root@localhost’ (Using password: NO) 显示错误,说明密码已经修改。

2)用修改后的密码登录
[root@test1 local]# mysql -u root -p Enter password: (输入修改后的密码123456)
Welcome to the MySQL monitor. Commands end with or \g. Your MySQL connection id is 4 to server version: 4.0.16-standard Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer. mysql> 成功!

这是通过 mysqladmin 命令修改口令,也可通过修改库来更改口令。

四、启动与停止
1、启动
MySQL 安装完 成后启动文件 mysql 在 /etc/init.d 目录下,在需要启动时运行下面命令即可。
[root@test1 init.d]# /etc/init.d/mysql start

2、停止
/usr/bin/mysqladmin -u root -p shutdown

3、自动启动
1)察看mysql是否在自动启动列表中
[root@test1 local]# /sbin/chkconfig --list

2)把 MySQL 添加到你系统的启动服务组里面去
[root@test1 local]# /sbin/chkconfig – add mysql

3)把MySQL从启动服务组里面删除。
[root@test1 local]# /sbin/chkconfig – del mysql

五、更改MySQL目录
MySQL 默认的数据文 件存储目录为 /var/lib/mysql。假如要把目录移到 /home/data 下需要进行下面几步:

1、home 目录下建立 data目录 cd /home mkdir data

2、把 MySQL 服务进程停掉: mysqladmin -u root -p shutdown

3、把 /var/lib/mysql 整个目录移到 /home/data mv /var/lib/mysql /home/data/

这样就把 MySQL 的数据文件移动到了 /home/data/mysql 下

4、 找到 my.cnf 配置文件

如果 /etc/ 目录下没有 my.cnf 配置文件,请到 /usr/share/mysql/ 下找到*.cnf 文件,拷贝 其中一个到 /etc/ 并改名为 my.cnf 。命令如下:
[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

5、编辑MySQL的配置文件 /etc /my.cnf

为保证 MySQL 能够正常工作,需要指明 mysql.sock 文件的产生位置。 修改

socket=/var/lib/mysql/mysql.sock 一行中等号右边的值为:/home/mysql/mysql.sock 。操作如下:

vi my.cnf (用 vi 工具编辑 my.cnf 文件,找到下列数据修改之)
#The MySQL server [mysqld]

port = 3306

#socket = /var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行)
socket = /home/data/mysql/mysql.sock (加上此行)

6、修改 MySQL 启动脚本 /etc/rc.d /init.d/mysql

最后,需要修改 MySQL 启动脚本 /etc/rc.d/init.d/mysql,把其中datadir=/var /lib/mysql 一行中,等号右边的路径改成你现在的实际存放路径:home/data/mysql。

[root@test1 etc]# vi /etc/rc.d/init.d/mysql
#datadir=/var/lib/mysql (注释此行)
datadir=/home/data/mysql (加上此行)

7、重新启动 MySQL 服务
/etc/rc.d/init.d/mysql start 或用 reboot 命令重启 Linux

如果工作正常移动就成功了,否则对照前面的 7 步再检查一下。

六、MySQL的常用操作
1、显示数据库
mysql> show databases;
±-------------------+
| Database |
±-------------------+
| information_schema |
| building |
| mysql |
| performance_schema |
| test |
±-------------------+

5 rows in set (0.00 sec)

Mysql 刚安装完有两个数据库:mysql 和 test。mysql 库非常重要, 它里面有 MySQL 的系统信息,我们改密码和新增用户,实际上就是用这个库中的相关表进行操作。

2、显示数据库中的表
mysql> use mysql; (打开库,对每个库进行操作就要打开此库,类似于foxpro )

Database changed

mysql> show tables;
±--------------------------+
| Tables_in_mysql |
±--------------------------+
| columns_priv |
| db |
| event |
| func |
| general_log |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| host |
| ndb_binlog_index |
| plugin |
| proc |
| procs_priv |
| proxies_priv |
| servers |
| slow_log |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
±--------------------------+

24 rows in set (0.00 sec)

3、显示数据表的结构:
describe 表名;

4、 显示表中的记录: (SQL语句中 linux 区分表名大小写)
select * from 表名;

例如:显示 mysql 库中 user 表中的纪录。所有能对 MySQL 用户操作的用 户都在此表中。
Select * from user;

5、建库:
create database 库名;

例如:创建一个名字位 aaa 的库
mysql> create databases aaa;

6、建表:
use 库名;
create table 表名 (字段设定列表);

例如:在刚创建的 aaa 库中建立表 name,表中有 id(序号,自动增 长),xm(姓名),xb(性别),csny(出身年月)四个字段

use aaa;

mysql> create table name (id int(3) auto_increment not null primary key, xm char(8),xb char(2),csny date);

可以用describe命令察看刚建立的表结构。
mysql> describe name;

7、增加记录
例如:增加几条相关纪录。
mysql> insert into name values(’’,‘张三’,‘男’,‘1971-10-01’);
mysql> insert into name values(’’,‘白云’,‘女’,‘1972-05-20’);

可用select命令来验证结果。
mysql> select * from name;

8、修改纪录
例如:将张三的出生年月改为1971-01-10
mysql> update name set csny=‘1971-01-10’ where xm=‘张三’;

9、删除纪录
例如:删除张三的纪录。
mysql> delete from name where xm=‘张三’;

10、删库和删表
drop database 库名;
drop table 表名;

七、向mysql添加新用户并分配权限
用户添加
bin>mysql -u root
mysql> grant 权限1,权限2,…权限 n on 数据库名称.表名称 to 用户名@用户地址 identified by ‘连接口令’;

权限1,权限2,…权限 n 代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14个权限。

当权限1,权限2,…权限n被all privileges或者all代替,表示赋予用户全部权限。

当数据库名称.表名称被.代替,表示赋予用户操作服务器上所有数据库所有表的权限。

用户地址可以是 localhost,也可以是 ip 地址、机器名字、域名。也可以用 ‘%’ 表示从任何地址连接。

'连接口令’不能为空,否则创建失败。

例如:
mysql>grant select,insert,update,delete,create,drop on vtdc.employee to joe@10.163.225.87 identified by ‘123’;
给来自10.163.225.87的用户joe分配可对数据库vtdc的employee表进行select,insert,update,delete,create,drop等操作的权限,并设定口令为123。

mysql>grant all privileges on vtdc.* to joe@10.163.225.87 identified by ‘123’;
给来自10.163.225.87的用户joe分配可对数据库vtdc所有表进行所有操作的权限,并设定口令为123。

mysql>grant all privileges on . to joe@10.163.225.87 identified by ‘123’;
给来自10.163.225.87的用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。

mysql>grant all privileges on . to joe@localhost identified by ‘123’;
给本机用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。

转自
linux下MySQL使用方法

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值