一、下载官方镜像
https://downloads.mysql.com/archives/community/
二、下载完成后用xftp工具上传到服务器/usr/local目录下
三、解压下载的文件
tar -xvf mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz
1.然后把文件夹名称修改一下
mv /usr/local/mysql-8.0.26-linux-glibc2.12-x86_64 /usr/local/mysql
2.进入mysql安装目录创建
cd /usr/local/mysql
#data目录是存放mysql数据的目录,与my.cnf文件要对应一致
mkdir data
#log目录是存放mysql日志的目录,与my.cnf文件要对应一致
mkdir log
cd /usr/local/mysql/log
#创建error.log文件存放日志
touch error.log
3.修改mysql文件夹权限
chmod 755 /usr/local/mysql
四、创建MySQL的安装初始化配置文件my.cnf 把下面配置粘贴进去
vi /etc/my.cnf
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=10000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
socket=/usr/local/mysql/mysql.sock
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
[mysqld_safe]
log-error=/usr/local/mysql/log/error.log
pid-file=/usr/local/mysql/mysql.pid
五、创建mysql用户组,mysql用户
groupadd mysql
useradd -g mysql mysql
修改权限
chown -R mysql:mysql /usr/local/mysql/
六、初始化,启动mysql
1.进入mysql下bin目录
cd /usr/local/mysql/bin
2.执行初始化命令
./mysqld --initialize
----------记住这个随机密码,等会儿登录要用
3.将mysql添加到系统服务里
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
4.修改权限
chmod 755 /etc/init.d/mysqld
5.现在可以起动mysql
#起动mysql服务
service mysql start
#停止mysql服务
service mysql stop
#重启mysql服务
service mysql restart
6.创建软连接
ln -s /usr/local/mysql/bin/mysql /usr/bin
7.然后可以在任何目录下输入以下命令,进行登录mysql
mysql -uroot -p
--------常见mysql问题
①密码忘记解决方法
1.编辑配置文件
vi /etc/my.cnf
2.添加下面代码跳过验证直接进入mysql
skip-grant-tables
3.然后重启mysql服务
service mysql restart
4.登录mysql,不用输入密码,直接按Enter进取
mysql -uroot -p
5.刷新权限
flush privileges;
6.修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
7.修改完成后,把配置文件里的skip-grant-tables给删掉,然后重启mysql服务,就可以了
②解决常见安装过程中出现的问题
1.这个报错是因为找不到日志文件,先看一下配置文件有没有问题
vi /etc/my.cnf
2.配置文件没问题,然后去log目录下查看是否有error.log文件
3.没有文件,那我们就创建一个
touch /usr/local/mysql/log/error.log
4.再执行,成功
1.这个问题首先检查配置文件my.cnf,下面这几项最基本的要核对清楚,特别是目录
[mysqld]
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
socket=/usr/local/mysql/mysql.sock
[mysqld_safe]
log-error=/usr/local/mysql/log/error.log
pid-file=/usr/local/mysql/mysql.pid
[client]
port=3306
socket=/usr/local/mysql/mysql.sock
2.如果上面配置文件都正确,那么就是权限没给,执行以下命令,注意自己的mysql安装目录
chown -R mysql:mysql /usr/local/mysql
③登录时提示错误:ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’
添加软连接
ln -s /usr/local/mysql/mysql.sock /tmp
④启动mysql时提示错误:Starting MySQL. ERROR! The server quit without updating PID file (/usr/local/mysql/data/mysqld.pid).
1.先检查my.cnf文件,看好路径设置
2.权限问题,文件夹的权限和用户组的权限
chown 755 /usr/local/mysql
chown 755 /etc/my.cnf
chown -R mysql:mysql /usr/local/mysql
3.检查下看是否有mysql进程存在
ps -ef | grep mysql