Home  >  Article  >  Database  >  Mysql5.7.8安装文档(二进制安装)_MySQL

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

WBOY
WBOYOriginal
2016-06-01 11:52:36958browse

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的方式登录启动数据库服务器

之所以通过这种方式启动,是因为,虽然在初始化的时候,warning里面已经给出了root的临时密码,但是我尝试了一下,正常启动mysql服务器之后,用那个密码登不进去。

第八步,登录服务器,并且修改root密码。

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

看mysql.user表
mysql> select * from mysql.user\G
***************** 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。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn