Linux mysql 8.0 安装

1. 下载 https://dev.mysql.com/downloads/mysql/

选择

 2.上传至服务器

3.配置hosts文件(通过别名访问)

  服务IP地址 别名 别名   比如:192.168.1.52 alq alq

4.卸载主机自带的mysql

rpm -qa|grep mysql
rpm -e --nodeps *mysql*

rpm -qa|grep mariadb
rpm -e --nodeps mariadb*

5.解压并安装

tar -xvf mysql-8.0.28-linux-glibc2.12-x86_64.tar
rm -f mysql-8.0.28-linux-glibc2.12-x86_64.tar
xz -d mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz
tar -xvf mysql-8.0.28-linux-glibc2.12-x86_64.tar
mv mysql-8.0.28-linux-glibc2.12-x86_64 /usr/local/
mv /usr/local/mysql-8.0.28-linux-glibc2.12-x86_64 /usr/local/mysql
mkdir /var/lib/mysql
mkdir /usr/local/mysql/log
mkdir /usr/local/mysql/data

### 授权
查看用户组mysql是否存在
id mysql
如果存在先卸载掉
userdel mysql 
groupdel mysql
添加用户组mysql
groupadd mysql
添加不可登陆的用户mysql
useradd -r -g mysql -s /bin/false mysql

授权 mysql组mysql用户
chown -R mysql:mysql /var/lib/mysql
chown -R mysql:mysql /usr/local/mysql/log
chown -R mysql:mysql /usr/local/mysql/data
 

6.配置环境变量

vi ~/.bash_profile
path追加 
PATH=$PATH:/usr/local/mysql/bin

使环境变量生效

source ~/.bash_profile

###检测安装目录可以查到就说明生效了
which mysql

7.创建参数文件(因为mysql8 没有自动生成my.cnf) 

vi /etc/my.cnf
### 添加 其中alq字样 是服务器别名
[mysql]
default-character-set=utf8mb4
socket=/var/lib/mysql/mysql.sock

[mysqld]
port=3306
socket=/var/lib/mysql/mysql.sock
basedir=/usr/local/mysql
character-set-server=utf8mb4
default-storage-engine=INNODB
innodb_buffer_pool_size = 200M
max_allowed_packet=16M
explicit_defaults_for_timestamp=1
log-output=FILE
general_log =0
general_log_file=/usr/local/mysql/log/alq-general.err
slow_query_log = ON
slow_query_log_file=/usr/local/mysql/log/alq-query.err
long_query_time=10
log-error=/usr/local/mysql/log/alq-error.err
default-authentication-plugin=mysql_native_password

8.mysql数据库初始化

/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

然后在 /usr/local/mysql/log 下 alq-error.err中查看是否初始化成功

 有个重要信息是初始密码

这个一定要记录下来

9.配置启动和停止脚本

vi /usr/lib/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=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE=65536
LimitNPROC=65536

添加可执行权限

chmod u+x /usr/lib/systemd/system/mysqld.service

10.systemctl启动和停止方法

systemctl daemon-reload  # 装载
systemctl stop mysqld
systemctl start mysqld
systemctl enable mysqld
systemctl status mysqld

11.修改初始密码

mysql -uroot -p
Enter password: #步骤8的初始密码

mysql>use mysql;
# 会报初始密码过期

mysql>ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'
#修改root用户的密码为root

12.允许root远程登录

mysql>use mysql;
mysql>select user,host from user;
mysql>grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;

#root帐户和密码(root)

#或者创建用户
CREATE USER 'rainbowbaby'@'%' IDENTIFIED WITH mysql_native_password BY 'rnh3GEdLpRXtNjfZ';
grant all privileges on *.* to 'rainbowbaby'@'%';

远程访问测试
mysql -uroot -p -h192.168.1.52

 关闭防火墙

firewall-cmd --state
systemctl stop firewalld.service
systemctl disable firewalld.service

 

posted @ 2022-02-11 16:57  RuiB_WanAn  阅读(257)  评论(0编辑  收藏  举报