Red Hat5.5 install Generic mysql-5.7.10

 

1.确认以下依赖包已安装

【ncurses ncurses-devel openssl-devel bison autoconf automake bison gcc m4 libtool make gcc-c++ cmake perl】

[root@std ~]# rpm -qa|grep ncurses
ncurses-5.5-24.20060715
ncurses-devel-5.5-24.20060715
[root@std ~]# rpm -qa|grep openssl
openssl-0.9.8e-12.el5_4.6
openssl-devel-0.9.8e-12.el5_4.6
[root@std ~]# rpm -qa|grep bison
bison-2.3-2.1
[root@std ~]# rpm -qa|grep autoconf
autoconf-2.59-12
[root@std ~]# rpm -qa|grep automake
automake14-1.4p6-13.el5.1
automake15-1.5-16.el5.2
automake-1.9.6-2.3.el5
automake16-1.6.3-8.el5.1
automake17-1.7.9-7.el5.2
[root@std ~]# rpm -qa|grep gcc
compat-libgcc-296-2.96-138
compat-gcc-34-g77-3.4.6-4
libgcc-4.1.2-48.el5
gcc-c++-4.1.2-48.el5
compat-gcc-34-3.4.6-4
compat-gcc-34-c++-3.4.6-4
gcc-java-4.1.2-48.el5
gcc-4.1.2-48.el5
gcc-gfortran-4.1.2-48.el5
[root@std ~]# rpm -qa|grep m4
m4-1.4.5-3.el5.1
[root@std ~]# rpm -qa|grep libtool
libtool-1.5.22-7.el5_4
[root@std ~]# rpm -qa|grep make
automake14-1.4p6-13.el5.1
automake15-1.5-16.el5.2
automake-1.9.6-2.3.el5
imake-1.0.2-3
make-3.81-3.el5
automake16-1.6.3-8.el5.1
automake17-1.7.9-7.el5.2
[root@std ~]# rpm -qa|grep gcc-c++
gcc-c++-4.1.2-48.el5


 

2.建立用户及组

[root@std ~]# groupadd mysql
[root@std ~]# useradd -r -g mysql -s /bin/false mysql
[root@std ~]#

 

3.解压mysql包并建立软连接

[root@std ~]# cp mysql-5.7.10-linux-glibc2.5-i686.tar.gz /usr/local/
[root@std ~]# cd /usr/local/
[root@std local]# tar -xzf mysql-5.7.10-linux-glibc2.5-i686.tar.gz 
[root@std local]# ls -ld mysql-5.7.10-linux-glibc2.5-i686*
drwxr-xr-x 9 7161 wheel      4096 Nov 30 04:47 mysql-5.7.10-linux-glibc2.5-i686
-rw-r--r-- 1 root root  584116380 Feb  4 10:17 mysql-5.7.10-linux-glibc2.5-i686.tar.gz
[root@std local]# ln -s mysql-5.7.10-linux-glibc2.5-i686 mysql
[root@std local]# ls -ld mysql*
lrwxrwxrwx 1 root root         32 Feb  4 10:29 mysql -> mysql-5.7.10-linux-glibc2.5-i686
drwxr-xr-x 9 7161 wheel      4096 Nov 30 04:47 mysql-5.7.10-linux-glibc2.5-i686
-rw-r--r-- 1 root root  584116380 Feb  4 10:17 mysql-5.7.10-linux-glibc2.5-i686.tar.gz

 

 

4.配置mysql

[root@std local]# cd mysql
[root@std mysql]# mkdir {data,log}
[root@std mysql]# ls -d data
data
[root@std mysql]# ls -d log
log
[root@std mysql]# cd ..
[root@std local]# ll -d mysql
lrwxrwxrwx 1 root root 32 Feb  4 10:29 mysql -> mysql-5.7.10-linux-glibc2.5-i686
[root@std local]# chown -R mysql.mysql mysql
[root@std local]# ll -d mysql
lrwxrwxrwx 1 mysql mysql 32 Feb  4 10:29 mysql -> mysql-5.7.10-linux-glibc2.5-i686
[root@std local]# ll -d mysql-5.7.10-linux-glibc2.5-i686
drwxr-xr-x 11 7161 wheel 4096 Feb  4 10:31 mysql-5.7.10-linux-glibc2.5-i686
[root@std local]# chown -R mysql.mysql mysql-5.7.10-linux-glibc2.5-i686
[root@std local]# ll -d mysql-5.7.10-linux-glibc2.5-i686
drwxr-xr-x 11 mysql mysql 4096 Feb  4 10:31 mysql-5.7.10-linux-glibc2.5-i686
[root@std local]# cp mysql/support-files/my-default.cnf /etc/my.cnf
[root@std local]# vi /etc/my.cnf 

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.

