当前位置:首页 > Mysql教程 > 列表

linux中mysql 5.5二进制文件安装详解

发布:smiling 来源: PHP粉丝网  添加日期:2014-10-04 11:35:35 浏览: 评论:0 

本文章来给大家介绍linux中mysql 5.5二进制文件安装方法,有需要了解的朋友根据下面方法即可实现安装mysql5了.

1、创建相关目录用户,代码如下:

  1. su – root 
  2. groupadd mysql 
  3. useradd -g mysql -p xifenfei -s /bin/bash -m mysql -d /opt/mysql 
  4. MYSQL_BASE=/opt/mysql 
  5. mkdir -p $MYSQL_BASE/product/5.5 
  6. mkdir -p $MYSQL_BASE/mysqldata 
  7. mkdir -p $MYSQL_BASE/mysqllog 
  8. mkdir -p /var/run/mysqld/ 
  9. chmod -R 777 $MYSQL_BASE 
  10. chown -R mysql:mysql $MYSQL_BASE 
  11. chown -R mysql:mysql /var/run/mysqld 

2、环境变量配置,代码如下:

  1. export MYSQL_BASE=/opt/mysql 
  2. export basedir=$MYSQL_BASE/product/5.5 
  3. export datadir=$MYSQL_BASE/mysqldata 
  4. export LD_LIBRARY_PATH=$basedir/lib:/lib:/usr/lib:/usr/local/lib 
  5. export TMPDIR=/tmp 
  6. export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin 
  7. export PATH=$basedir:$basedir/bin:${PATH}:$LD_LIBRARY_PATH 

3、调整mysql 用户系统限制(可选)

编辑文件:/etc/security/limits.conf 加入以下语句:

  1. mysql soft nproc 2047 
  2. mysql hard nproc 16384 
  3. mysql soft nofile 1024 
  4. mysql hard nofile 65536 

确认如下语句是否存在于/etc/pam.d/login,如果不存在请增加:

session required pam_limits.so

如果用户SHELL 用的是Bourne,Bash,或者Korn shell 修改/etc/profile,并增加如下内容,在SuSe 操作系统上,则需要修改/etc/profile.local,代码如下:

  1. if [ $USER = "mysql" ]; then 
  2. if [ $SHELL = "/bin/ksh" ]; then 
  3. ulimit -p 16384 
  4. ulimit -n 65536 
  5. else 
  6. ulimit -u 16384 -n 65536 
  7. fi 
  8. fi 

4、安装数据库

4.1)解压数据库至/opt/mysql/product/5.5中

4.2)安装数据,代码如下:

  1. [mysql@localhost ~]$ cd product/5.5/scripts/ 
  2. [mysql@localhost scripts]$ ./mysql_install_db –basedir=$basedir –datadir=$datadir –user=mysql 

