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 optionalshell> 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。 |