qhy02he 发表于 2014-11-17 10:46:21

源码方式安装MySQL5.5.28

mysql的安装其实不是很难,最主要还是要在前期规划得当,知道相关参数的修改位置。
规划
端口:3306
管理员名称:leon
安装基本目录:/usr/local/mysql
数据库目录:/database
二进制日志目录:/var/log/mysqld
延迟日志目录:/var/log/mysqld
启动文件:/var/run/mysqld

1、安装需要的编译软件及库文件
# yum install cmake make -y
# yum install gcc gcc-c++ autoconf bison automake zlib* flex* libxml* ncurses-devel libtool-ltdl-devel* -y
2、增加mysql用户及用户组,创建目录并将所有者更改为mysql
新建mysql用户和用户组
# groupadd mysql -g 27
# useradd mysql -u 27 -g mysql -s /sbin/nologin
根据配置文件my.cnf新建相关文件夹,并修改其属主为mysql.mysql
# chown mysql.mysql /usr/local/mysql/ -R数据库目录
# mkdir /database
# chown mysql:mysql /database/运行文件存放目录
# mkdir /var/run/mysqld
# chown mysql.mysql /var/run/mysqld/日志文件存放目录
# mkdir /var/log/mysqld
# chown mysql.mysql /var/log/mysqld/
3、编译安装
# mkdir -p /usr/local/src
# cd /usr/local/src
# wget http://cdn.mysql.com/Downloads/MySQL-5.5/mysql-5.5.28.tar.gz

# tar -zxvf mysql-5.5.28.tar.gz
# cd mysql-5.5.28
# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=complex -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=yes -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/database-DMYSQL_TCP_PORT=3306

注:ENABLED_LOCAL_INFILE
是否开启客户端本地存储以减轻数据库的负载
# make ; make install4、创建my.cnf配置文件
# vi /usr/local/mysql/etc/my.cnf

port            = 3306
user            = mysql
basedir         = /usr/local/mysql
datadir         = /database
socket          = /var/run/mysqld/mysqld.sock
pid-file      = /var/run/mysqld/mysqld.pid

general-log
general-log-file=/var/log/mysqld/mysqld-access.log
#访问日志
log-error=/var/log/mysqld/mysqld-error.log
#错误日志


#跳过外部锁定
skip-external-locking
#可以在登陆mysql。输入命令show variables;查看服务器系统变量
#查看具体的使用like选项,例:show variables like '%buffer%';%通配符
#用set 【选项】 = num 修改详细参数
key_buffer_size = 16K
max_allowed_packet = 1M
table_open_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 128K
server-id       = 1
5、初始化mysql
# /usr/local/mysql/scripts/mysql_install_db--basedir=/usr/local/mysql --datadir=/database --user=mysql
6、创建服务启动文件,并启动mysql
# ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
# vi /etc/init.d/mysqld修改服务启动文件
按照规划修改以下几个参数的配置:
# chmod +x /etc/init.d/mysqld
# /etc/init.d/mysqld start|stop|restart|kill

# ln -s /usr/local/mysql/bin/mysql /bin/mysql7、用户管理
删除空密码、匿名的用户
mysql> delete from mysql.user where password='';
   mysql> delete from mysql.user where user='';
   mysql> flush privileges;创建数据库管理帐户,允许远程用户访问。并将root更名为其他名称。
mysql> CREATE USER 'leon'@'%' IDENTIFIED BY '123456';
   mysql> GRANT ALL ON *.* TO 'leon'@'%' WITH GRANT OPTION;
   mysql> RENAME USER 'root'@'localhost' TO 'leon'@'localhost';
   mysql> flush privileges;
8、安全
(1)除了管理员帐号外,不要把file, process, super,reload,shutdown,grant权限授予管理员以外的账号
update mysql.user set file_priv = 'N' Where User=user_name and host =
host_name
update mysql.user set process_priv = 'N' Where User=user_name and host =
host_name
update mysql.user set super_priv = 'N'Where User=user_name and host =
host_name
update mysql.user set reload_priv = 'N' Where User=user_name and host =
host_name
update mysql.user set shutdown_priv = 'N' Where User=user_name and host =
host_name
update mysql.user set grant_priv = 'N' Where User=user_name and host =
host_name


askbuckly 发表于 2015-1-7 18:59:31

学习了啊
页: [1]
查看完整版本: 源码方式安装MySQL5.5.28