您的位置:首页 > 运维架构 > Linux

[linux学习]2.安装mysql 5.1

2010-09-15 15:00 579 查看

1 安装平台及软件版本

安装时所用的操作系统为RedHat Linux AS4 或AS5。MySQL
版本采用5.1.40,到
http://dev.mysql.com/downloads/页面下载mysql-5.1.40.tar.gz。

2 MySQL 编译安装

先解压源码包,然后切换到相应的目录,再参照mysql-5.1.40/
目录下的INSTALL-SOURCE
文件中的”MySQL
Installation Using a Source Distribution”进行安装,具体步骤如下:

2.1 解压源码包

#tar
-zxvf mysql-5.1.40.tar.gz

#cd
mysql-5.1.40


.2.2
建立mysql 用户组和用户

#grep
mysql /etc/group

#groupadd
mysql

#grep
mysql /etc/passwd

#useradd
mysql -g mysql -c "MySQL Server" -M -s /sbin/nologin

-g:指定新增用户所属的用户组
-c:对新增用户的附加说明
-M:不建立使用者目录
-s:定义使用的SHELL,/sbin/nologin
表示用户不能登陆系统

2.3
编译安装

#./configure --prefix=/usr/local/mysql
--with-charset=utf8 --with-collation=utf8_general_ci --with-extra-charsets=all
--with-plugins=all --enable-thread-safe-client --with-debug --enable-assembler


--prefix=/usr/local/mysql
指定mysql
安装目录
--with-charset=utf8
设置mysql
的默认字符集为UTF8
--with-collation=utf8_general_ci
设置mysql
的默认字符校对规则
--with-extra-charsets=all
添加其它字符集支持
--with-plugins=all
添加INNODB
支持(MySQL5.1
以后默认不支持INNODB)
--enable-thread-safe-client
编译线程安全版的MySQL
客户端库,即libmysqlclient_r

--with-debug
包含调试代码,能发现一些错误并提供输出
--enable-assembler
使用一些字符函数的汇编版本

#make
将源文件编译成可执行的二进制文件
(这里需要较长时间)
#make
install
将二进制文件和配置文件等安装到相应的目录下

2.4 设置开机启动 MySQL

#cp
support-files/mysql.server /etc/init.d/mysqld

#chmod +x
/etc/init.d/mysqld

#chkconfig
--add mysqld

去除的话:/sbin/chkconfig --del mysql
#chkconfig
--level 345 mysqld on


2.5 初始化数据库

#ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
#ln -s /usr/local/mysql/bin/mysqladmin
/usr/bin/mysqladmin

#ln -s /usr/local/mysql/bin/mysqldump
/usr/bin/mysqldump


#cp
support-files/my-large.cnf /etc/my.cnf

#cd
/usr/local/mysql

#chown -R
mysql.mysql .

#bin/mysql_install_db
--user=mysql

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

#ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
#bin/mysql_secure_installation
设置root 密码,清除test 表,禁用匿名登录等

2.6 其它设置

修改MySQL root 用户密码
#mysqladmin
-uroot password “PASSWORD”


配置远程连接
#mysql -uroot
-padmin

mysql >
use mysql;

mysql >
update user set host =
'%' where user = 'root';
mysql > grant
all on *.* to root@'%' with grant option;

mysql > flush
privileges;


2.7
备注

2.7.1
Can't connect to local MySQL
server through socket 'xxxxxxx/mysql.sock' (2)的问题

当碰到这类问题,要在/tmp目录下找mysql.sock文件,如果找到了,就修改 /etc/my.cnf 文件,把socket值改为文件的目录 /tmp/mysql.sock

然后增加一个link
#ln -s /tmp/mysql.sock xxxxxxx/mysql.sock

2.8
开启事务调度器

修改 /etc/my.cnf,在 [mysqld]下增加如下语句,
#event_scheduler auto run event_scheduler=1
event_scheduler=1

为数据库保活,把
interactive_timeout = 28800
wait_timeout = 28800
修改为:
interactive_timeout = 288000
wait_timeout = 2888000
或更大
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: