mysql-下载-部署-登录-密码

数据库-安装-部署-登录-密码

数据库安装方式

1
2
3
4
安装方式一:yum/apt-get 	可以解决软件依赖关系(配置好下载源)
安装方式二:rpm包安装 需要提前在软件包,离线安装软件
安装方式三:源码编译安装 可以定制化安装软件,离线安装软件
安装方式四:二进制包安装 可以快速部署数据库, 离线安装软件

安装8.0系列的长期支持版

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#一:官网下载二进制软件包
https://www.mysql.com/cn/downloads/
#二:系统环境基础配置
1.确认系统是否可以连网/可以远程控制
ping www.baidu.com
2.安装mysql依赖软件
apt-get install -y libaio-dev libncurses-dev numactl net-tools libssl-dev libtinfo5
3.创建服务用户与存储数据目录
useradd mysql -M -s /sbin/nologin
mkdir -p /data/3306/data && chown mysql.mysql /data/3306/data
#三:解压安装数据库程序
--------------------
cd /usr/local/
--------------------
tar xvf mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz
--------------------
#创建软连接,更方便
ln -s mysql-8.0.32-linux-glibc2.12-x86_64 mysql --重要目录bin,存放数据库的命令信息(mysql mysqladmin mysqldump ...)
--------------------
#配置信息
vim ~/.bashrc
export PATH="$PATH:/usr/local/mysql/bin"
--------------------
#source一下
source ~/.bashrc
--------------------
#查看mysql版本
mysql -v
--------------------
#四:编写数据库服务配置文件
cat > /etc/my.cnf <<eof
[mysql]
socket=/tmp/mysql.sock
[mysqld]
user=mysql
basedir=/usr/local/mysql
datadir=/data/3306/data
socket=/tmp/mysql.sock
eof
--------------------
#步骤五:数据库服务初始化操作
mysqld --initialize-insecure --user=mysql --datadir=/data/3306/data --basedir=/usr/local/mysql
-- 进行不安全初始化,不会创建root用户临时密码(root用户可以免密登录)
2024-10-08T03:56:46.159721Z 0 [System] [MY-013169] [Server] /usr/local/mysql-8.0.32-linux-glibc2.12-x86_64/bin/mysqld (mysqld 8.0.32) initializing of server in progress as process 2090
2024-10-08T03:56:46.184294Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2024-10-08T03:56:47.034991Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2024-10-08T03:56:48.696529Z 6 [Warning] [MY-010453] [Server] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.
-- 没有看到初始化中的错误或失败信息,表示初始化成功(不安全)

启动mysql管理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#方法一 mysql自带的脚本启动
-------------------- #数据库日志位置
[root@db01 /usr/local/mysql/data]# ls db01.err
db01.err
[root@db01 /usr/local/mysql/data]# pwd
/usr/local/mysql/data
-------------------- #mysql启动位置
[root@db01 /usr/local/mysql/support-files]# ls mysql.server
mysql.server
[root@db01 /usr/local/mysql/support-files]# pwd
/usr/local/mysql/support-files
-------------------- #启动
[root@db01 /usr/local]# /usr/local/mysql/support-files/mysql.server start
Starting MySQL
.Logging to '/data/3306/data/db01.err'.
.. *
-------------------- #查看mysql系统进程
[root@db-01 local]# ps -ef|grep mysql
root 2386 1 0 15:07 pts/0 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/3306/data --pid-file=/data/3306/data/db-01.pid
#-- 以上进程称为数据库主进程 #-- 管理进程
mysql 2525 2386 15 15:07 pts/0 00:00:03 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/3306/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=db-01.err --pid-file=/data/3306/data/db-01.pid --socket=/tmp/mysql.sock
-- 以上进程称为数据库子进程 -- 工作进程

-------------------- #查看端口 ss -tnulp也行
[root@db-01 local]# netstat -lntup|grep 3306
tcp6 0 0 :::3306 :::* LISTEN 2525/mysqld
tcp6 0 0 :::33060 :::* LISTEN 2525/mysqld
-------------------- #关闭数据库
/usr/local/mysql/support-files/mysql.server stop
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#方法二编写mysql.service文件,被systemctl命令加载(systemctl daemon-reload)
cat > /etc/systemd/system/mysqld.service <<'EOF'
[Unit]
Description=MySQL Server
After=network.target

[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
ExecStop=/usr/local/mysql/bin/mysqladmin -uroot -p'' shutdown
Restart=on-failure
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF
[root@db01 /usr/local]# systemctl daemon-reload
-------------------- #测试是否成功
[root@db01 /usr/local]# systemctl start mysqld
[root@db01 /usr/local]# netstat -tnulp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 909/sshd: /usr/sbin
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 837/systemd-resolve
tcp6 0 0 :::22 :::* LISTEN 909/sshd: /usr/sbin
tcp6 0 0 :::33060 :::* LISTEN 2323/mysqld
tcp6 0 0 :::3306 :::* LISTEN 2323/mysqld
udp 0 0 127.0.0.53:53 0.0.0.0:* 837/systemd-resolve
[root@db01 /usr/local]# systemctl status mysqld
● mysqld.service - MySQL Server
Loaded: loaded (/etc/systemd/system/mysqld.service; disabled; vendor preset: enabled)
Active: active (running) since Thu 2026-03-19 19:32:57 CST; 10s ago
Main PID: 2323 (mysqld)
Tasks: 39 (limit: 4515)
Memory: 460.4M
CPU: 1.175s
CGroup: /system.slice/mysqld.service
└─2323 /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf

Mar 19 19:32:57 db01 systemd[1]: Started MySQL Server.
.......
[root@db01 /usr/local]# systemctl stop mysqld
[root@db01 /usr/local]# netstat -tnulp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 909/sshd: /usr/sbin
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 837/systemd-resolve
tcp6 0 0 :::22 :::* LISTEN 909/sshd: /usr/sbin
udp 0 0 127.0.0.53:53 0.0.0.0:* 837/systemd-resolve

密码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
--------------------#设置密码:(没有密码可以设置密码)
mysqladmin -uroot password "你想输入的密码"
mysql> alter user root@'localhost' identified by '123';
--------------------#修改密码
mysqladmin -uroot -p123456 password "你想改的密码"
mysql> alter user root@'localhost' identified by '123';
--------------------#如果忘记密码....
1.先停掉mysql
systemctl stop mysqld
pkill mysqld # 强制杀死,确保彻底停掉
2.免密登录
mysqld --user=mysql --skip-grant-tables --skip-networking &
3.登录不需要密码
mysql -uroot
4.重置密码
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

mysql-下载-部署-登录-密码
http://example.com/2026/01/15/数据库部署/
作者
发布于
2026年1月15日
许可协议