作者:王丽珠景平怡伦_621 | 来源:互联网 | 2023-08-31 21:14
环境:虚拟机+CentOS 7
wget https:
//dev
.mysql.com
/get/Downloads/MySQL-5
.7
/mysql-5
.7.19-linux-glibc2.12-x86_64.
tar
.gz
[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
[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
接着执行:
[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'
-
先检查是否有/etc/my.cnf,如果没有
cp support-files/my-
default
.cnf /etc/my.cnf
编辑/etc/my.cnf,重点修改下面几个,其他的尽量注释掉:
basedir = /usr/local/mysql
datadir =
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
:关
-
用初始密码登陆(见上面第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
新密码重新登录 mysql:
[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>