1. 程式人生 > >centos7安裝 MySQL5.7.19

centos7安裝 MySQL5.7.19

mysql5.7

環境:虛擬機+centos7

  • 1.下載二進制包,下面mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz鏈接是官網

cd /usr/local/src
wget  https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz
  • 2.解壓,改名

[[email protected] src]# tar zxvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz
[[email protected] src]# ls
index.html?id=471614  mysql-5.7.19-linux-glibc2.12-x86_64  mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz
[[email protected] src]# mv mysql-5.7.19-linux-glibc2.12-x86_64 /usr/local/mysql
  • 3. 初始化

[[email protected] mysql]# useradd -M -s /sbin/nologin  mysql
[[email protected] mysql]# ls
bin  COPYING  docs  include  lib  man  README  share  support-files
[[email protected] mysql]# mkdir -p /usr/local/mysql/data/mysql 
[[email protected] mysql]# chown mysql /usr/local/mysql/data/mysql

下面這步註意最後一句:

[[email protected] mysql]# ./bin/mysqld  --initialize --user=mysql --datadir=/usr/local/mysql/data/mysql
2017-09-27T03:44:47.999985Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-09-27T03:44:49.011240Z 0 [Warning] InnoDB: New log files created, LSN=45790
2017-09-27T03:44:49.180334Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2017-09-27T03:44:49.245777Z 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: 3649ce8c-a336-11e7-a43f-000c292b2832.
2017-09-27T03:44:49.266053Z 0 [Warning] Gtid table is not ready to be used. Table ‘mysql.gtid_executed‘ cannot be opened.
2017-09-27T03:44:49.268172Z 1 [Note] A temporary password is generated for [email protected]: ADB&yGx-d8ab
 ADB&yGx-d8ab 是密碼

接著執行:

[[email protected] mysql]# ./bin/mysql_ssl_rsa_setup --datadir=usr/local/mysql/data/mysql
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‘
  • 4. 拷貝配置文件和啟動腳本

  1. 先檢查是否有/etc/my.cnf,如果沒有

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

編輯/etc/my.cnf,重點修改下面幾個,其他的盡量註釋掉:

basedir = /usr/local/mysql
datadir = //usr/local/mysql/data/mysql
socket = /tmp/mysql.sock

2.啟動腳本

cp support-files/mysql.server /etc/init.d/mysqld


編輯/etc/init.d/mysqld,只修改下面幾個:

basedir=/usr/local/mysql
datadir=/data/mysql

將/etc/init.d/mysqld加入啟動項:

[[email protected] mysql]# chkconfig --add mysqld
[[email protected] mysql]# chkconfig --list

註意:該輸出結果只顯示 SysV 服務,並不包含原生 systemd 服務。SysV 配置數據可能被原生 systemd 配置覆蓋。
      如果您想列出 systemd 服務,請執行 ‘systemctl list-unit-files‘。
      欲查看對特定 target 啟用的服務請執行
      ‘systemctl list-dependencies [target]‘。

mysqld          0:關    1:關    2:開    3:開    4:開    5:開    6:關
netconsole      0:關    1:關    2:關    3:關    4:關    5:關    6:關
network         0:關    1:關    2:開    3:開    4:開    5:開    6:關
  • 5. 啟動服務

/etc/init.d/mysqld start
  • 6.設置root密碼

  1. 用初始密碼登陸(見上面第3步)

/usr/local/mysql/bin/mysql -uroot -p‘初始密碼’ #-p和’’不能隔開


出現mysql>的時候,輸入set password = password(‘新密碼‘);

退出,用新密碼登陸

2. 忘記初始密碼

給/etc/my.cnf/[mysqld]下面增加一行skip-grant-tables,重啟 mysqld:/etc/init.d/mysqld restart

[mysqld]
skip-grant-tables
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data/mysql
socket=/tmp/mysql.sock

[[email protected] ~]# /etc/init.d/mysqld restart
Shutting down MySQL.. SUCCESS!
Starting MySQL.. SUCCESS!

重新登錄 mysql:

[[email protected] ~]# /usr/local/mysql/bin/mysql -uroot

mysql>後輸入:update mysql.user set authentication_string=password(‘123333‘) where user=‘root‘;

mysql> update mysql.user set authentication_string=password(‘123333‘) where user=‘root‘;
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 1

退出,刪除 my.cnf 加入的skip-grant-tables,重啟mysqld

新密碼重新登錄 mysql:

[[email protected] ~]# /usr/local/mysql/bin/mysql -uroot -p‘123333‘
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 5.7.19 MySQL Community Server (GPL)

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


本文出自 “Linux” 博客,請務必保留此出處http://c1awn.blog.51cto.com/13026048/1969147

centos7安裝 MySQL5.7.19