MySQL下载
本示例以mysql-5.7.37为例
下载地址:
https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz
安装MySQL5.7
- 解压
#切换到下载目录
cd /usr/local
#解压
tar -xvf mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz
#重命名
mv mysql-5.7.37-linux-glibc2.12-x86_64 mysql-5.7.37
#切换目录
cd /mysql-5.7.37
#创建conf目录
mkdir conf
- 编辑my.cnf文件
#进入conf目录
cd conf
#编辑my.cnf文件
vim my.cnf
[client]
port=3306
[mysql]
default-character-set=utf8
[mysqld]
# MySQL服务器将监听的TCP/IP端口
port=3306
# 安装目录的路径。 通常相对于此解析所有路径。
basedir=/usr/local/mysql-5.7.37
# 数据库根目录的路径
datadir=/usr/local/mysql-5.7.37/data
# 创建新模式或表且未定义任何字符集时将使用的默认字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# MySQL服务器允许的最大并发会话数。
# 这些连接中的一个将保留给具有超级权限的用户,以允许管理员登录,即使已达到连接限制。
max_connections=500
# soket文件,本地连接时使用
socket=/usr/local/mysql-5.7.37/mysql.sock
# 建议禁用符号链接以防止各种安全风险
symbolic-links=0
# 错误日志
log-error=/usr/local/mysql-5.7.37/logs/mysql_log.log
# pid文件
pid-file=/usr/local/mysql-5.7.37/mysqld.pid
# 表名不区分大小写
lower_case_table_names=1
# 设置sql_mode
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
创建用户
- 建用户
#添加mysql用户名
adduser mysql
#给mysql账户设置密码
passwd mysql
- 建工作组
groupadd mysql
- 新建用户同时增加工作组
useradd -g mysql mysql
注::-g 所属组 -d 目录 -s 所用的SHELL
- 授权
chown -R mysql.mysql /usr/local/mysql-5.7.37
初始化
#切换目录
cd /usr/local/mysql-5.7.37/bin
#初始化配置
./mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql-5.7.37 --datadir=/usr/local/mysql-5.7.37/data
在初始化过程中缺少libaio
#yum install libaio 默认32位,安装不成功
#安装命令
yum install libaio-devel.x86_64 -y
成功后输出
root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option
设置开机启动
编辑服务文件
vim /usr/lib/systemd/system/mysql.service
[Unit]
Description=MySQL Server 5.7
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=/usr/local/mysql-5.7.37/bin/mysqld --defaults-file=/usr/local/mysql-5.7.37/conf/my.cnf
LimitNOFILE = max_open_files
加入开机自启动
systemctl disable mysql.service
服务的启动/停止/刷新配置文件/查看状态
#启动mysql服务
systemctl start mysql.service
#停止服务
systemctl stop mysql.service
#重新启动服务
systemctl restart mysql.service
#查看所有已启动的服务
systemctl list-units --type=service
#查看服务当前状态
systemctl status mysql.service
#设置开机自启动
systemctl enable mysql.service
# 停止开机自启动
systemctl disable mysql.service
启动连接
1.启动
#启动mysql服务
systemctl start mysql.service
2.连接mysql服务
cd /usr/local/mysql-5.7.37/bin
./mysql -uroot -h 127.0.0.1 -p
3.设置密码
update user set authentication_string=PASSWORD("diefoqefdro123456") where user='root';
#刷新
flush privileges;
4.设置允许远程登录
update user set host='%' where user='root';
#刷新
flush privileges;
作者简介
陈睿|mikechen,10年+大厂架构经验,就职于阿里巴巴、淘宝、百度等一线互联网大厂。
关注作者「mikechen」公众号,获取更多技术干货!
后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》,后台回复【面试】即可获取《史上最全阿里Java面试题总结》