在Linux环境下,通过二进制包安装MySQL可以为我们提供更大的灵活性和控制力
本文将详细介绍如何在Linux系统中安装MySQL 5.5.60二进制版本,确保步骤详尽、操作简便
一、准备工作 1.系统环境 本文将以CentOS 6.5为例进行说明,但大部分步骤同样适用于其他Linux发行版
确保你的系统已经更新到最新版本,并且具备root权限进行操作
2.下载安装包 访问MySQL官方网站或可靠的镜像站点,下载MySQL 5.5.60的二进制安装包
常见的文件名格式为`mysql-5.5.60-linux-glibc2.12-x86_64.tar.gz`
同时,你可能还需要下载一些依赖包,如`ncurses-devel`和`libaio-devel`
3.创建目录 为了管理方便,建议创建一个专门的目录来存放安装包和相关文件
例如: bash mkdir -p /home/mysql3307/{data,log,binlog,tmp} 二、安装依赖包 在安装MySQL之前,确保系统上已经安装了必要的依赖包
这些依赖包有助于MySQL的正常运行和性能优化
cd /home/oldboy/tools 假设你将安装包放在了这个目录下 chmod +x # 赋予执行权限 rpm -ivh --nodeps ncurses-devel-5.7-4.20090207.el6.x86_64.rpm rpm -ivh libaio-devel-0.3.107-10.el6.x86_64.rpm 三、创建用户和组 MySQL服务运行需要特定的用户和组
为了确保安全,建议创建一个专门的mysql用户和组
groupadd mysql useradd -M mysql -g mysql -s /sbin/nologin 四、解压并安装MySQL 1.解压安装包 将下载的MySQL二进制安装包解压到指定目录
例如,解压到`/usr/local`目录下: bash wget http://ftp.kaist.ac.kr/mysql/Downloads/MySQL-5.5/mysql-5.5.60-linux-glibc2.12-x86_64.tar.gz tar xf mysql-5.5.60-linux-glibc2.12-x86_64.tar.gz -C /usr/local mv /usr/local/mysql-5.5.60-linux-glibc2.12-x86_64 /usr/local/mysql5.5 2.设置目录权限 将MySQL数据目录、日志目录等的所有权设置为mysql用户和组: bash chown -R mysql.mysql /home/mysql3307/{data,log,binlog,tmp} 五、初始化数据库 在启动MySQL服务之前,需要先初始化数据库系统表
使用`mysql_install_db`脚本来完成这一步骤
cd /usr/local/mysql5.5/scripts ./mysql_install_db --datadir=/home/mysql3307/data --basedir=/usr/local/mysql5.5 --user=mysql --defaults-file=/home/mysql3307/my3307.cnf 请注意,`--defaults-file`参数指定了MySQL的配置文件路径,你需要提前准备好这个配置文件,并放置在指定位置
六、配置MySQL MySQL的配置文件(通常是`my.cnf`或`my.ini`)对于数据库的性能和安全至关重要
以下是一个示例配置文件的内容,你可以根据实际情况进行调整: 【mysqld】 back_log = 2000 basedir = /usr/local/mysql5.5 binlog-format = row character_set_server = utf8 datadir = /home/mysql3307/data event_scheduler = ON expire_logs_days = 1 innodb_autoinc_lock_mode = 1 innodb_buffer_pool_size = 1073741824 innodb_data_file_path = ibdata1:500M:autoextend innodb_data_home_dir = /home/mysql3307/data innodb_file_per_table = 1 innodb_flush_log_at_trx_commit = 2 innodb_flush_method =O_DIRECT innodb_io_capacity = 2000 innodb_log_buffer_size = 8388608 innodb_log_files_in_group = 3 innodb_log_group_home_dir = /home/mysql3307/data innodb_max_dirty_pages_pct = 50 innodb_open_files = 1024 innodb_read_io_threads = 8 innodb_thread_concurrency = 20 innodb_write_io_threads = 8 innodb_lock_wait_timeout = 10 key_buffer_size = 3221225472 innodb_log_file_size = 1G local_infile = 1 log-bin = /home/mysql3307/binlog/mysql-bin log_bin_trust_function_creators = 1 log_output = FILE long_query_time = 1 log-error = /home/mysql3307/log/error.log max_allowed_packet = 134217728 max_connect_errors = 1000000 max_connections = 2000 myisam_sort_buffer_size = 33554432 myisam_recover = 1 join_buffer_size = 8388608 tmp_table_size = 33554432 net_buffer_length = 8192 performance_schema = 1 performance_schema_max_table_instances = 200 pid-file = /home/mysql3307/mysqld.pid port = 3307 query_cache_size = 0 query_cache_type = 0 read_buffer_size = 20971520 read_rnd_buffer_size = 16M max_heap_table_size = 33554432 bulk_insert_buffer_size = 134217728 secure-file-priv = /home/mysql3307/tmp server-id = 2331053307 skip-slave-start skip_name_resolve slave-load-tmpdir = /home/mysql3307/tmp slow-query-log-file = /home/mysql3307/log/mysql-slow.log slow_query_log = 1 socket = /tmp/mysql3307.sock sort_buffer_size = 2097152 table_open_cache = 128 thread_cache_size = 50 tmpdir = /home/mysql3307/tmp user = mysql wait_timeout = 2880000 transaction_isolation=read-committed long_query_time=1 sync_binlog=0 请将这个配置文件保存为`/home/mysql3307/my3307.cnf`,并确保其路径与初始化数据库时指定的路径一致
七、启动MySQL服务 有多种方法可以启动MySQL服务
这里介绍两种常用的方法: 1.使用mysqld_safe脚本 bash cd /usr/local/mysql5.5/bin ./mysqld_safe --defaults-file=/home/mysql3307/my3307.cnf & 2.使用系统服务脚本 如果希望将MySQL服务添加到系统服务中,以便可以通过`service`命令进行管理,可以将MySQL提供的启动脚本复制到`/etc/init.d/`目录下,并进行相应修改: bash cp /usr/local/mysql5.5/support-files/mysql.server /etc/init.d/mysqld sed -i s/usr/local/mysql/usr/local/mysql5.5#g /etc/init.d/mysqld chmod +x /etc/init.d/mysqld chkconfig --add mysqld chkconfig mysqld on service mysqld start 八、设置root密码 MySQL安装完成后,默认root用户是没有密码的
为了确保安全,需要立即为root用户设置一个密码