[mysqld]

# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M

# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin

# These are commonly set, remove the # and set as required.
# basedir = .....
# datadir = .....
# port = .....
# server_id = .....
# socket = .....

# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

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

[mysqld]
character-set-server = utf8
port = 3306
socket = /usr/local/mysql/mysql.sock
skip-name-resolve
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
log-error = /usr/local/mysql/log/mysql_error.log
pid-file =/usr/local/mysql/log/mysql.pid
explicit_defaults_for_timestamp=true
lower_case_table_names = 1
query_cache_limit = 10M
max_heap_table_size = 64M
~
~
~
"/etc/my.cnf" 50L, 1582C written

 

 

5.初始化数据库

[root@std local]# /usr/local/mysql/bin/mysql_install_db \
> --user=mysql \
> --basedir=/usr/local/mysql \
> --datadir=/usr/local/mysql/data
2016-02-04 10:55:58 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize

发现有报错,提示:MySQL 5.7.6 以上的版本使用mysqld --initialize进行初始化

 

[root@std local]# /usr/local/mysql/bin/mysqld \
> --initialize \
> --user=mysql \
> --basedir=/usr/local/mysql \
> --datadir=/usr/local/mysql/data
2016-02-04T02:59:41.907629Z 0 [Warning] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
2016-02-04T02:59:41.907698Z 0 [Warning] 'NO_AUTO_CREATE_USER' sql mode was not set.
2016-02-04T02:59:41.910476Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
2016-02-04T02:59:41.910635Z 0 [ERROR] Aborting

发现有些启动参数必须设置:参考 http://blog.csdn.net/wyzxg/article/details/8787878
提示data directory has files,即数据目录已经有文件了,清除数据目录里的文件

 

配置sql_mode:

[root@std data]# vi /etc/my.cnf 

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.

[mysqld]


# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M

# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin

# These are commonly set, remove the # and set as required.
# basedir = .....
# datadir = .....
# port = .....
# server_id = .....
# socket = .....

# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M


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

[mysqld]
character-set-server = utf8
port = 3306
socket = /usr/local/mysql/mysql.sock
skip-name-resolve
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
log-error = /usr/local/mysql/log/mysql_error.log
pid-file =/usr/local/mysql/log/mysql.pid
explicit_defaults_for_timestamp=true
lower_case_table_names = 1
query_cache_limit = 10M
max_heap_table_size = 64M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER
~
~
"/etc/my.cnf" 50L, 1657C written

 

[root@std local]# pwd
/usr/local
[root@std local]# cd mysql/data/
[root@std data]# ls
auto.cnf    ca.pem      client-cert.pem  client-req.pem  ibdata1      ib_logfile1  performance_schema  server-key.pem  sys
ca-key.pem  ca-req.pem  client-key.pem   ib_buffer_pool  ib_logfile0  mysql        server-cert.pem     server-req.pem
[root@std data]# rm -rf *
[root@std data]# ll
total 0

 

重新初始化:

[root@std local]# /usr/local/mysql/bin/mysqld \
> --initialize \
> --user=mysql \
> --basedir=/usr/local/mysql \
> --datadir=/usr/local/mysql/data
2016-02-04T03:27:21.900630Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
2016-02-04T03:27:21.900825Z 0 [ERROR] Aborting

发现还是提示同样的报错,删除之前建的data文件夹,由mysql自己创建data目录即可。

[root@std mysql]# ls
bin  COPYING  data  docs  include  INSTALL-BINARY  lib  log  man  README  share  support-files
[root@std mysql]# rm -rf data
[root@std mysql]# ll data
ls: data: No such file or directory

 

