下载mysql
下载链接: https://dev.mysql.com/downloads/mysql/
1、在下载页面点击红框里面的这个选项
2、将下载好的文件通过ftp放在自己想放的文件夹里,这里我放在自建的文件夹里
3、解压压缩包
命令:tar -xvf mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz
4、对解压的文件夹重命名
命令:mv mysql-8.0.26-linux-glibc2.12-x86_64 mysql8
5、进入mysql8目录,创建日志文件夹
6、配置环境变量
vim /etc/profile
MYSQL_HOME=/MyService/mysql8/bin
PATH=$PATH:$MYSQL_HOME
export MYSQL_HOME PATH
7、配置完成后重载:
source /etc/profile
8、创建MySQL用户及用户组
groupadd mysql
useradd -g mysql mysql
9、进入到mysql8所在目录,关联myql用户到mysql用户组中
chown -R mysql:mysql mysql8
chown -R mysql:mysql mysql8/log
chown -R mysql mysql8
chown -R mysql mysql8/log
10、更改mysql安装文件夹mysql的权限
chmod -R 755 mysql8
11、初始化mysql命令
mysqld --user=mysql --basedir=/MyService/mysql8 --datadir=/MyService/mysql8/log --initialize
红色框内的是mysql数据库登录的临时密码(q6JOEhj(sqtn),保存备用,每个人安装生成的临时密码不一样。
12、修改mysql配置文件
vim /MyService/mysql8/support-files/mysql.server
修改如下图所示
之后进行该操作
cp /MyService/mysql8/support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
13、将mysql服务加到系统服务中,并设置开机自启动
chkconfig --add mysqld
chkconfig mysqld on
14、修改my.cnf文件,由于mysql8没有该文件,所以自己创建
[client]
port=3306
socket=/tmp/mysql.sock
[mysqld]
basedir=/MyService/mysql8
datadir=/MyService/mysql8/log
socket=/tmp/mysql.sock
user=mysql
port=3306
character_set_server=utf8
# symbolic-links=0
# bind-address=0.0.0.0
[mysqld_safe]
log-error=/MyService/mysql8/log/error.log
pid-file=/MyService/mysql8/log/mysqld.pid
tmpdir=/tmp
15、授权文件my.cnf
chown mysql:mysql my.cnf
chown mysql my.cnf
chmod 755 my.cnf
16、启动mysql服务,成功
sh /opt/module/mysql8/support-files/mysql.server start
注:
查看服务:service mysqld status
停止服务:service mysqld stop
启动服务:service mysqld start
17、此时登录mysql会报错
解决办法:yum install libncurses*
18、登录mysql(注意:这里的密码是初始化生成的临时密码)
mysql -uroot -p
19、修改初始密码并刷新
alter user ‘root’@‘localhost’ identified by ‘root’;
flush privileges;
至此mysql配置完毕
额外操作(连接主机):
防火墙关闭:
禁用,禁止开机启动: systemctl disable firewalld
停止运行: systemctl stop firewalld
修改mysql库user表的host值为"%":
use mysql;
update user set host = ‘%’ where user = ‘root’;
flush privileges;
一般到这儿已经可以连接成功,若还有问题则执行这几句
修改加密规则
alter user ‘root’@’%’ identified by ‘password’ password expire never;
更新用户密码
alter user ‘root’@’%’ identified with mysql_native_password by ‘password’;
刷新权限
flush privileges;
重置密码 alter user ‘root’@’%’ identified by ‘root’;