linux 下 mysql 源码安装与配置

2010年4月1日 | 标签:
热度:

1、下载mysql-5.5.2-m2.tar.gz
下载地址 http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.2-m2.tar.gz

2、创建mysql所需的用户及用户组
/usr/sbin/groupadd mysql
/usr/sbin/useradd -g mysql mysql

3、编译安装
解压安装包
tar zxvf mysql-5.5.2-m2.tar.gz

编译安装 安装目录为/usr/local/mysql/
cd mysql-5.5.2-m2/
./configure –prefix=/usr/local/mysql/ –enable-assembler –with-extra-charsets=complex –enable-

thread-safe-client –with-big-tables –with-readline –with-ssl –with-embedded-server –enable-local-
infile –with-plugins=partition,innobase,myisammrg
make && make install

4、设定目录权限
chmod +w /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql

5、创建mysql数据库存放地址
mkdir -p /opt/mysqldata/
mkdir -p /opt/mysqldata/binlog/
mkdir -p /opt/mysqldata/relaylog/
chown -R mysql:mysql /opt/mysqldata/

6、配置Mysql数据库
以mysql用户帐号的身份建立数据表:
/usr/local/mysql/bin/mysql_install_db –basedir=/usr/local/mysql –datadir=/opt/data/mysqldata –user=mysql

创建my.cnf配置文件:
vi /opt/data/mysqldata/my.cnf
输入以下内容:

[client]
character-set-server = utf8
port = 3306
socket = /tmp/mysql.sock

character-set-server = utf8
replicate-ignore-db = mysql
replicate-ignore-db = test
replicate-ignore-db = information_schema
user = mysql
port = 3306
socket = /tmp/mysql.sock
basedir = /usr/local/mysql
datadir = /opt/data/mysqldata
log-error = /opt/data/mysqldata/mysql_error.log
pid-file = /opt/data/mysqldata/mysql.pid
open_files_limit = 10240
back_log = 600
max_connections = 5000
max_connect_errors = 6000
table_cache = 614
external-locking = FALSE
max_allowed_packet = 32M
sort_buffer_size = 1M
join_buffer_size = 1M
thread_cache_size = 300
thread_concurrency = 8
query_cache_size = 512M
query_cache_limit = 2M
query_cache_min_res_unit = 2k
default-storage-engine = MyISAM
thread_stack = 192K
transaction_isolation = READ-COMMITTED
tmp_table_size = 246M
max_heap_table_size = 246M
long_query_time = 3
log-slave-updates
log-bin = /opt/data/binlog/binlog
binlog_cache_size = 4M
binlog_format = MIXED
max_binlog_cache_size = 8M
max_binlog_size = 1G
relay-log-index = /opt/data/relaylog/relaylog
relay-log-info-file = /opt/data/relaylog/relaylog
relay-log = /opt/data/relaylog/relaylog
expire_logs_days = 30
key_buffer_size = 256M
read_buffer_size = 1M
read_rnd_buffer_size = 16M
bulk_insert_buffer_size = 64M
myisam_sort_buffer_size = 128M
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1
myisam_recover


interactive_timeout = 120
wait_timeout = 120

skip-name-resolve
master-connect-retry = 10
slave-skip-errors = 1032,1062,126,1114,1146,1048,1396

#master-host = 192.168.1.2
#master-user = username
#master-password = password
#master-port = 3306

server-id = 1
innodb_additional_mem_pool_size = 16M
innodb_buffer_pool_size = 512M
innodb_data_file_path = ibdata1:256M:autoextend
innodb_file_io_threads = 4
innodb_thread_concurrency = 8
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 16M
innodb_log_file_size = 128M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
innodb_file_per_table = 0

#log-slow-queries = /opt/data/mysqldata/slow.log
#long_query_time = 10

quick
max_allowed_packet = 32M

创建管理MySQL数据库的shell脚本:
vi /opt/data/mysql

输入以下内容 (这里的用户名admin和密码gzjooyoo接下来的步骤会创建):
#!/bin/sh
mysql_port=3306
mysql_username=”admin”
mysql_password=”gzjooyoo”

function_start_mysql()
{
printf “Starting MySQL…\n”
/bin/sh /usr/local/mysql/bin/mysqld_safe –defaults-file=/opt/data/mysqldata/my.cnf 2>&1 > /dev/null &
}

function_stop_mysql()
{
printf “Stoping MySQL…\n”
/usr/local/mysql/bin/mysqladmin -u ${mysql_username} -p${mysql_password} -S /tmp/mysql.sock shutdown
}

function_restart_mysql()
{
printf “Restarting MySQL…\n”
function_stop_mysql
sleep 5
function_start_mysql
}

function_kill_mysql()
{
kill -9 $(ps -ef | grep ‘bin/mysqld_safe’ | grep ${mysql_port} | awk ‘{printf $2}’)
kill -9 $(ps -ef | grep ‘libexec/mysqld’ | grep ${mysql_port} | awk ‘{printf $2}’)
}

if [ “$1” = “start” ]; then
function_start_mysql
elif [ “$1” = “stop” ]; then
function_stop_mysql
elif [ “$1” = “restart” ]; then
function_restart_mysql
elif [ “$1” = “kill” ]; then
function_kill_mysql
else
printf “Usage: /opt/data/mysql {start|stop|restart|kill}\n”
fi

赋予shell脚本可执行权限:
chmod +x /opt/data/mysql
启动MySQL:
/opt/data/mysql start

通过命令行登录管理MySQL服务器 (提示输入密码时直接回车):
/usr/local/mysql/bin/mysql -u root -p -S /tmp/mysql.sock

输入以下SQL语句,创建一个具有root权限的用户 (admin)和密码(gzjooyoo):
GRANT ALL PRIVILEGES ON *.* TO
‘admin’@’localhost'” target=”_blank”>%27admin%27@%27localhost%27 IDENTIFIED BY ‘gzjooyoo’;
GRANT ALL PRIVILEGES ON *.* TO
‘admin’@’127.0.0.1′” target=”_blank”>%27admin%27@%27127.0.0.1%27 IDENTIFIED BY ‘gzjooyoo’;
停止MySQL:
/opt/data/mysql stop

feihu分享到:

          

相关博文

» 转载请注明来源:首页-->>linux 下 mysql 源码安装与配置
目前还没有任何评论.
您必须在 登录 后才能发布评论.