一、安装包和环境准备

1.所需安装包

mysql-8.0.29-linux-glibc2.12-x86_64.tar.xz安装包上传至服务器

2.解压

# 将mysql安装到/usr/local/mysql下
tar -xvf  mysql-8.0.29-linux-glibc2.12-x86_64.tar.xz

# 移动并重命名为mysql
mv  mysql-8.0.29-linux-glibc2.12-x86_64 /usr/local/mysql

# 新建data目录
mkdir /usr/local/mysql/data

3、创建用户

# 创建目录 
mkdir data
# 执行命令 
groupadd mysql
# 创建用户组信息
useradd -g mysql mysql 
# 授权用户 
chown -R mysql:mysql /usr/local/mysql

二、安装步骤

1.初始化信息

执行命令 cd /usr/local/mysql到解压bin目录下

cd /usr/local/mysql/bin

 # 执行初始化命令 

./mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ --initialize

这里需要注意在 mysql 8.0 以后,如果要设置不区分大小写,需要在初始化时指定

--lower-case-table-names=1,如果在初始化之后修改my.cnf配置文件会出现报错

执行命令初始化

./mysqld --user=mysql --lower-case-table-names=1 --basedir=/usr/local/mysql --datadir=/usr/local/mysql-8.0/data/ --initialize

成功之后,获得到数据库临时密码

2.编辑文件,添加服务

修改my.cnf配置文件

执行命令 vim /etc/my.cnf

[mysql] 
# 设置mysql客户端默认字符集 
default-character-set=utf8 
socket=/var/lib/mysql/mysql.sock 
[mysqld] 
skip-name-resolve 
#设置3306端口 
port = 3306   
socket=/var/lib/mysql/mysql.sock 
# 设置mysql的安装目录 
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录 
datadir=/usr/local/mysql/data
# 允许最大连接数 
max_connections=1000
# 服务端使用的字符集默认为8比特编码的latin1字符集 
character-set-server=utf8 
# 创建新表时将使用的默认存储引擎 
default-storage-engine=INNODB
max_allowed_packet=16M
[mysqld_safe]
# 错误日志
log-error=/var/log/mariadb/mariadb.log
# 主线程信息
pid-file=/var/run/mariadb/mariadb.pid

 创建文件夹

mkdir /var/log/mariadb

创建日志文件

# 创建错误信息日志
touch /var/log/mariadb/mariadb.log

# 创建主线程信息日志
touch /var/log/mariadb/mariadb.pid

# 授权给mysql用户
chown -R mysql:mysql /var/log/mariadb/

将/usr/local/mysql授权给myslq用户

chown -R mysql:mysql /var/lib/mysql/

 添加服务及授权

添加mysqld服务到系统 

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

3、开启服务

  把msql的脚本文件拷到系统的启动目录下

# 把msql的脚本文件拷到系统的启动目录下
cp /usr/local/mysql/support-files/mysql.server c

#将mysql加到启动服务列表里
chkconfig --add mysql

# 开机自启
chkconfig mysql on

# 启动mysql
service mysql start

4、启动mysql服务

启动mysql服务 service mysql start
查看启动状态 service mysql status

启动成功后,用临时密码登录mysql ,临时密码在初始化时生成

mysql -uroot -p  # 需要添加path到prefile文件,不添加需要在bin目录下执行 ./mysql -uroot -p'pwd'

 修改root密码

#执行命令
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'pwd';
flush privileges; 

修改远程连接

# 选择数据库
use mysql;

#更新远程登录
update user set host='%' where user='root';
flush privileges;
exit;

5、开放防火墙端口

firewall-cmd --add-port=3306/tcp --permanent
firewall-cmd --reload
# 查看全部开发端口
firewall-cmd --zone=public --list-ports

问题总结:

1、一定要确定安装目录 ,通常安装在 /usr/local/mysql下,这样可以避免很多乱七八糟的问题。

2、/etc/my.cnf 配置文件又日志文件,和主线程信息文件,一定要创建,并且授权给mysql,不然启动会报错

3、/var/lib/mysql/ 也配修改权限,将权限给mysql,不然服务启动也会报错 chown -R mysql:mysql /var/lib/mysql/

4、忽略大小写配置,8.0版本前配置在my.cnf中,可以随时改,但是到了8.0版本,不支持在my.cnf中配置,需要在系统初始化时配置,如果在my.cnf中配置了会导致服务起不来。

Logo

更多推荐