Mrfei 发表于 2018-9-28 13:10:25

RedHat 6.7 安装Mysql 5.7.18

  环境准备:
  操作系统:RedHat 6.7
  数据库:Mysql 5.7.18
  1.从官网下载mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz
  官网地址:http://dev.mysql.com/downloads/mysql/
  2. 创建mysql的用户组/用户, data目录及其用户目录
  mkdir /home/mysql
  mkdir /mysql_data
  groupadd -g 505 mysql
  useradd-u 506-g mysql-s/bin/false -d/home/mysqlmysql
  3. 解压安装包并将解压包里的内容拷贝到mysql的安装目录/home/mysql
  tar -xvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz-C /home/mysql/
  cd/home/mysql
  mv mysql-5.7.18-linux-glibc2.5-x86_64mysql
  cd mysql
  mv * ../
  chown mysql:mysql -R /home/mysql
  chown mysql:mysql -R /mysql_data
  chmod 750 -R /home/mysql
  chmod 750 -R /home/mysql_data
  4.初始化数据库
  vimmysql.server
  将启动脚本里面的basedir和datadir修改成我们指定的目录
  basedir=/home/mysql
  datadir=/mysql_data
  # ./bin/mysqld --user=mysql --basedir=/home/mysql --datadir=/mysql_data --initialize
  2017-04-26T02:17:42.485369Z 0 TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
  2017-04-26T02:17:43.083466Z 0 InnoDB: New log files created, LSN=45790
  2017-04-26T02:17:43.236539Z 0 InnoDB: Creating foreign key constraint system tables.
  2017-04-26T02:17:43.357511Z 0 No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 87cd07e3-2a26-11e7-afe5-0800275a2175.
  2017-04-26T02:17:43.385762Z 0 Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
  2017-04-26T02:17:43.387836Z 1 A temporary password is generated for root@localhost: 9NuZjvE>fsZb
  改用 mysqld --initialize 后,如果 datadir 指向的目标目录下已经有数据文件, 会出现warning 报错 如下:
  删除清空后在重新初始化即可
  2017-04-24T08:51:45.724122Z 0 TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
  2017-04-24T08:51:45.727068Z 0 --initialize specified but the data directory has files in it. Aborting.
  2017-04-24T08:51:45.727113Z 0 Aborting
  5. 检测下是否能启动mysql服务
  # cd /home/mysql/support-files
  # ./mysql.serverstart
  Starting MySQL.Logging to '/mysql_data/iccsdb02.err'.
  [确定]
  如果出现如下报错:
  Starting MySQL.2017-04-25T03:03:32.124076Z mysqld_safe Directory '/var/lib/mysql' for UNIX socket file don't exists.
  The server quit without updating PID file (/var/lib/mysql/i[失败]1.pid).
  检查/etc/my.cnf 文件查看datadir等是否正确,默认是没有这个配置文件的,后续我们可能需要手动添加。
  6. 创建软链接
  ln -s /home/mysql/bin/mysql       /usr/bin/mysql
  ln -s /home/mysql/bin/mysqladmin/usr/bin/mysqladmin
  7. 配置mysql服务开机自动启动
  拷贝启动文件到/etc/init.d/下并重命令为mysqld
  # cp /home/mysql/support-files/mysql.server /etc/init.d/mysqld
  增加执行权限
  # chmod 755 /etc/init.d/mysqld
  检查自启动项列表中没有mysqld这个,如果没有就添加mysqld:
  # chkconfig --list mysqld
  # chkconfig --add mysqld
  设置MySQL在345等级自动启动
  # chkconfig --level 35 mysqld on
  8. mysql服务的启动/重启/停止,其实到此mysql应该就已经能够正常启动了
  启动mysql服务
  # service mysqld start
  停止mysql服务
  # service mysqld stop
  重启mysql服务
  # service mysqld restart
  9. 创建配置文件
  将默认my.cnf备份,如果有的话
  # mv /etc/my.cnf /etc/my.cnf.bak
  进入mysql的安装目录支持文件目录
  # cd /home/mysql/support-files
  # cp my-default.cnf /etc/my.cnf 这步骤在此版本的软件里面没有看到相对应的my-default.cnf文件
  可按需修改新的配置文件选项, 不修改配置选项, mysql则按默认配置参数运行.
  默认/etc/my.cnf 是没有的,可以自己创建个也可以从网上下载一个,这里设置编码为utf8以防乱码,我测试的配置文件如下:
  
  datadir=/my_data
  socket=/var/lib/mysql/mysql.sock
  user=mysql
  # Disabling symbolic-links is recommended to prevent assorted security risks
  symbolic-links=0
  character_set_server=utf8
  init_connect='SET NAMES utf8'
  
  log-error=/var/log/mysqld.log
  pid-file=/var/run/mysqld/mysqld.pid
  
  default-character-set=utf8
  10. 初始化mysql用户root的密码, 网上说的方法有很多,但是经过测试都怎么好用,所以就直接按照这个来了
  修改MySQL的配置文件(默认为/etc/my.cnf),在下添加一行skip-grant-tables
  service mysqld restart后,即可直接用mysql进入
  # mysql
  Welcome to the MySQL monitor.Commands end with ; or \g.

  Your MySQL connection>  Server version: 5.7.18 MySQL Community Server (GPL)
  Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
  Oracle is a registered trademark of Oracle Corporation and/or its
  affiliates. Other names may be trademarks of their respective
  owners.
  Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  mysql>
  mysql> update mysql.user set authentication_string=password('1q2w3e') where user='root' and Host = 'localhost';
  Query OK, 1 row affected, 1 warning (0.12 sec)
  Rows matched: 1Changed: 1Warnings: 1
  mysql> flush privileges;
  Query OK, 0 rows affected (0.03 sec)
  mysql> quit
  再次进入还会提示你修改密码
  root@iccsdb02 run]# mysql -u root -p
  Enter password:
  Welcome to the MySQL monitor.Commands end with ; or \g.

  Your MySQL connection>  Server version: 5.7.18
  Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
  Oracle is a registered trademark of Oracle Corporation and/or its
  affiliates. Other names may be trademarks of their respective
  owners.
  Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  mysql> show databases;

  ERROR 1820 (HY000): You must reset your password using>  mysql>
  重新更新一下密码即可
  # mysqladmin -u root -p password
  Enter password:
  New password:
  Confirm new password:
  Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
  #
  # mysql -u root -p
  Enter password:
  Welcome to the MySQL monitor.Commands end with ; or \g.

  Your MySQL connection>  Server version: 5.7.18 MySQL Community Server (GPL)
  Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
  Oracle is a registered trademark of Oracle Corporation and/or its
  affiliates. Other names may be trademarks of their respective
  owners.
  Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  mysql> show databases;
  +--------------------+
  | Database         |
  +--------------------+
  | information_schema |
  | mysql            |
  | performance_schema |
  | sys                |
  +--------------------+
  4 rows in set (0.00 sec)
  mysql>
  好了,到此mysql 5.7.18 就已经安装成功并且本地能正常访问使用了

页: [1]
查看完整版本: RedHat 6.7 安装Mysql 5.7.18