MySQL start and stop under Linux

Source: Internet
Author: User

mysql、启动与停止     1、启动     MySQL安装完成后启动文件mysql在/etc/init.d目录下,   在需要启动时运行下面命令即可。     [[email protected] init.d]# /etc/init.d/mysql start     2、停止  /usr/bin/mysqladmin -u root -p shutdown     3、自动启动     1)察看mysql是否在自动启动列表中     [[email protected] local]# /sbin/chkconfig –list     2)把MySQL添加到你系统的启动服务组里面去     [[email protected] local]# /sbin/chkconfig – add mysql     3)把MySQL从启动服务组里面删除。     [[email protected] 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)中。命令如下:       [[email protected] 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。     [[email protected] 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的常用操作     注意:MySQL中每个命令后都要以分号;结尾。     1、显示数据库     mysql> show databases;     +----------+  | Database |  +----------+    | mysql  |  | test   |  +----------+     2 rows in set (0.04 sec)     Mysql刚安装完有两个数据库:mysql和test。   mysql库非常重要,它里面有MySQL的系统信息,我们改密码和新增用户,实际上就是用这个库中的相关表进行操作。     2、显示数据库中的表     mysql> use mysql; (打开库,对每个库进行操作就要打开此库,类似于foxpro )    Database changed     mysql> show tables;     +-----------------+  | Tables_in_mysql |     +-----------------+  | columns_priv  |     | db       |  | func      |     | host      |  | tables_priv   |     | user      |  +-----------------+     6 rows in set (0.01 sec)     3、显示数据表的结构:     describe 表名;     4、显示表中的记录:     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;     +-------+---------+------+-----+---------+----------------+     | Field | Type  | Null | Key | Default | Extra     |     +-------+---------+------+-----+---------+----------------+      | id  |  int (3) |   | PRI | NULL  | auto_increment |     | xm  |  char (8) | YES |   | NULL  |        |     | xb  |  char (2) | YES |   | NULL  |        |     | csny | date  | YES |   | NULL  |        |     +-------+---------+------+-----+---------+------------ ----+     7、增加记录  例如:增加几条相关纪录。     mysql> insert into name values( ‘‘ , ‘张三‘ , ‘男‘ , ‘1971-10-01‘ );     mysql> insert into name values( ‘‘ , ‘白云‘ , ‘女‘ , ‘1972-05-20‘ );     可用select命令来验证结果。  mysql> select * from name;     +----+------+------+------------+     | id | xm  | xb  | csny        |  +----+------+------+------------+     | 1 | 张三 | 男  | 1971-10-01 |     | 2 | 白云 | 女  | 1972-05-20 |     +----+------+------+------------+     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用户     格式:grant select on 数据库.* to 用户名@登录主机 identified by  "密码"   例1、增加一个用户user_1密码为123,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。   首先用以root用户连入MySQL,然后键入以下命令:     mysql> grant select,insert,update, delete on *.* to [email protected] "%" Identified by  "123" ;   例1增加的用户是十分危险的,如果知道了user_1的密码,那么他就可以在网上的任何一台电脑上   登录你的MySQL数据库并对你的数据为所欲为了,解决办法见例2。     例2、增加一个用户user_2密码为123,让此用户只可以在localhost上登录,   并可以对数据库aaa进行查询、插入、修改、删除的操作(localhost指本地主机,即MySQL数据库所在的那台主机),   这样用户即使用知道user_2的密码,他也无法从网上直接访问数据库,只能通过MYSQL主机来操作aaa库。     mysql>grant select,insert,update, delete on aaa.* to [email protected] identified by  "123" ;     用新增的用户如果登录不了MySQL,   在登录时用如下命令:     mysql -u user_1 -p -h 192.168.113.50 (-h后跟的是要登录主机的ip地址)     十、备份与恢复     1、备份     例如:将上例创建的aaa库备份到文件 back_aaa中     [[email protected] root]# cd /home/data/mysql (进入到库目录,本例库已由val/lib/mysql转到/home/data/mysql,见上述第七部分内容)     [[email protected] mysql]# mysqldump -u root -p --opt aaa > back_aaa     2、恢复     [[email protected] mysql]# mysql -u root -p ccc < back_aaa       Trackback: http: //tb.blog.csdn.net/TrackBack.aspx?PostId=142298
Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.