1.检查是否已经安装过mysql :
rpm -qa | grep mysql
如果环境中有遗留mysql则执行删除命令:`rpm -e --nodeps mysql-xxxxxxxxx`
2.查询遗留的mysql设置或命令,执行两条命令
- whereis mysql
- find / -name mysql
如通过上述两条命令发现有遗留,则执行清除命令,将所有查到的mysql都删除 :
rm -rf xxx xxx
3、检查mysql用户组和用户是否存在,如果没有,则创建,有的话可以不用添加.
查看是否存在mysql用户的命令:
- cat /etc/group | grep mysql
- cat /etc/passwd |grep mysql
执行命令出现如下内容说明用户组和用户已存在:
就不需要执行添加mysql用户命令.

增加 mysql 用户的命令:
- groupadd mysql
- useradd -r -g mysql mysql
1.从官网下载用于Linux的Mysql安装包.两种方法
第一:如果你的linux 系统有外网,则直接通过命令下载到linux系统上:
wget https://dev.mysql.com/get/Downloads/MySQL-8.0.20/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
第二:通过浏览器打开网页,按照图片的执行,点击"DownLoad"
官网地址:https://downloads.mysql.com/archives/community/

3、开始解压、安装
- #mysql数据存储目录
- mkdir data
- #mysql日志存放目录
- mkdir log
chown -R mysql:mysql ./ - [mysql]
- #mysql客户端默认字符集
- default-character-set=utf8
-
- [mysqld]
- #mysql忽略大小写
- lower-case-table-names=1
- #设置3306端口
- port = 3306
- socket=/var/lib/mysql/mysql.sock
-
- #设置mysql的安装目录
- basedir=/usr/local/mysql
-
- #设置mysql数据库的数据的存放目录
- datadir=/usr/local/mysql/data
-
- #允许最大连接数
- max_connections=200
-
- #最大等待时间
- wait_timeout=3153600
-
- #服务端使用的字符集
- character-set-server=utf8
-
- #创建新表时将使用的默认存储引擎
- default-storage-engine = InnoDB
-
- #日志
-
- #允许做大数据包
- max_allowed_packet=16M
-
- [client]
- port=3306
- socket=/var/lib/mysql/mysql.sock
在cd /usr/local/mysql 目录下执行命令初始化mysql
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
如果初始化失败,报错信息如下.
./bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory 出现上面的错误信息是缺少numactl,执行下面命令可以解决
yum -y install numactl 再次执行初始化mysql命令
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
初始化mysql密码如上图,记住它!!!
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld chmod +x /etc/rc.d/init.d/mysqld chkconfig --add mysqld chkconfig --list mysqld 成功出现如下效果
service mysqld start 
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码'; - firewall-cmd --zone=public --add-port=3306/tcp --permanent;
- firewall-cmd --reload;
- CREATE USER 'root'@'%' IDENTIFIED BY '密码';
- GRANT ALL ON *.* TO 'root'@'%';
- ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
- FLUSH PRIVILEGES;
