Linux系统上安装MySQL 5.5prm

来源:互联网 发布:耽美网络剧百度云 编辑:程序博客网 时间:2024/06/15 13:08

from:http://www.cnblogs.com/sunson/articles/2172086.html

1.准备工作

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

如:

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

并放到/opt目录下

2.检测系统是否安装MySQL

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

如:检测是否安装Mysql输入

#rpm -qa | grep -i mysql

若已安装过,会出现以下

MySQL-server-5.0.22-0.i386

MySQL-client-5.0.22-0.i386

 

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

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

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

 

注意:若删除的时候,出现删除不成功,出现依赖的包,前提必须删除依赖项。rpm -ev  dovecot-1.0.7-7.el5.x86_64

3.安装MySQL

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

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

当出现如下:

Preparing...       ########################################### [100%]
 1:MySQL-server     ########################################### [100%]
。。。。。。(省略显示)
 /usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h test1 password 'new-password'
。。。。。。(省略显示)

表示MySQL安装完成。



======================下面是我自己安装过程中出现的问题===================

注:最新版本的mysql,安装后,会生成一个随机密码



A RANDOM PASSWORD HAS BEEN SET FOR THE MySQL root USER !
You will find that password in '/root/.mysql_secret'.

You must change that password on your first connect,
no other statement but 'SET PASSWORD' will be accepted.
See the manual for the semantics of the 'password expired' flag.

Also, the account for the anonymous user has been removed.

In addition, you can run:

  /usr/bin/mysql_secure_installation

which will also give you the option of removing the test database.
This is strongly recommended for production servers.

See the manual for more instructions.

Please report any problems at http://bugs.mysql.com/

The latest information about MySQL is available on the web at

  http://www.mysql.com

Support MySQL by buying support/licenses at http://shop.mysql.com

WARNING: Found existing config file /usr/my.cnf on the system.
Because this file might be in use, it was not replaced,
but was used in bootstrap (unless you used --defaults-file)
and when you later start the server.
The new default config file was created as /usr/my-new.cnf,
please compare it with your file and take the changes you need.

安装后默认是没有启动mysql的,通过service mysql start开启

=========================================================================

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

# netstat -nat

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

Active Internet connections (servers and established)
   Proto Recv-Q Send-Q Local Address      Foreign Address     State   
   tcp  0  0 0.0.0.0:3306     0.0.0.0:*      LISTEN   
   上面显示可以看出MySQL服务已经启动。

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

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

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

warning: MySQL-client-5.1.7-0.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5
Preparing...########################################### [100%]
1:MySQL-client ########################################### [100%]
显示安装完毕。

4.配置MySQL

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

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

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

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

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

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/mysql的datadir目录值,修改结果如:

 

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 follows entries for some specific programs

 

# The MySQL server

[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

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

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

[mysql]

 

default-character-set = utf8

 

no-auto-rehash

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

#mysql_install_db

 

#cd   /usr/bin/mysql restart

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

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

修改root密码为123456

最后重启mysql,密码生效

 

 

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

#cd   /usr/bin/mysql restart

(6)MySQL安装成功

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

mysql> show variables like '%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> show variables 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 variables like 'character\_set\_%';
show variables like 'collation_%';

 

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

>mysql show processlist


(9)MySQL备份

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

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

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

导入:

mysql> use abc;

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

mysql>source /user.sql(导入单张表)
(10)创建索引

CREATE INDEX IX_NAME ON  USER(NAME) ;

(11)查看索引

SHOW INDEX FROM USER;


(12)修改表字段长度

alter table c_logo_image modify column CONTENT varchar(21840);

(13)添加字段

alter table table1 add transactor varchar(10) not Null;
alter table student add num decimal(8,0) default 0 ;

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

(14)MySQL设置自启动

 

chkconfig mysql on
0 0
原创粉丝点击