2022-01-19

安装

https://downloads.mysql.com/archives/community/
选择版本

image.png

创建软件目录

[root@VM-4-7-centos data]# mkdir /data/app

解压并改名

[root@VM-4-7-centos app]# tar -xf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz 
[root@VM-4-7-centos app]# mv mysql-5.7.20-linux-glibc2.12-x86_64
[root@VM-4-7-centos app]# ll
total 626112
drwxr-xr-x 9 root root      4096 Jan 19 10:27 mysql
-rw-r--r-- 1 root root 641127384 Jan 19 10:25 mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz

设置环境变量

[root@VM-4-7-centos app]# vim /etc/profile
export PATH=/app/mysql/bin:$PATH
[root@VM-4-7-centos app]# source /etc/profile

创建用户名并创建数据目录并且授权

[root@VM-4-7-centos app]#  useradd mysql 
[root@VM-4-7-centos app]#  mkdir /data/mysql -p
[root@VM-4-7-centos app]# chown -R mysql.mysql /data/app/*
[root@VM-4-7-centos app]# chown -R mysql.mysql /data/mysql

初始化数据库

#方案 一 不使用管理员临时密码
--user 指定用户
--basedir 软件目录
--datadir 数据目录
--initialize-insecure 不适用初始密码
mysqld --initialize-insecure  --user=mysql --basedir=/data/app/mysql --datadir=/data/mysql
#方案二
初始化数据,初始化管理员的临时密码
mysqld --initialize  --user=mysql --basedir=/app/mysql --datadir=/data/mysql

初始化成功没有error

image.png

新特性重要说明:
5.7开始,MySQL加入了全新的 密码的安全机制:
1.初始化完成后,会生成临时密码(显示到屏幕上,并且会往日志中记一份)
2.密码复杂度:长度:超过12位? 复杂度:字符混乱组合
3.密码过期时间180天
注释:5.6初始化的区别

/application/mysql/scripts/mysql_install_db  --user=mysql --datadir=/application/mysql/data --basedir=/application/mysql

书写默认配置文件

vim /etc/my.cnf
[mysqld]
user=mysql #用户
basedir=/data/app/mysql #指定/data/app/mysql/support-files软件目录
datadir=/data/mysql #指定数据目录
server_id=6 
port=3306  #端口
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock 
prompt=mysql [\\d]> #客户端显示

启动

cd /data/app/mysql/support-files
[root@VM-4-7-centos support-files]# ./mysql.server start
Starting MySQL.Logging to '/data/mysql/VM-4-7-centos.err'.
 SUCCESS! 
image.png

使用systemd管理mysql

vim /etc/systemd/system/mysqld.service 
[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/app/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000

注意:将原来模式启动mysqld先关闭,然后再用systemd管理。

systemctl  start/stop/restart/status   mysqld

简单管理

[root@db01 ~]# mysqladmin -uroot -p password 123
Enter password: 
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.

5.6版本:
select user,password,host from mysql.user;
5.7 中用户基本信息
select user,authentication_string,host from mysql.user;
desc  mysql.user;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容