一、搭建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用户
二、初始化数据库
初始化数据,初始化管理员的临时密码
mysqld --initialize ?--user=mysql --basedir=/data/mysql --datadir=/data/mysql/data
5.7开始,MySQL加入了全新的 密码的安全机制:
1.初始化完成后,会生成临时密码(显示到屏幕上,并且会往日志中记一份)
2.密码复杂度:长度:超过12位? 复杂度:字符混乱组合
3.在5.7.11版本后把密码过期默认值从360变成了0也就是永不过期了
初始化数据,初始化管理员的密码为空
mysqld --initialize-insecure ?--user=mysql --basedir=/data/mysql --datadir=/data/mysql/data
三、配置启动文件并启动数据库
cat > /etc/my.cnf <
[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 <
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 [email protected] identified by ‘123‘;
flush privileges;
2、如果使用的是管理员空密码初始化
[[email protected] ~]# 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 [email protected] identified by ‘1234‘;
flush privileges;
alter user [email protected] 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