1.官网https://downloads.mysql.com/下载对应系统的版本
2.检查是否已经安装过mysql
[root@localhost svr]# rpm -qa | grep mysql
[root@localhost svr]#
从执行结果看系统并没有安装MySQL,如果有那么需要执行删除命令。
rpm -e --nodeps mysql-libsXXXXXX(查询出的结果)
3.查询MySQL对应的文件夹
find / -name mysql
删除旧文件(没有旧文件略过)
rm -rf 上边查找到的路径,多个路径用空格隔开
#或者下边一条命令即可
find / -name mysql|xargs rm -r
4.验证是否删除成功
find / -name mysql
5.添加mysql用户组和mysql用户(注:要先解压缩tar包)
先检查是否有mysql用户组和mysql用户
[root@localhost svr]# cat /etc/passwd|grep mysql(用户名)
mysql:x:990:985:MySQL server:/var/lib/mysql:/bin/bash
[root@localhost svr]# cat /etc/group|grep mysql(组名)
mysql:x:985:
若无,则添加;
groupadd mysql
useradd -r -g mysql mysql
若有,则跳过
6、进入mysql目录更改权限
cd mysql/
chown -R mysql:mysql ./ #组名:用户名
chmod -R 755 ./
7.在MySQL根目录下新建一个文件夹data,用于存放数据
mkdir data
8.安装并初始化mysql,务必记住初始化输出日志末尾数据库管理员临时密码
cd /apps/svr/mysql-8.0.22/bin #1进入bin目录
./mysqld --initialize --user=mysql --datadir=/apps/svr/mysql-8.0.22/data --basedir=/apps/svr/mysql-8.0.22 --lower-case-table-names=1 #2执行初始化
注意:mysql8.0初始化时必须加上这个参数–lower-case-table-names=1否则后面再通过修改my.cnf文件添加该参数是无效的,并且启动会报错.
9.安装顺利则产生临时密码
[Server] A temporary password is generated for root@localhost: %Na)P.&xf4a3
10.编辑 vi /etc/my.cnf配置文件my.cnf,添加配置如下
[mysqld]
datadir=/apps/svr/mysql-8.0.22/data
basedir =/apps/svr/mysql-8.0.22
port=3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=600
innodb_file_per_table=1
lower_case_table_names=1
character_set_server=utf8mb4
- 测试启动mysql服务器
/apps/svr/mysql-8.0.22/support-files/mysql.server start
12.启动报错(不报错则略过)
查看是否存在mysql和mysqld的服务,如果存在,则结束进程,再重新执行启动命令
#查询服务
ps -ef|grep mysql
#结束进程
kill -9 PID
#测试启动服务
/apps/svr/mysql-8.0.22/support-files/mysql.server start
13.添加软连接,并重启mysql服务
[root@localhost /]# ln -s /apps/svr/mysql-8.0.22/support-files/mysql.server /etc/init.d/mysql
[root@localhost /]# ln -s /apps/svr/mysql-8.0.22/bin/mysql /usr/bin/mysql
[root@localhost /]# service mysql restart
14.登录mysql,修改密码(密码为步骤9生成的临时密码)
[root@localhost /]# mysql -u root -p
Enter password: //生成的临时密码
mysql>SET PASSWORD FOR root@localhost = 'root';//修改密码
- 开放远程连接
mysql>use mysql;
msyql>update user set host='%' where user='root';
msyql>alter user 'root'@'%' identified with mysql_native_password by 'root';
mysql>flush privileges;
16.关闭防火墙或开放端口(两者选其一)
以下二选其一:
1. 关闭防火墙
#停止firewall
systemctl stop firewalld.service
#禁止firewall开机启动
systemctl disable firewalld.service
2. 开放端口:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
自此可以用Navicat等工具连接了.
17、设置开机自动启动
1、将服务文件拷贝到init.d下,并重命名为mysqld
[root@localhost /]# cp /apps/svr/mysql-8.0.22/support-files/mysql.server /etc/init.d/mysqld
2、赋予可执行权限
[root@localhost /]# chmod +x /etc/init.d/mysqld
3、添加服务
[root@localhost /]# chkconfig --add mysqld
4、显示服务列表
[root@localhost /]# chkconfig --list
18.常用命令
service mysqld restart #重启mysql
service mysqld status #查看启动状态