Linux系统Centos7安装mysql8教程
-
删除系统自带的mariadb
rpm -qa | grep mariadb 查看系统中是否安装了mariadb rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64 卸载
-
下载mysql8的安装包
https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.26-el7-x86_64.tar.gz
-
在/usr/local创建mysql文件夹,并将下载的安装包放在里面
cd /usr/local mkdir mysql
-
解压安装包
cd /usr/local/mysql tar -zxvf mysql-8.0/mysql-8.0.26-el7-x86_64.tar.gz
-
修改安装包名称并创建一个数据文件夹
mv mysql-8.0.23-el7-x86_64 mysql8 mkdir mysql8/data
-
增加mysql用户和用户组并赋予相应的权限
groupadd mysql useradd -g mysql mysql passwd mysql 回车输入密码 chown -R mysql:mysql /opt/app/mysql/
-
安装
mysql8/bin/mysqld --user=mysql --basedir=/usr/local/mysql/mysql8/ --datadir=/usr/local/mysql/mysql8/data/ --initialize
注意红色圈起来的部分这个是临时密码 -
将mysql服务将入到系统中
cp -a mysql8/support-files/mysql.server /etc/init.d/mysql chmod +x /etc/init.d/mysql chkconfig --add mysql chkconfig --list mysql
-
建立软连接
ln -s /usr/local/mysql/mysql8/bin/mysql /usr/bin
-
启动msyql服务
service mysql start
注意:出现这个错误 是由于安装路径不是默认的路径/usr/local
解决方式vim /etc/init.d/mysql 指定基本路径和数据包路径就可以了 basedir=/opt/app/mysql/mysql8/ 你自己的安装路径到bin的上一层 datadir=/opt/app/mysql/mysql8/data/ 数据路径
-
登录mysql
mysql -uroot -p临时密码 如果登录不进去 vim /etc/my.cnf 在[mysqld]下面增加 修改完密码后删除 skip-grant-tables 重启服务 service mysql restart mysql -uroot -p flush privileges; 先刷新权限,否者修改密码时会报错
-
修改密码
alter user 'root'@'localhost' identified with mysql_native_password by '新密码';
-
开启远程链接权限
建议新建用户并且赋予远程链接权限 create user 'gz'@'%' identified by 'gz'; 修改密码解密规则 alter user 'gz'@'%' identified with mysql_native_password by 'gz'; grant all privileges on *.* to 'gz'@'%' with grant option; % 表示通配所有 host,可以访问远程 (包括本地) flush privileges; 刷新权限
-
使用systemctl控制mysql的启动,并开启开机自启动
创建启动文件 mysql.service vim /usr/lib/systemd/system/mysql.service 复制内容到mysql.service 中 [Unit] Description=MySQL Server After=network.target After=syslog.target [Service] User=mysql Group=mysql Type=forking PermissionsStartOnly=true ExecStart=/etc/init.d/mysql start ExecStop=/etc/init.d/mysql stop ExecReload=/etc/init.d/mysql restart ExecStatus=/etc/init.d/mysql status LimitNOFILE = 5000 [Install] WantedBy=multi-user.target systemctl daemon-reload 刷新系统配置文件 systemctl enable mysql 设置开机自启动mysql systemctl restart mysql 重启mysql systemctl status mysql 查看mysql状态 systemctl stop mysql 关闭mysql systemctl start mysql 启动mysql