首页 > 数据库技术 > 详细

一、mysql基础安装

时间:2021-08-08 23:12:26      阅读:37      评论:0      收藏:0      [点我收藏+]

一、搭建mysql数据库

mkdir /data
tar -xvf mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz
mv mysql-8.0.19-linux-glibc2.12-x86_64 /data/mysql

添加环境变量

echo ‘export PATH=/data/mysql/bin:$PATH
‘>>/etc/profile
source /etc/profile

创建用户

useradd mysql??
mkdir /data/mysql/data #创建数据目录
chown -R mysql.mysql /data #将/data目录权限授权给mysql用户

二、初始化数据库

1、初始化数据,初始化管理员的临时密码

mysqld --initialize ?--user=mysql --basedir=/data/mysql --datadir=/data/mysql/data

技术分享图片

5.7开始,MySQL加入了全新的 密码的安全机制:
1.初始化完成后,会生成临时密码(显示到屏幕上,并且会往日志中记一份)
2.密码复杂度:长度:超过12位? 复杂度:字符混乱组合
3.在5.7.11版本后把密码过期默认值从360变成了0也就是永不过期了

2、初始化数据,初始化管理员的密码为空

mysqld --initialize-insecure ?--user=mysql --basedir=/data/mysql --datadir=/data/mysql/data

技术分享图片

三、配置启动文件并启动数据库

cat > /etc/my.cnf <<EOF
[mysqld]
user=mysql
basedir=/data/mysql
datadir=/data/mysql/data
server_id=6
port=3306
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock
prompt=3306 [\\d]>
EOF

1、直接启动

/data/mysql/bin/mysqld --defaults-file=/etc/my.cnf &

2、通过mysql自带的启动脚本启动

cp /data/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
service mysqld start

技术分享图片

设置开机启动
chkconfig --level 35 mysqld on
chmod +x /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
chkconfig --list

3、使用systemd管理mysql

cat > /etc/systemd/system/mysqld.service <<EOF
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/data/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
EOF
systemctl daemon-reload
systemctl start mysqld
systemctl status mysqld

技术分享图片

systemctl enable mysqld.service #添加开机自启

四、启动数据库

1、如果使用的是管理员临时密码初始化的

mysql -uroot -p‘pEckoe?q#4Kd‘
alter user root@‘localhost‘ identified by ‘123‘;
flush privileges;

2、如果使用的是管理员空密码初始化

[root@db01 ~]# mysqladmin -uroot -p password 123
Enter password:? ##直接回车就好,密码为空

五、管理员用户密码忘记处理

先停掉数据库

systemctl stop mysqld

--skip-grant-tables ##跳过授权表
--skip-networking ##跳过远程登陆,防止远程用户恶意登陆
mysqld_safe --skip-grant-tables --skip-networking & #此时任意密码都可以登录数据库

技术分享图片

mysql ##直接输入mysql就可以登陆

alter user root@‘localhost‘ identified by ‘1234‘;
flush privileges;
alter user root@‘localhost‘ identified by ‘1234‘; #必须再来一次不然不生效

技术分享图片

1、如果使用service管理mysql

service mysqld restart #直接重启就好

技术分享图片

2、如果使用systemctl,直接重启停不掉mysqld_safe

mysqladmin -uroot -p1234 shutdown

systemctl start mysqld

技术分享图片

?

?

?

一、mysql基础安装

原文:https://blog.51cto.com/u_13236892/3314508

(0)
(0)
   
举报
评论 一句话评论(0
分享档案
最新文章
教程昨日排行
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!