Linux 安装 MySQL 二进制

二进制 安装 MySQL
Centos7.6 + MySQL5.7.32
下载地址:https://dev.mysql.com/downloads/mysql/

清理环境
rpm -qa |grep -i mariadb
rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
下载安装包
# 下载安装包
wget -c https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz

# 解压到指定目录
tar zxvf mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
mv /usr/local/mysql-5.7.32-linux-glibc2.12-x86_64/ /usr/local/mysql
创建用户组
# 创建用户和用户组,不允许登录
groupadd -r mysql && useradd -r -g mysql -s /sbin/nologin mysql

# 修改目录所属
chown -R mysql:mysql /usr/local/mysql
创建相关目录文件
# 创建日志文件,并赋予权限
touch /var/log/mysql.log  && chown -R mysql:mysql /var/log/mysql.log\
编辑配置文件
vi /etc/my.cnf
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
 
[mysql.server]
default-character-set=utf8mb4

[client]
# 设置客户端默认字符集
default-character-set=utf8mb4
 
[mysqld]
# 设置3306端口
port=3306

# 设置mysql的安装目录
basedir=/usr/local/mysql

# 设置 mysql数据库的数据的存放目录(MySQL8.0+ 不需要以下配置,系统自己生成即可,否则有可能报错)
datadir=/var/lib/mysql
pid-file=/var/lib/mysql/mysqld.pid
socket=/var/lib/mysql/mysql.sock

# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8mb4

# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

# 物理内存过小设置
innodb_buffer_pool_size=64M

# 日志
log-error=/var/log/mysql.log

symbolic-links=0
explicit_defaults_for_timestamp=true
#skip-grant-tables
初始化MySQL
# 初始化MySQL
/usr/local/mysql/bin/mysqld  --defaults-file=/etc/my.cnf --user=mysql --initialize

# 创建软连接
ln -s  /usr/local/mysql/bin/mysql  /usr/bin

ps -ef | grep mysql
设置开机自启
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
chkconfig --add mysqld && chkconfig mysqld on
vi /etc/systemd/system/mysql.service

[Unit]
Description=mysql-server
After=network.target

[Service]
Type=forking
PIDFile=/var/lib/mysql/mysqld.pid
ExecStart=/usr/local/mysql/support-files/mysql.server start
ExecReload=/usr/local/mysql/support-files/mysql.server restart
ExecStop=/usr/local/mysql/support-files/mysql.server stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target


# 重新加载启动项,设为开启启动,启动mysql
systemctl daemon-reload && systemctl enable mysql.service && systemctl start mysql.service

ps -ef | grep mysql
启动
# 查看初始密码
cat /var/log/mysql.log | grep password

# 登录并修改密码
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';

# 开启远程访问
grant all privileges on *.* to 'root'@'%' identified by 'password' with grant option;
flush privileges;
posted @ 2021-05-07 17:29  宁川  阅读(95)  评论(0)    收藏  举报