在重新初始化,没有任何提示,正常结束:

[root@std mysql]# /usr/local/mysql/bin/mysqld \
> --initialize \
> --user=mysql \
> --basedir=/usr/local/mysql \
> --datadir=/usr/local/mysql/data
[root@std mysql]#

 

[root@std mysql]# /usr/local/mysql/bin/mysql_ssl_rsa_setup 
Generating a
2048 bit RSA private key ....................+++ ....................+++ writing new private key to 'ca-key.pem' ----- Generating a 2048 bit RSA private key ...............................................................+++ ..+++ writing new private key to 'server-key.pem' ----- Generating a 2048 bit RSA private key ......+++ .............................................................+++ writing new private key to 'client-key.pem' -----

 

 

6.启动数据库

[root@std mysql]# /usr/local/mysql/bin/mysqld_safe --user=mysql
160204 12:27:53 mysqld_safe Logging to '/usr/local/mysql/log/mysql_error.log'.
160204 12:27:53 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data

 

修改密码发现有权限问题:

[root@std data]# /usr/local/mysql/bin/mysqladmin -u root password '123456'
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'

 

在mysql_error.log 日志里发现有初始密码:

[root@std log]# tail -f mysql_error.log 
2016-02-04T03:53:14.628582Z 0 [Warning] InnoDB: New log files created, LSN=45790
2016-02-04T03:53:15.260581Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2016-02-04T03:53:15.382168Z 0 [Warning] 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: d1b4565b-caf2-11e5-a1fe-000c29a3d3fb.
2016-02-04T03:53:15.463227Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2016-02-04T03:53:15.465781Z 1 [Note] A temporary password is generated for root@localhost: F>nWo%wli60_
2016-02-04T03:53:29.091095Z 1 [Warning] 'user' entry 'root@localhost' ignored in --skip-name-resolve mode.

 

使用初始密码登录,发现登录不了:

[root@std ~]# /usr/local/mysql/bin/mysql -u root -p 'F>nWo%wli60_'
Enter password: 

 

7.利用–skip-grant-tables的方式登录数据库服务器

--kill掉mysql服务

[root@std bin]# ps -ef|grep mysql |grep -v grep
root     10546  8761  0 11:53 pts/3    00:00:00 tail -f mysql_error.log
root     11188  5781  0 12:27 pts/2    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --user=mysql
mysql    11430 11188  0 12:27 pts/2    00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/log/mysql_error.log --pid-file=/usr/local/mysql/log/mysql.pid --socket=/usr/local/mysql/mysql.sock --port=3306
[root@std bin]# kill -9 11188
[root@std bin]# kill -9 11430
[root@std bin]# ps -ef|grep mysql |grep -v grep
root     10546  8761  0 11:53 pts/3    00:00:00 tail -f mysql_error.log
[root@std mysql]# /usr/local/mysql/bin/mysqld_safe --user=mysql
160204 12:27:53 mysqld_safe Logging to '/usr/local/mysql/log/mysql_error.log'.
160204 12:27:53 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data

Killed
[root@std mysql]# 

 

--修改my.cnf配置文件,增加skip-grant-tables配置

[root@std mysql]# vi /etc/my.cnf 

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.

[mysqld]

# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M

# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin

# These are commonly set, remove the # and set as required.
# basedir = .....
# datadir = .....
# port = .....
# server_id = .....
# socket = .....

# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M


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

[mysqld]
character-set-server = utf8
port = 3306
socket = /usr/local/mysql/mysql.sock
skip-name-resolve
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
log-error = /usr/local/mysql/log/mysql_error.log
pid-file =/usr/local/mysql/log/mysql.pid
explicit_defaults_for_timestamp=true
lower_case_table_names = 1
query_cache_limit = 10M
max_heap_table_size = 64M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER
skip-grant-tables
"/etc/my.cnf" 51L, 1675C written

 

--启动mysql服务

[root@std mysql]# /usr/local/mysql/bin/mysqld_safe --user=mysql
160204 12:47:05 mysqld_safe Logging to '/usr/local/mysql/log/mysql_error.log'.
160204 12:47:05 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data

 

--登录mysql服务,修改root密码

