123sw 发表于 2018-9-29 09:34:50

Linux centos安装mysql(解压手动安装)

  系统版本:
  # uname -r
  2.6.32-358.el6.i686
  # cat /etc/issue

  CentOS>  Kernel \r on an \m
  下载linux generic 32bit的mysql包(http://dev.mysql.com/downloads/mysql/ )。
  步骤开始:
  1,直接wget下载,或者下载后上传到服务器端。
  2,解压。
  3,将解压生成的mysql目录复制到/usr/local/mysql,并在其下新建data目录。
  4,新建用户mysql和用户组mysql,并将mysql目录进行权限修改。
  # pwd
  /usr/local
  # chown -R mysql:mysql mysql/
  # ll
  total 56
  drwxr-xr-x.2 mysql mysql4096 Jun 26 01:42 bin
  -rw-r--r--.1 mysql mysql 17987 Jun 26 01:42 COPYING
  drwxr-xr-x.5 mysql mysql4096 Jun 26 04:40 data
  drwxr-xr-x.2 mysql mysql4096 Jun 26 01:42 docs
  drwxr-xr-x.3 mysql mysql4096 Jun 26 01:42 include
  drwxr-xr-x.5 mysql mysql4096 Jun 26 01:43 lib
  drwxr-xr-x.4 mysql mysql4096 Jun 26 01:42 man
  -rw-r--r--.1 mysql mysql2478 Jun 26 01:39 README
  drwxr-xr-x. 28 mysql mysql4096 Jun 26 01:42 share
  drwxr-xr-x.2 mysql mysql4096 Jun 26 01:43 support-files
  #
  # pwd
  /usr/local/mysql
  5,初始化数据。
  # ./bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
  #         //以上basedir   datadir目录是属于默认目录,若安装目录非
  //默认/usr/local/mysql,比如目录为/usr/local/mysql-5.7.13
  //则需要手动指定,并在目录下./support-files/mysql.server
  //文件中指定basedir和datadir的实际目录。
  //端口修改是在./support-files/my-default.cnf文件中。
  6,复制配制文件。
  # cp -a ./support-files/my-default.cnf /etc/my.cnf
  #
  7,将Mysql的服务脚本放到/etc/init.d/目录下。
  # cp -a ./support-files/mysql.server /etc/init.d/mysqld
  #
  8,启动服务。
  # service mysqld restart
  Shutting down MySQL.. SUCCESS!
  Starting MySQL.. SUCCESS!
  #
  9,查看初始密码,并登录mysql。
  # cat /root/.mysql_secret
  # Password set for user 'root@localhost' at 2016-06-26 02:48:47
  :jiDfmi%5kaK
  # ./bin/mysql -uroot -p
  Enter password: (此处输入上述密码)
  Welcome to the MySQL monitor.Commands end with ; or \g.

  Your MySQL connection>  Server version: 5.7.13
  Copyright (c) 2000, 2016, 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> status    (下面会有报错,提示需要修改密码后再执行命令)

  ERROR 1820 (HY000): You must reset your password using>  mysql>
  10,修改mysql登录密码。
  # ./bin/mysqladmin -uroot -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.
  #
  11,使用新密码即可登录mysql。
  # ./bin/mysql -uroot -p
  Enter password: (新密码)
  Welcome to the MySQL monitor.Commands end with ; or \g.

  Your MySQL connection>  Server version: 5.7.13 MySQL Community Server (GPL)
  Copyright (c) 2000, 2016, 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> select version();
  +-----------+
  | version() |
  +-----------+
  | 5.7.13    |
  +-----------+
  1 row in set (0.01 sec)
  mysql>
  12,至此mysql安装完成。
  报错解决:
  1,
  # ./bin/mysql_install_db --user=mysql
  2016-06-26 02:47:09 mysql_install_db is deprecated. Please consider switching to mysqld --initialize
  2016-06-26 02:47:09    The data directory needs to be specified.
  解决:需要新建data目录,指定安装目录(在非默认目录时需要指定,默认路径:/usr/local/mysql,同时需要指定./support-files/mysql.server中的basedir和datadir为相应路径)。
  # ./bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql-5.7.13/ --datadir=/usr/local/mysql-5.7.13/data/
  2016-06-26 02:48:47 mysql_install_db is deprecated. Please consider switching to mysqld --initialize
  2016-06-26 02:49:19 The bootstrap log isn't empty:
  2016-06-26 02:49:19 2016-06-26T09:48:50.798592Z 0 --bootstrap is deprecated. Please consider using --initialize instead
  2016-06-26T09:48:50.898732Z 0 Changed limits: max_open_files: 1024 (requested 5000)
  2016-06-26T09:48:50.898778Z 0 Changed limits: table_open_cache: 431 (requested 2000)
  以上报错均因未在mysql.server中指定自定义的路径。
  2,启动mysql服务不成功。
  # /etc/init.d/mysqld start
  /etc/init.d/mysqld: line 256: my_print_defaults: command not found
  Starting MySQL ERROR! Couldn't find MySQL server (/usr/local/mysql/bin/mysqld_safe)
  解决:原来默认路径是/usr/local/mysql目录,这里存放目录是/usr/local/mysql-5.7.13。
  将mysql-5.7.13改为mysql再启动,发现如下错误:
  ERROR! MySQL server PID file could not be found!
  确认当前目录所有者为root,改为mysql:
  # chown -R mysql:mysql mysql/
  # /etc/init.d/mysqld restart
  ERROR! MySQL server PID file could not be found!
  Starting MySQL....... SUCCESS!
  3,登录不成功,是因为服务没启动。
  # cat /root/.mysql_secret
  # Password set for user 'root@localhost' at 2016-06-26 02:48:47
  :jiDfmi%5kaK
  # ./bin/mysql -uroot -p
  Enter password:
  ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
  解决:上面第2个问题解决后,此问题消失(需要将mysqld服务启动)。
  4,修改端口号后,启动服务报错:
  ERROR! MySQL server PID file could not be found!
  Starting MySQL.. ERROR! The server quit without updating PID file(/usr/local/mysql-5.7.13/data/CentOS.pid)
  解决:
  发现./data目录下果然没有CentOS.pid文件。
  查看./data/目录下的报错日志Centos.err。
  发现如下提示(主要查找 标识的,而和可忽略 ):
  variable 'Port = 3308' 无法识别。
  在/etc/my.cnf中把Port改为port(大写P改为小写p),重新启动,正常。
  --文件默认是大写Port,但还是需要改为小写port。
  --另外说明查看错误信息/日志的重要性,很多问题可以自己发现解决。
  5,数据库无法登录问题:
  MYSQL提示:
  ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YSE)
  解决:
  # bin/mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
  # bin/mysql -u mysql

  重置密码:
  mysql>update user set authentication_string=password('your_new_password') where user='root' ;

  *特别提醒注意的一点是,新版的mysql数据库下的user表中已经没有Password字段了,而是将加密后的用户密码存储于authentication_string字段。否则会提示:
  ERROR 1054 (42S22): Unknown column 'password' in 'field list'
  6, 提示如下信息:
  mysql> show databases;
  ERROR 1820 (HY000): You must reset your password using>
  解决:

  mysql>>  Query OK, 0 rows affected (0.46 sec)
  mysql> show databases;
  +--------------------+
  | Database         |
  +--------------------+
  | information_schema |
  | mysql            |
  | performance_schema |
  | sys                |
  +--------------------+
  4 rows in set (0.10 sec)
  mysql>
  参考:http://www.cnblogs.com/azhw/p/5143232.html

页: [1]
查看完整版本: Linux centos安装mysql(解压手动安装)