Linux 安装 mysql 5.6

Linxu 安装 Mysql 5.6二进制文件

1. 下载mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz二进制文件(Linux - Generic)  http://dev.mysql.com/downloads/


2. 用 SecureCRT 的rz命令 上传到文件夹 ~/soft/mysql-5.6.23-linux-glibc2.5-x86_64.tar


3. 使用tar -zxvf 解压文件到 /usr/local/


4. 创建软链(也可不建): ln –s mysql-mysqlversion  mysql


5. 创建内置用户(不用于登录)
   a) groupadd mysql (创建用户组)
   b) useradd –r -g mysql mysql(创建用户并分配到用户组)


6. 进入创建的软链 mysql 目录并更改所属用户
    a) cd /usr/local/mysql
    b) chown –R mysql .
    c) chgrp –R mysql .


7. 使用mysql用户执行mysql_install_db对mysql中的data目录进行初始化并创建一些系统表格。(注意mysql服务进程mysqld运行时会访问data目录,所以必须由启动mysqld进程的用户(就是我们之前设置的mysql用户)执行这个脚本,或者用root执行,加上参数--user=mysql, 就是使用用户mysql执行脚本[root 用户也可])

   a) scripts/mysql_install_db –user=mysql
   *如果mysql的安装目录(解压目录)不是/usr/local/mysql,那么还必须指定目录参数,如
   [root@localhost mysql]scripts/mysql_install_db --user=mysql \
         --basedir=/opt/mysql/mysql \
         --datadir=/opt/mysql/mysql/data
    b) 将mysql/ 目录下处data/ 目录的所有文件改回root用户所有, mysql用户只需作为mysql/data/目录下所有  文件的所有者.
  chown –R root .
  chown –R mysql data


8. 复制配置文件
    cp support-files/my-default.cnf /etc/my.cnf
    若要更改默认编码则 : 在[client ] 下面加入default-character-set = utf8 ; 在[mysqld]下 character-set-server = utf8  \ init_connect = 'SET NAMES utf8'  ;  在[ mysql ] 下面加入 default-character-set=utf8


9. 将mysqld 服务加入开机启动
   a) 先将scripts/mysql.server 复制到 etc/init.d/ 并重命名为mysqld
       cp support-files/mysql.server  /etc/init.d/mysqld
   b) 通过chkconfig 将mysqld 服务加入自启动项目中
        chkconfig –add mysqld (这里的名称是复制到init.d目录是的名称)
   c) 查看是否添加成功  chkconfig –list mysqld
   d) 检查是否启动成功 netstat –anp|grep mysqld
   e) 手动启动 service mysqld start(restart[重启] , stop[停止])
   f) 删除服务 chkconfig – del mysql


10. 运行客户端mysql
      /usr/local/mysql /bin/mysql 默认不使用密码
      可以将其加入到环境变量中
      a) 创建mysql.sh : vim /etc/profile.d/mysql.sh
                                  export MYSQL_HOME=${mysql-path}
                                  export PATH=$MYSQL_HOME/bin:$PATH
      b) 使配置生效 source /etc/profile


11. 创建密码使用 mysqladmin : /usr/local/mysql/bin/mysqladmin –u root password 密码
修改密码时 加上 –p 旧密码
若创建密码 登录时必须使用 mysql –uroot –p 密码, 否则提示 access deny


12. 使用数据库更改登录口令 进入mysql库 , 更新user表中的password: update user SET password=password("test123") WHERE user='root';


13. 允许远程连接
    a) 进入mysql 命令行
    b) 使用数据库 mysql
    c) 查看user 表情况  select host, user from user;
    d) 更改host地址 update user set host = ‘%’ where user = ‘root’ limit 1; (也可以删除用户为空的记录) (若此处生效 步骤 h - i 可以忽略)
    e) 使命令生效 flush privileges;
    f) 若使用密码登录时提示 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using        password: YES) 是因为host对应的user字段是空的, 将其改为root即可
update user set user=’root’ where host =’localhost’, 或登录时将 –h 的地址改为本机真实IP
    g) 设置防火墙允许3306端口 vi /etc/sysconfig/iptables 添加
         -A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
       重启  service iptables restart
        netstat -ntlp查看端口占用情况(是否启动3306端口)
     h) 授权用户可以登录(即使用myuser/mypassword从任何主机连接到mysql服务器)
         GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

      使用myuser/mypassword从ip为192.168.225.166的主机连接到mysql服务器:
      GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.225.166' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
      i) 泛授权(任何主机以root身份访问)
         GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;


付my.cnf 一份



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

[mysqld]
port = 3306
socket = /tmp/mysql.sock
character-set-server = utf8
init_connect='SET NAMES utf8'

user = mysql
server-id = 1

skip-name-resolve
#skip-networking
back_log = 600

max_connections = 1000
max_connect_errors = 6000
open_files_limit = 65535
table_open_cache = 128
max_allowed_packet = 4M
binlog_cache_size = 1M
max_heap_table_size = 8M
tmp_table_size = 16M

read_buffer_size = 2M
read_rnd_buffer_size = 8M
sort_buffer_size = 8M
join_buffer_size = 8M
key_buffer_size = 4M

thread_cache_size = 8

query_cache_size = 8M
query_cache_limit = 2M

ft_min_word_len = 4

log_bin = mysql-bin
binlog_format = mixed
expire_logs_days = 30

slow_query_log = 1
long_query_time = 1

performance_schema = 0
explicit_defaults_for_timestamp


#区分大小写
#lower_case_table_names = 1

skip-external-locking

default_storage_engine = InnoDB
#default-storage-engine = MyISAM
innodb_file_per_table = 1
innodb_open_files = 500
innodb_buffer_pool_size = 64M
innodb_write_io_threads = 4
innodb_read_io_threads = 4
innodb_thread_concurrency = 0
innodb_purge_threads = 1
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 2M
innodb_log_file_size = 32M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120

bulk_insert_buffer_size = 8M
myisam_sort_buffer_size = 8M
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1

interactive_timeout = 28800
wait_timeout = 28800

[mysqldump]
quick
max_allowed_packet = 16M

[myisamchk]
key_buffer_size = 8M
sort_buffer_size = 8M
read_buffer = 4M
write_buffer = 4M


猜你喜欢

转载自skyzh.iteye.com/blog/2192663