4.3)设置my.cnf参数,代码如下:

  1. vi /etc/my.cnf 
  2. [mysqladmin]  
  3. socket =/var/run/mysqld/mysqld.sock  
  4. [client]  
  5. port = 3306  
  6. socket =/var/run/mysqld/mysqld.sock  
  7. [mysqld]  
  8. port = 3306  
  9. socket = /var/run/mysqld/mysqld.sock  
  10. user = mysql  
  11. pid-file = /var/run/mysqld/mysqld.pid  
  12. basedir = /opt/mysql/product/5.5  
  13. datadir = /opt/mysql/mysqldata 
  14. skip-external-locking = 1  
  15. interactive_timeout = 1200  
  16. wait_timeout = 1200  
  17. character-set-server = utf8  
  18. back_log = 500  
  19. default_time_zone = '+08:00' 
  20. max_connections = 1000  
  21. max_connect_errors = 1000  
  22. connect_timeout = 300  
  23. table_open_cache = 100  
  24. max_allowed_packet = 16M  
  25. binlog_cache_size = 8M  
  26. max_heap_table_size = 64M  
  27. sort_buffer_size = 8M  
  28. join_buffer_size = 8M  
  29. thread_cache_size = 32  
  30. thread_concurrency = 16  
  31. query_cache_size = 0M  
  32. default-storage-engine = INNODB  
  33. thread_stack = 192K  
  34. transaction_isolation = READ-COMMITTED  
  35. tmp_table_size = 64M  
  36. log-bin =/opt/mysql/mysqllog/mysqlbin 
  37. log-error=/opt/mysql/mysqllog/mysqld.err  
  38. expire_logs_days = 7  
  39. binlog_format = ROW  
  40. max_binlog_size = 300M  
  41. slow_query_log = 1  
  42. slow_query_log_file =/opt/mysql/mysqllog/mysqld-slow 
  43. long_query_time = 10  
  44. tmpdir = /tmp 
  45. server-id = 1  
  46. key_buffer_size = 8M  
  47. read_buffer_size = 1M  
  48. read_rnd_buffer_size = 1M  
  49. bulk_insert_buffer_size = 1M  
  50. myisam_sort_buffer_size = 128K  
  51. innodb_additional_mem_pool_size = 16M  
  52. innodb_buffer_pool_size = 2G  
  53. innodb_data_file_path = ibdata1:1024M:autoextend  
  54. innodb_autoextend_increment = 64  
  55. innodb_file_per_table = 1  
  56. innodb_data_home_dir = /opt/mysql/mysqldata 
  57. innodb_file_io_threads = 4  
  58. innodb_thread_concurrency = 16  
  59. innodb_flush_log_at_trx_commit = 2  
  60. innodb_log_buffer_size = 8M  
  61. innodb_log_file_size = 512M  
  62. innodb_log_files_in_group = 3  
  63. innodb_max_dirty_pages_pct = 40  
  64. innodb_lock_wait_timeout = 120  
  65. innodb_locks_unsafe_for_binlog = 1  
  66. innodb_autoinc_lock_mode = 2  
  67. skip-name-resolve  
  68. lower_case_table_names=1  
  69. [mysqldump]  
  70. quick  
  71. max_allowed_packet = 16M  
  72. [mysql] --phpfensi.com 
  73. auto-rehash  
  74. [myisamchk]  
  75. key_buffer_size = 512M  
  76. sort_buffer_size = 512M  
  77. read_buffer = 8M  
  78. write_buffer = 8M  
  79. [mysqlhotcopy]  
  80. interactive-timeout  
  81. [mysqld_safe]  
  82. open-files-limit = 8192 

4.4)异常处理

4.4.1)直接通过mysqld_safe不能正常启动数据库,代码如下:

ln -s /opt/mysql/product/5.5 /usr/local/mysql

或者

ln -s /opt/mysql/product/5.5/bin/mysqld /usr/local/mysql/bin/mysqld

4.4.2)mysql_secure_installation不能正常执行.

1)执行:/opt/mysql/product/5.5/bin/mysql_secure_installation出现以下错误,解决方法(ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock)

Enter current password for root (enter for none):

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)

2)修改mysql_secure_installation 脚本的do_query 函数,推荐处理方法,代码如下:

  1. do_query() { 
  2. echo “$1″ >$command 
  3. #sed ‘s,^,> ,’ < $command # Debugging 
  4. # mysql --defaults-file=$config <$command ----此行修改如下: 
  5. mysql --defaults-extra-file=$config <$command 
  6. return $? 

5、添加开机启动服务

修改mysql.server文件,代码如下:

  1. basedir=/opt/mysql/product/5.5 
  2. datadir=/opt/mysql/mysqldata 
  3. [root@localhost ~]# cp /opt/mysql/product/5.5/support-files/mysql.server /etc/init.d/mysqld 
  4. [root@localhost ~]# chkconfig –add mysqld 
  5. [root@localhost ~]# chkconfig mysqld on 
  6. [root@localhost ~]# chkconfig –list mysqld 
  7. mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off

Tags: mysql5 5 mysql5 5二进制

分享到: