linux mysql

1.下载安装

    sudo apt-get install mysql-server-5.5

    sudo apt-get install mysql-client-5.5(安装server附带的把client也安装了)

    安装完要设置密码

2.登录

    shell> mysql db_name或

    shell> mysql --user=user_name --password=your_password db_name

    简写> mysql [-u username] [-h host] [-p[password]] [dbname](username一般为root)

            > mysql -u root -p [password] [dbname]
3.相关命令
   启动/etc/init.d/mysql start
   停止/usr/bin/mysqladmin -u root -p shutdown

    自动启动

   1)察看mysql是否在自动启动列表中

       /sbin/chkconfig --list

   2)把MySQL添加到你系统的启动服务组里面去

       /sbin/chkconfig - add mysql

   3)把MySQL从启动服务组里面删除。

       /sbin/chkconfig - del mysql

    修改密码:/usr/bin/mysqladmin -u用户名 -p旧密码 password 新密码

4.相关目录
   数据库目录
        /var/lib/mysql/

    配置文件

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

    相关命令

        /usr/bin(mysqladmin mysqldump等命令)

    启动脚本

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

5.mysql操作

    1) 显示数据库:mysql> show databases;
        Mysql刚安装完有两个数据库:mysql和test。
        mysql库非常重要,它里面有MySQL的系统信息,我们改密码和新增用户,实际上就是用这个库中的相关表进行操作。
    2) 选择数据库mysql> use mysql;打开库
    3) 显示数据库中的表 mysql> show tables;显示表
    4) 显示数据表的结构mysql> describe [表名]
    5) 显示表中记录:mysql> select * from [表名]
    6) 建库:mysql> create database [库名];
    7) 建表:mysql>create table [表名] (字段设定列表);

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

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

    8) 插入表中元素mysql> insert into name values('','张三','男','1971-10-01');

    9) 修改表中元素mysql> update name set xm='zhangsan' where cany='2013-3-15';

    10) 删除表中元素mysql> delete from name where xm='zhangsan';

    11) 删除库/表mysql> drop table name;       mysql> drop database lala;

    12) 批操作shell> mysql db_name < script.sql > output.tab(SQL命令于script.sql中,结果输出到output.tal中)

6.增加Mysql用户

   格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"

例1、增加一个用户user_1密码为123,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MySQL,然后键入以下命令:

   mysql> grant select,insert,update,delete on *.* to user_1@"%" 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 user_2@localhost identified by "123";

   用新增的用户如果登录不了MySQL,在登录时用如下命令:

   mysql -u user_1 -p -h 192.168.113.50 (-h后跟的是要登录主机的ip地址)

7.备份和恢复

    1、备份

   例如:将上例创建的aaa库备份到文件back_aaa中

   [root@test1 root]# cd /home/data/mysql (进入到库目录,本例库已由val/lib/mysql转到/home/data/mysql,见上述第七部分内容)

   [root@test1 mysql]# mysqldump -u root -p --opt aaa > back_aaa

    2、恢复

   [root@test mysql]# mysql -u root -p ccc < back_aaa

8.修改mysql默认编码
mysql的默认编码为latin1,不支持中文。
查看编码: show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | latin1                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.01 sec)
需将character_set_database和character_set_server都改为utf8
网上公认的linux下修改变法方式为:
在/etc/mysql/my.cnf中,
在[client]中增加default-character-set=utf8
在[mysqld]中增加default-character-set=utf8和init_connect='SET NAMES utf8'
然后关闭mysql,再重启
而这样做的结果就是mysql开不了了。
解决办法:
将mysql卸载了重新装:
sudo apt-get remove mysql*
sudo apt-get install mysql-server-5.5
正确做法:
在/etc/mysql/my.cnf中,
在[client]中增加default-character-set=utf8
在[mysqld]中增加character-set-server=utf8和init_connect='SET NAMES utf8'
然后关闭mysql,再重启
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.01 sec)
搞定!






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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值