[root@std bin]# /usr/local/mysql/bin/mysql -u root -p
Enter password:    --直接回车
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.10 MySQL Community Server (GPL)

Copyright (c) 2000, 2015, 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> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> UPDATE user SET password=PASSWORD('123456') WHERE user='root';
ERROR 1054 (42S22): Unknown column 'password' in 'field list'

发现此处修改密码出错,该版本中user表已经没有password列:

mysql> desc user ;
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Field                  | Type                              | Null | Key | Default               | Extra |
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Host                   | char(60)                          | NO   | PRI |                       |       |
| User                   | char(32)                          | NO   | PRI |                       |       |
| Select_priv            | enum('N','Y')                     | NO   |     | N                     |       |
| Insert_priv            | enum('N','Y')                     | NO   |     | N                     |       |
| Update_priv            | enum('N','Y')                     | NO   |     | N                     |       |
| Delete_priv            | enum('N','Y')                     | NO   |     | N                     |       |
| Create_priv            | enum('N','Y')                     | NO   |     | N                     |       |
| Drop_priv              | enum('N','Y')                     | NO   |     | N                     |       |
| Reload_priv            | enum('N','Y')                     | NO   |     | N                     |       |
| Shutdown_priv          | enum('N','Y')                     | NO   |     | N                     |       |
| Process_priv           | enum('N','Y')                     | NO   |     | N                     |       |
| File_priv              | enum('N','Y')                     | NO   |     | N                     |       |
| Grant_priv             | enum('N','Y')                     | NO   |     | N                     |       |
| References_priv        | enum('N','Y')                     | NO   |     | N                     |       |
| Index_priv             | enum('N','Y')                     | NO   |     | N                     |       |
| Alter_priv             | enum('N','Y')                     | NO   |     | N                     |       |
| Show_db_priv           | enum('N','Y')                     | NO   |     | N                     |       |
| Super_priv             | enum('N','Y')                     | NO   |     | N                     |       |
| Create_tmp_table_priv  | enum('N','Y')                     | NO   |     | N                     |       |
| Lock_tables_priv       | enum('N','Y')                     | NO   |     | N                     |       |
| Execute_priv           | enum('N','Y')                     | NO   |     | N                     |       |
| Repl_slave_priv        | enum('N','Y')                     | NO   |     | N                     |       |
| Repl_client_priv       | enum('N','Y')                     | NO   |     | N                     |       |
| Create_view_priv       | enum('N','Y')                     | NO   |     | N                     |       |
| Show_view_priv         | enum('N','Y')                     | NO   |     | N                     |       |
| Create_routine_priv    | enum('N','Y')                     | NO   |     | N                     |       |
| Alter_routine_priv     | enum('N','Y')                     | NO   |     | N                     |       |
| Create_user_priv       | enum('N','Y')                     | NO   |     | N                     |       |
| Event_priv             | enum('N','Y')                     | NO   |     | N                     |       |
| Trigger_priv           | enum('N','Y')                     | NO   |     | N                     |       |
| Create_tablespace_priv | enum('N','Y')                     | NO   |     | N                     |       |
| ssl_type               | enum('','ANY','X509','SPECIFIED') | NO   |     |                       |       |
| ssl_cipher             | blob                              | NO   |     | NULL                  |       |
| x509_issuer            | blob                              | NO   |     | NULL                  |       |
| x509_subject           | blob                              | NO   |     | NULL                  |       |
| max_questions          | int(11) unsigned                  | NO   |     | 0                     |       |
| max_updates            | int(11) unsigned                  | NO   |     | 0                     |       |
| max_connections        | int(11) unsigned                  | NO   |     | 0                     |       |
| max_user_connections   | int(11) unsigned                  | NO   |     | 0                     |       |
| plugin                 | char(64)                          | NO   |     | mysql_native_password |       |
| authentication_string  | text                              | YES  |     | NULL                  |       |
| password_expired       | enum('N','Y')                     | NO   |     | N                     |       |
| password_last_changed  | timestamp                         | YES  |     | NULL                  |       |
| password_lifetime      | smallint(5) unsigned              | YES  |     | NULL                  |       |
| account_locked         | enum('N','Y')                     | NO   |     | N                     |       |
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
45 rows in set (0.01 sec)

 

