Linux下安装MySQL8.0.20操作步骤

1.首先检查当前服务器是否安装过MySQL数据库,rpm -qa | grep mysql
如果环境中有遗留的MySQL服务,则执行删除命令: 则执行删除命令:rpm -e --nodeps mysql-xxxxxxxxx      xxxxxxx指的文件服务
2.
查询遗留的mysql设置或命令,执行两条命令:
find / -name mysql
如通过上述两条命令发现有遗留,则执行清除命令,将所有查到的mysql都删除感觉 :rm -rf  xxx xxx  文件路径
3.查看是否存在mysql用户的命令:
cat /etc/group | grep mysql    若存在,不需要新增用户
4.增加 mysql 用户的命令:
groupadd mysql
useradd -r -g mysql mysql

5.下载数据库包   
第一:如果你的linux 系统有外网,则直接通过命令下载到linux系统上:wget   https://dev.mysql.com/get/Downloads/MySQL-8.0.20/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
或者直接通过当前的链接下载包。 外网下载后需要上传到服务器。
6.开始解压、安装

tar -xvf  mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
mv  mysql-8.0.20-linux-glibc2.12-x86_64   /usr/local/mysql

7、更改mysql目录下所有的目录及文件夹所属的用户组和用户,以及权限

mysql文件夹要配置为755的权限,如果不是则执行命令:
chmod -R 755 /usr/local/mysql
8、找一个目录来存储mysql的数据,如果数据量大,可以找个大的盘和目录,先在/data目录下
mkdir -p  /data/mysql
chmod 777 /data/mysql 

9、设置配置文件,编译/etc/my.cnf  , 内容如下:
[mysqld]
#datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
#bind-address=127.0.0.1
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql

log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid

character_set_server=utf8mb4
lower_case_table_names=1
[mysqld_safe]
#log-error=/var/log/mariadb/mariadb.log
#pid-file=/var/run/mariadb/mariadb.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

10、初始化mysql,一定要记住初始化输出日志末尾的密码(数据库管理员临时密码)

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

如果屏幕上没有打印则去日志文件中查看初始化完成后的临时密码:

cat /data/mysql/mysql.err   该日志会记录初始密码。

Linux下安装MySQL8.0.20操作步骤

 

11、启动数据库服务:
先将mysql.server放置到/etc/init.d/mysql中
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
启动服务:
service mysql start
ps -ef | grep mysql
 修改初始密码

首先登录mysql,密码是上述初始化时,日志最后一行生成的那个临时密码
./mysql -u root -p #bin目录下
./mysql -uroot -h 127.0.0.1 -p   进入时需要使用初始密码。

Linux下安装MySQL8.0.20操作步骤

12、修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'test123!';
FLUSH PRIVILEGES;
设置访问host改成通配符%,让所有的主机都能登陆
update user set user.Host='%' where user.User='root';
FLUSH PRIVILEGES;
赋权(8.0之后写法如下,有些博客写法还停留在5.7左右):
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'; 
FLUSH PRIVILEGES;
修改客户端访问加密方式:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'test123!'; 
FLUSH PRIVILEGES;
13、添加新用户
CREATE USER test IDENTIFIED BY 'test123!';

ALTER USER 'test'@'%' IDENTIFIED WITH mysql_native_password BY 'test123!';
FLUSH PRIVILEGES;

14、创建数据库
create database fzgh DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
给数据库赋权
grant all privileges on `fzgh`.* to 'test'@'%';

附:

a、若遇到端口访问不同,开辟指定端口防火墙或者关闭防火墙
要开放服务端口:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload 
b、不要在my.cnf文件里面配置bind_ipaddress=127.0.0.1
c、lower_case_table_names=1 是设置数据库支持大小写查询表

上一篇:linux-如何以“正确的方式”将低编号的端口声明为非根端口


下一篇:Mysql在任何地方为用户授予所有权限