Mysql5.7.8安装文档(二进制安装)

Mysql5.7.8安装文档(二进制安装)

5.7的二进制安装方法与5.6大概几乎相同。但有些地方不太一样,比方说,初始化命令的该变,5.7之后的小版本号初始化命令也不同样。如今使用的是开发版的5.7.8.

第一步,下载解压二进制文件,加压,进入解压出来的文件

[root@mysql47 mysql33333]# ll
total 160
drwxr-xr-x 2 7161 wheel 4096 Jul 20 20:54 bin
-rw-r–r– 1 7161 wheel 17987 Jul 20 20:25 COPYING
drwxr-xr-x 2 7161 wheel 4096 Jul 20 20:54 docs
drwxr-xr-x 3 7161 wheel 4096 Jul 20 20:54 include
-rw-r–r– 1 7161 wheel 106739 Jul 20 20:25 INSTALL-BINARY
drwxr-xr-x 4 7161 wheel 4096 Jul 20 20:54 lib
drwxr-xr-x 4 7161 wheel 4096 Jul 20 20:54 man
-rw-r–r– 1 7161 wheel 2478 Jul 20 20:25 README
drwxr-xr-x 28 7161 wheel 4096 Jul 20 20:54 share
drwxr-xr-x 2 7161 wheel 4096 Jul 20 20:54 support-files
[root@mysql47 mysql33333]#
会发现没有data目录。

没有之前mysql5.6的scripts目录。
我是重命名了一下,mysql33333

第二步,在mysql33333下建立data目录

第三步,更改目录mysql33333的文件所属用户
[root@mysql47 local]# chown -R mysql:mysql mysql33333

[root@mysql47 mysql33333]# ll
total 164
drwxr-xr-x 2 mysql mysql 4096 Jul 20 20:54 bin
-rw-r–r– 1 mysql mysql 17987 Jul 20 20:25 COPYING
drwxr-xr-x 2 mysql mysql 4096 Aug 18 11:07 data
drwxr-xr-x 2 mysql mysql 4096 Jul 20 20:54 docs
drwxr-xr-x 3 mysql mysql 4096 Jul 20 20:54 include
-rw-r–r– 1 mysql mysql 106739 Jul 20 20:25 INSTALL-BINARY
drwxr-xr-x 4 mysql mysql 4096 Jul 20 20:54 lib
drwxr-xr-x 4 mysql mysql 4096 Jul 20 20:54 man
-rw-r–r– 1 mysql mysql 2478 Jul 20 20:25 README
drwxr-xr-x 28 mysql mysql 4096 Jul 20 20:54 share
drwxr-xr-x 2 mysql mysql 4096 Jul 20 20:54 support-files
[root@mysql47 mysql33333]#

第四步,初始化数据库
由于我的版本号是5.6.8.所以依据官档的说明,进行安装。下面是官档的相关说明。
shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysql
shell> mkdir mysql-files
shell> chmod 770 mysql-files
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> bin/mysql_install_db –user=mysql # Before MySQL 5.7.6
shell> bin/mysqld –initialize –user=mysql # MySQL 5.7.6 and up
shell> bin/mysql_ssl_rsa_setup # MySQL 5.7.6 and up
shell> chown -R root .
shell> chown -R mysql data mysql-files
shell> bin/mysqld_safe –user=mysql &

Next command is optional

shell> cp support-files/mysql.server /etc/init.d/mysql.server
命令例如以下:
[root@mysql47 bin]# ./mysqld –initialize –basedir=/usr/local/mysql33333 –datadir=/usr/local/mysql33333/data &

会报warning提示信息,能够看一下。显示给出一个root的暂时密码,可是后来登录使用的时候不能用。

第五步,./mysql_ssl_rsa_setup –datadir=/usr/local/mysql33333/data

第六步:在mysql33333目录下。并配置相关參数,简单配置一下就好。

cp ./support-files/my-default.cnf ./my.cnf

第六步,更改mysql33333目录所属。

Chown -R mysql:mysql /usr/local/mysql33333

第七步:利用–skip-grant-tables的方式登录启动数据库server

之所以通过这样的方式启动,是由于,尽管在初始化的时候,warning里面已经给出了root的暂时密码,可是我尝试了一下。正常启动mysqlserver之后,用那个密码登不进去。

第八步,登录server,而且改动root密码。

先看版本号号:
mysql> select version();
+———–+
| version() |
+———–+
| 5.7.8-rc |
+———–+
1 row in set (0.00 sec)

看mysql.user表
mysql> select * from mysql.userG
***************** 1. row *****************
Host: localhost
User: root
Select_priv: Y
Insert_priv: Y
Update_priv: Y
Delete_priv: Y
Create_priv: Y
Drop_priv: Y
Reload_priv: Y
Shutdown_priv: Y
Process_priv: Y
File_priv: Y
Grant_priv: Y
References_priv: Y
Index_priv: Y
Alter_priv: Y
Show_db_priv: Y
Super_priv: Y
Create_tmp_table_priv: Y
Lock_tables_priv: Y
Execute_priv: Y
Repl_slave_priv: Y
Repl_client_priv: Y
Create_view_priv: Y
Show_view_priv: Y
Create_routine_priv: Y
Alter_routine_priv: Y
Create_user_priv: Y
Event_priv: Y
Trigger_priv: Y
Create_tablespace_priv: Y
ssl_type:
ssl_cipher:
x509_issuer:
x509_subject:
max_questions: 0
max_updates: 0
max_connections: 0
max_user_connections: 0
plugin: mysql_native_password
authentication_string: *D5F86FA8F536F9E81C12E8A993EF5292A90259FB
password_expired: Y
password_last_changed: 2015-08-18 11:11:39
password_lifetime: NULL
account_locked: N
1 row in set (0.00 sec)

仅仅有一个root帐号,而且密码已经过期了。
在这里改动密码的时候,要考虑到pasword_expied,设置成N,才干够用。

改动密码:
mysql> update mysql.user set authentication_string=password(‘redhat’), password_expired=’N’ where user=’root’;
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 1

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
可能感觉这种方法有点怪异。为什么不直接set password=password();
看一下
mysql> set password=password(‘123’);
ERROR 1131 (42000): You are using MySQL as an anonymous user and anonymous users are not allowed to change passwords

答案是不能够,由于mysql.user表已经没有这个字段了。

改动完毕之后,用root登录。


mysql> select current_user();
+—————-+
| current_user() |
+—————-+
| root@localhost |
+—————-+
1 row in set (0.00 sec)

登录ok。

原文地址:https://www.cnblogs.com/wgwyanfs/p/7248339.html