一、安装包和环境准备
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# 移动并重命名为mysqlmv 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=INNODBmax_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# 启动mysqlservice 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 --permanentfirewall-cmd --reload# 查看全部开发端口firewall-cmd --zone=public --list-ports
问题总结:
一定要确定安装目录 ,通常安装在 /usr/local/mysql下,这样可以避免很多乱七八糟的问题。
/etc/my.cnf 配置文件又日志文件,和主线程信息文件,一定要创建,并且授权给mysql,不然启动会报错
/var/lib/mysql/ 也配修改权限,将权限给mysql,不然服务启动也会报错 chown -R mysql:mysql /var/lib/mysql/
忽略大小写配置,8.0版本前配置在my.cnf中,可以随时改,但是到了8.0版本,不支持在my.cnf中配置,需要在系统初始化时配置,如果在my.cnf中配置了会导致服务起不来。
来源地址:https://blog.csdn.net/yanggb1/article/details/128618593