Mysql官网

Linux-Mysql8.0.18下载

1. 查询出来已安装的mariadb

rpm -qa|grep mariadb

alt

2.卸载mariadb,文件名为上述命令查询出来的文件

rpm -e --nodeps 文件名

alt

3.将下载好的Mysql压缩包上传到服务器上

alt

4.解压上传好的文件

tar Jxvf mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz

alt

5.将解压好的文件重命名并剪切到要安装的目录下

mv mysql-8.0.18-linux-glibc2.12-x86_64 mysql
mv mysql /usr/local

alt

6.创建数据目录

mkdir /usr/local/mysql/data

7.创建并编辑my.cnf文件


vim /etc/my.cnf

  • 填入以下内容
[client]
port=3306
socket=/tmp/mysql.sock
[mysqld]
port=3306
user=mysql
socket=/tmp/mysql.sock
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
log-error=/usr/local/mysql/error.log
pid-file = /usr/local/mysql/mysql.pid
transaction_isolation = READ-COMMITTED
character-set-server = utf8
collation-server = utf8_general_ci
lower_case_table_names = 1
sql_mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO"

8.创建组

groupadd mysql

9.创建用户


useradd -g mysql mysql

10.修改目录权限

  • 将 /usr/local/mysql给予mysql用户

chown -R mysql:mysql /usr/local/mysql

11.将/usr/local/mysql权限设置为755

chmod -R 755 /usr/local/mysql

12.初始化mysql

cd /usr/local/mysql
./bin/mysqld --initialize --user=mysql

13.尝试启动mysql

cd /usr/local/mysql
./support-files/mysql.server start

alt

14.将mysql添加为服务

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

15.设置开机启动

cd /etc/init.d
chmod 755 /etc/init.d/mysql
chkconfig --add mysql
chkconfig --level 345 mysql on
service mysql restart

alt

16.配置环境变量

echo 'export MYSQL_HOME=/usr/local/mysql' >> /etc/profile
echo 'export PATH=.:$MYSQL_HOME/bin:$PATH' >> /etc/profile
source /etc/profile

17.使用默认密码登陆mysql

  • 查看默认密码
 cd /usr/local/mysql/
 head -4 error.log

alt

  • 登录
mysql -uroot -p

alt

18.在MySQL8中第一次登陆需要重新设置root密码

ALTER user 'root'@'localhost' IDENTIFIED BY 'root';

alt

19.创建允许远程访问的用户

CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password  BY 'root';
GRANT ALL ON *.* TO 'root'@'%';
FLUSH PRIVILEGES;

alt

20.开放访问端口或关闭防火墙

  • 开放3306端口
#查看已开放的端口(默认不开放任何端口)
firewall-cmd --list-ports

#开启3306端口(重启防火墙生效)
firewall-cmd --zone=public --add-port=3306/tcp --permanent

#重启防火墙
firewall-cmd --reload
  • 关闭防火墙
# 查看防火墙状态
systemctl status firewalld
 
#停止防火墙
systemctl stop firewalld
 
#永久关闭防火墙
systemctl disable firewalld