linux下mysql rpm 包安装

来源:互联网 发布:网络小胖的电视 编辑:程序博客网 时间:2024/05/17 09:13

1.准备工作

MySQL官网上分别下载mysql服务器端与客户端包。

如:

MySQL-server-5.5.15-1.linux2.6.x86_64.rpmMySQL-client-5.5.15-1.linux2.6.x86_64.rpm

并放到/opt目录下

2.检测系统是否安装MySQL

(1)进入系统后,检测是否安装mysql.

如:检测是否安装Mysql输入

 

1.   #rpm -qa | grep -i mysql  

 

 

若已安装过,会出现以下

 

1.   MySQL-server-5.0.22-0.i386   

2.   MySQL-client-5.0.22-0.i386  

 

 

(2)那么输入以下命令删除它:

 

1.   # rpm -ev MySQL-server-5.0.22-0.i386  

2.   # rpm -ev MySQL-client-5.0.22-0.i386  

 

 注意:若删除的时候,出现删除不成功,出现依赖的包,前提必须删除依赖项。

 

 

 

1.   rpm -ev  dovecot-1.0.7-7.el5.x86_64  

 

如果没有安装也要删除如:rpm -ev --nodeps mysql-lib-*

 

3.安装MySQL

(1)第一步:安装mysql服务端,输入以下命令:

 

1.   # rpm -ivh /opt/MySQL-server-5.5.15-1.linux2.6.x86_64.rpm  

 

 

1.   Preparing...########################################### [100%]   

2.    1:MySQL-server########################################### [100%]   

3.   。。。。。。(省略显示)   

4.    /usr/bin/mysqladmin -u root password 'new-password'   

5.   /usr/bin/mysqladmin -u root -h test1 password 'new-password'   

6.   。。。。。。(省略显示)  

 

 

表示MySQL安装完成。

2)检测mysql 3306是否安打开,输入以下命令

1.   # netstat -nat  

 

 

当出现如下时,表示mysql 3306端口打开

1.   Active Internet connections (servers and established)   

2.   Proto Recv-Q Send-Q Local Address Foreign Address State   

3.   tcp00 0.0.0.0:3306 0.0.0.0:* LISTEN    

4.   上面显示可以看出MySQL服务已经启动。  

 

 

(3)安装mysql客户端,同理输入以下命令

 

1.   # rpm -ivh /opt/ MySQL-client-5.5.15-1.linux2.6.x86_64.rpm  

 

 

当出现如下:表示安装成功

1.   warning: MySQL-client-5.1.7-0.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5   

2.    Preparing...########################################### [100%]   

3.    1:MySQL-client ########################################### [100%]   

4.   显示安装完毕。  

 

4.配置MySQL

(1)上面都是安装完成了,但都是默认的,还需要很多配置。

先了解下默认安装位置及作用

    1.数据库目录

/var/lib/mysql/

 

2、配置文件

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

 

3、相关命令

/usr/bin(mysqladminmysqldump等命令)

 

4、启动脚本

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

    如:/etc/rc.d/init.d/mysql start/restart/stop/status

2)由于MySQL数据库目录占用磁盘比较大,所以我在/根目录下建了个个目录data,命令如下:

#cd /

#mkdir data

3)把数据库移动到data目录中去。输入以下命令:

# mv  /var/lib/mysql  /data

最后,进入data目录就会看到有一个mysql文件夹。

 

拷贝完后还需修改/etc/rc.d/init.d/mysqldatadir目录值,修改结果如:

 

basedir=

datadir=/data/mysql

 

(4)拷贝配置文件到/etc目录下,并命名为my.cnf(必须名为my.cnf)

#cp  /usr/share/mysql/my-medium.cnf  /etc/my.cnf

这儿要注意:/usr/share/mysql/下有好几个结尾为cnf的文件,它们的作用分别是:

1.my-small.cnf是为了小型数据库而设计的。不应该把这个模型用于含有一些常用项目的数据库。

2.·my-medium.cnf是为中等规模的数据库而设计的。如果你正在企业中使用RHEL,可能会比这个操作系统的最小RAM需求(256MB)明显多得多的物理内存。由此可见,如果有那么多RAM内存可以使用,自然可以在同一台机器上运行其它服务。

3·my-large.cnf是为专用于一个SQL数据库的计算机而设计的。由于它可以为该数据库使用多达512MB的内存,所以在这种类型的系统上将需要至少1GBRAM,以便它能够同时处理操作系统与数据库应用程序。

4·my-huge.cnf是为企业中的数据库而设计的。这样的数据库要求专用服务器和1GB1GB以上的RAM

