开心园地

导航

编译安装mysql5.x

下载文件解压缩

./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock    --with-extra-charsets=all  --with-charset=gbk --with-collation=gbk_chinese_ci --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --with-plugins=all --with-pthread --enable-thread-safe-client --enable-assembler --sysconfdir=/usr/local/mysql --with-mysqld-user=mysql --with-big-tables  --enable-local-infile

groupadd mysql
useradd -g mysql mysql

cp support-files/my-medium.cnf  /usr/local/mysql/my.cnf

修改my.cnf

---------------------
[mysqld]
default-character-set=utf8
default-storage-engine=INNODB
lower_case_table_names=1

log-error = /usr/local/mysql/mysql_error.log
pid-file = /usr/local/mysql/mysql.pid
datadir = /usr/local/mysql/data

在my.cnf里增加user=mysql

cd /usr/local/mysql

chmod +w /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql
bin/mysql_install_db --user=mysql (安装缺省数据库:mysql)

将安装的mysql做成自启动:

cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld

chkconfig --add mysqld

chkconfig mysqld on

./bin/mysqld_safe --user=mysql &
./bin/mysqladmin -uroot -p password '111111' (修改mysql密码为111111)

关闭mysql:
./bin/mysqladmin  shutdown -uroot -p111111

修改mysql 授权表

./bin/mysql  -uroot -p111111 mysql

>delete from user where user='' or user is null;

>update uset set host='%' where user='root' and host='localhost';  (将授权表改成有密码的 )

>flush privileges

service mysqld restart

----------------

显示插件:

 ./mysql -uroot -pfoo.bar mysql

show plugin;  
show engines;
delete from user where user='';
delete from user where password='';

代码:cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
可以使用server mysqld restart启动
my-huge.cnf 1G<内存<2G,服务器主要运行mysql

---安装mysql5.5----------

  • 下载cmake(http://www.cmake.org/files/v2.8/cmake-2.8.9.tar.gz)

[root@web-2 ~]# wget http://www.cmake.org/files/v2.8/cmake-2.8.9.tar.gz
[root@web-2 ~]# tar zxvf cmake-2.8.9.tar.gz
[root@web-2 ~]# cd cmake-2.8.9

  • 运行:

yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers pcre-devel  zlib-devel bison gcc gcc-c++ autoconf automake zlib* libxml* ncurses-devel libtool-ltdl-devel

  • 编译  cmake

[root@web-2 ~]# ./bootstrap
[root@web-2 ~]# make(时间较长)
[root@web-2 ~]# make install  (时间较长)
[root@web-2 ~]# cd ..

[root@web-2 ~]# cd mysql-5.5.28
[root@web-2 ~]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql5.5 -DMYSQL_DATADIR=/usr/local/mysql5.5/data -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_UNIX_ADDR=/usr/local/mysql5.5/mysqld.sock -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITHOUT_FEDERATED_STORAGE_ENGINE=0 -DWITHOUT_PARTITION_STORAGE_ENGINE=0 -DMYSQL_TCP_PORT=3306 -DWITH_DEBUG=0 -DENABLED_LOCAL_INFILE=1

make&&make install

cd /usr/local/mysql5.5

chown -hR mysql:mysql  /usr/local/mysql5.5

./scripts/mysql_install_db --user=mysql  (如果不能运行,修改此文件,加上: basedir=/usr/local/mysql5.5,builddir=/usr/local/mysql5.5)

启动 mysql5.5

cd /usr/local/mysql5.5

./bin/mysqld_safe --user=mysql &  (运行此命令时 依赖于 /etc/my.cnf,所以必须将此文件正确配置)

  • 修改my.cnf 让mysql支持从命令行客户端正确输入,保存并导出中文 (客户端设置latin1,服务端设置 utf8)

vi /etc/my.cnf或者 /usr/local/mysql5.5/my.cnf

[client]
#password       = your_password
port            = 3306
socket          = /usr/local/mysql5.5/mysql.sock

#支持从命令行客户端正确输入,导出:比如mysqldump命令
default-character-set=latin1

[mysqld]

default-storage-engine=INNODB

#保存中文
character_set_server=utf8
lower_case_table_names =1

 

清楚mysql5.5的root空密码,一律有密码.

delete from user where user='';
update user set password=password('vcp2014');
update user set host='%' where host='::1';

 

 

不积跬步,无以至千里; 不积小流,无以成江海。
随笔-105  文章-109  评论-2 

MySQL 5.5(rpm格式)在Linux 上安装

Linux系统上安装MySQL 5.5prm

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安装完成。

(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/mysql(mysql.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的内存,所以在这种类型的系统上将需要至少1GB的RAM,以便它能够同时处理操作系统与数据库应用程序。
4·my-huge.cnf是为企业中的数据库而设计的。这样的数据库要求专用服务器和1GB或1GB以上的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

 

分类: MySQL
标签: mysql安装
绿色通道: 好文要顶 关注我 收藏该文与我联系
2
0
(请您对文章做出评价)
» 下一篇:IT好网站
posted @ 2011-09-09 09:21 IT一族 阅读(8882) 评论(1)  编辑 收藏
  
#1楼 2012-10-18 13:38 jackeyqing  
写的不错
支持(0)反对(0)

公告

昵称:IT一族
园龄:3年10个月
粉丝:6
关注:8
+加关注
< 2014年6月 >
25 26 27 28 29 30 31
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 1 2 3 4 5

搜索

 
 

最新评论

阅读排行榜

评论排行榜

Copyright ©2014 IT一族

posted on 2012-12-23 19:19  开心园地  阅读(226)  评论(0编辑  收藏  举报