使用下面的语句修改密码:

mysql> update user set authentication_string=password('123456'), password_expired='N' where user='root';
Query OK, 1 row affected, 1 warning (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 1

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> 

 

 

--关闭mysql服务,去掉skip-grant-tables

[root@std bin]# /usr/local/mysql/bin/mysqladmin -u root -p   shutdown 
Enter password: 
[root@std bin]# ps -ef|grep mysql|grep -v grep
root     10546  8761  0 11:53 pts/3    00:00:00 tail -f mysql_error.log
[root@std mysql]# vi /etc/my.cnf 

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.

[mysqld]

# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M

# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin

# These are commonly set, remove the # and set as required.
# basedir = .....
# datadir = .....
# port = .....
# server_id = .....
# socket = .....

# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M


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

[mysqld]
character-set-server = utf8
port = 3306
socket = /usr/local/mysql/mysql.sock
skip-name-resolve
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
log-error = /usr/local/mysql/log/mysql_error.log
pid-file =/usr/local/mysql/log/mysql.pid
explicit_defaults_for_timestamp=true
lower_case_table_names = 1
query_cache_limit = 10M
max_heap_table_size = 64M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER
~
"/etc/my.cnf" 50L, 1657C written

 

--重新启动mysql服务,用新密码尝试登录

[root@std bin]# ./mysql -u root -p
Enter password:     --此时不输入密码回车
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
[root@std bin]# ./mysql -u root -p
Enter password:      --输入新密码
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.10 MySQL Community Server (GPL)

Copyright (c) 2000, 2015, 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> 

 

--尝试启动时加上skip-grant-tables参数无密码登录

-1-关闭数据库

[root@std bin]# ./mysqladmin -u root -p shutdown 
Enter password: 
[root@std bin]# ps -ef|grep mysql|grep -v grep 
root     10546  8761  0 11:53 pts/3    00:00:00 tail -f mysql_error.log

 

-2-加上skip-grant-tables方式启动

[root@std mysql]# /usr/local/mysql/bin/mysqld_safe --user=mysql --skip-grant-tables
160204 13:19:21 mysqld_safe Logging to '/usr/local/mysql/log/mysql_error.log'.
160204 13:19:21 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data

 

-3-尝试无密码登录

[root@std bin]# ./mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.10 MySQL Community Server (GPL)

Copyright (c) 2000, 2015, 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> 

在直接输入密码处直接回车登录数据库成功,省去了修改my.cnf文件的麻烦。

此中方式启动,关闭的时候也不需要密码,直接回车即可:

[root@std bin]# ./mysqladmin -u root -p shutdown 
Enter password:    --直接回车

 

8.配置mysql的启动环境,正常启动

[root@std mysql]# ln -s /usr/local/mysql/bin/* /usr/local/bin/
[root@std mysql]# ln -s /usr/local/mysql/lib/* /usr/lib/
ln: creating symbolic link `/usr/lib/pkgconfig' to `/usr/local/mysql/lib/pkgconfig': File exists
[root@std mysql]# ln -s /usr/local/mysql/include/* /usr/include/
[root@std mysql]# ldconfig
[root@std mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@std mysql]# chmod 755 /etc/init.d/mysqld 
[root@std mysql]# chown mysql.mysql /etc/init.d/mysqld 
[root@std mysql]# /etc/init.d/mysqld start
Starting MySQL..
[root@std init.d]# /etc/init.d/mysqld status
MySQL running (13859)

 

此时就可以随便在任何目录执行mysql命令了,不用写全路径了:

[root@std ~]# mysql -V
mysql  Ver 14.14 Distrib 5.7.10, for linux-glibc2.5 (i686) using  EditLine wrapper
[root@std ~]# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.10 MySQL Community Server (GPL)

Copyright (c) 2000, 2015, 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.10    |
+-----------+
1 row in set (0.00 sec)

mysql> 

 

 

参考:

http://dev.mysql.com/doc/refman/5.7/en/binary-installation.html
http://www.xker.com/page/e2015/07/211127.html
http://www.2cto.com/database/201508/433985.html

 

posted @ 2016-02-04 13:53  蚂蚁快跑  阅读(375)  评论(0编辑  收藏  举报