这些选择高度依赖于内存的数量、计算机的运算速度、数据库的细节大小、访问数据库的用户数量以及在数据库中装入并访问数据的用户数量。随着数据库和用户的不断增加,数据库的性能可能会发生变化。

 

(5)最后配置/etc/my.cnf文件的datadir,mysql.sock路径以及默认编码utf-8.

,红色字体标示为修改后的。

[client]

password        =123456

port            =3306

socket          =/data/mysql/mysql.sock

 default-character-set=utf8

# Here followsentries for some specific programs

 

# The MySQLserver

[mysqld]

port            =3306

socket          =/data/mysql/mysql.sock

skip-external-locking

key_buffer_size= 16M

max_allowed_packet= 1M

table_open_cache= 64

sort_buffer_size= 512K

net_buffer_length= 8K

read_buffer_size= 256K

read_rnd_buffer_size= 512K

myisam_sort_buffer_size= 8M

character_set_server=utf8

collation-server=utf8_general_ci

lower_case_table_names=1

character_set_client=utf8

(注意linuxmysql安装完后是默认:区分表名的大小写,不区分列名的大小写;lower_case_table_names =0    0:区分大小写,1:不区分大小写)

max_connections=1000(设置最大连接数,默认为 151MySQL服务器允许的最大连接数16384 )

[mysql]

 

default-character-set= utf8

 

no-auto-rehash:

6)进入/usr/bin目录下重启mysql服务

#mysql_install_db

 

#cd   /usr/bin/mysqlrestart

(7)登录mysql

#cd/usr/bin/mysql -u root -p

Enterpassword:(直接回车,因为第一次为空密码,非常重要,否则后面会带来权限的麻烦)

8)登录成功后,修改密码

进入>mysql环境下,

输入:

>mysql> show databases;

+--------------------+

|Database           |

+--------------------+

|information_schema |

| mysql              |

|performance_schema |

|test               |

+--------------------+

4 rows in set(0.00 sec)

> mysql>use mysql

Database changed

mysql> showtables;

+---------------------------+

|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)

 mysql> updateuser set password=password('123456')where user='root';

修改root密码为123456

最后重启mysql,密码生效

 

 

/usr/local/mysql/bin/mysqld_safe--user=mysql&

#cd   /usr/bin/mysqlrestart

6MySQL安装成功

7)执行以下语句用来查看MySQL默认编码

mysql> show variableslike '%colla%';

+----------------------+-------------------+

|Variable_name        |Value             |

+----------------------+-------------------+

|collation_connection | gb2312_chinese_ci |

|collation_database   | utf8_general_ci   |

| collation_server     |utf8_general_ci   |

+----------------------+-------------------+

3 rows in set(0.00 sec)

 

mysql> showvariables like '%char%';

+--------------------------+----------------------------+

|Variable_name            |Value                     |

+--------------------------+----------------------------+

|character_set_client     |gb2312                     |

|character_set_connection |gb2312                     |

|character_set_database   |utf8                       |

| character_set_filesystem|binary                     |

|character_set_results    |gb2312                     |

|character_set_server     |utf8                       |

|character_set_system     |utf8                       |

|character_sets_dir       | /usr/share/mysql/charsets/|

+--------------------------+----------------------------+

8 rows in set(0.00 sec)

111:又时候启动两次MySQL会报错

通过ps aux | grep mysql查看启动进程,然后通过kill -9 进程编号。删除就可以了

--查看数据库的字符集

show variableslike 'character\_set\_%';

show variableslike 'collation_%';

 

(8)MySQL查看当前使用用户

mysql> showprocesslist

 

(9)MySQL备份

mysqldump abc(数据库名) --user=root --password > /root/abc.sql

 mysqldump-u root  -p  abc(数据库名) user (表名)>/user.sql(导出单张表)

注意,如果运行 mysqldump 没有指定 --quick  --opt 选项,则会将整个结果集放在内存中。如果导出大数据库的话可能会出现问题

导入:

mysql> useabc;

mysql>source/root/abc.sql(导入数据库)

mysql>source/user.sql(导入单张表)

(10)创建索引

CREATE INDEXIX_NAME ON  USER(NAME) ;

(11)查看索引

SHOW INDEX FROMUSER;

 

12)修改表字段长度

alter tablec_logo_image modify column CONTENT varchar(21840);

13)添加字段

alter tabletable1 add transactor varchar(10) not Null;

alter tablestudent add num decimal(8,0) default 0 ;

alter tablestudent2 add loginNum decimal(8,0) not null default 0 ;

14MySQL设置自启动

      chkconfigmysql on

原创粉丝点击