CentOS 7安装 MySQL5.7.19

Linux大全评论215 views阅读模式

环境:虚拟机+CentOS 7

  • 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.解压,改名

[root@beta src]# tar zxvf mysql-
5.7
.
19
-linux-glibc2.
12
-x86_64.tar.gz  
[root@beta 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
[root@beta src]# mv mysql-
5.7
.
19
-linux-glibc2.
12
-x86_64 /usr/local/mysql

  • 3. 初始化

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

下面这步注意最后一句:

[root@beta 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 
root@localhost: ADB&yGx-d8ab  
ADB&yGx-d8ab 是密码

接着执行:

[root@beta 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加入启动项:

[root@beta mysql]# chkconfig --add mysqld
[root@beta 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
  
[root@beta ~]# /etc/init.d/mysqld restart
Shutting down MySQL.. SUCCESS!
Starting MySQL.. SUCCESS!

重新登录 mysql:

[root@beta ~]# /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

[root@beta ~]# /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>

企鹅博客
  • 本文由 发表于 2020年8月27日 15:56:51
  • 转载请务必保留本文链接:https://www.qieseo.com/194418.html

发表评论