链接:https://pan.baidu.com/s/1epG9dx7METCbQuFbvGTIYA?pwd=jhhi
提取码:jhhi
一、将Xftp 7跟虚拟机链接步骤-----这个是当时安装oracle时做的教程
1.检查是否安装openssh-server(root用户下)这里输入密码是不会显示的(基本上不用管)
yum list installed | grep openssh-server
上图显示openssh-server即已经安装
若没有显示即手动安装
yum install openssh-server
2,找到/etc/ssh/目录下的sshd服务配置文件sshd_config,用vim编辑器打开,之后按i进入编辑状态
vim /etc/ssh/sshd_config
3.把文件中的监听号地址打开
上面框框里面的需要将#去掉
4.允许远程监控
上面框框里面的需要将#去掉
5.使用用户密码登录
上面框框里面的需要将#去掉
6.保存文件退出
先按Esc键在输入:wq!保存退出
7.开启sshd服务
service sshd start
8.为了免去每次开启 CentOS 时,都要手动开启 sshd 服务,可以将 sshd 服务添加至自启动列表中
systemctl enable sshd.service
9.查看是否开启了sshd 服务自启动
systemctl list-unit-files | grep sshd
二、准备所需安装包
将mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz安装包上传至服务器
通过Xftp7工具进行上传(/usr/local)
1.解压
将mysql安装到/usr/local/mysql下
tar -xvf mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz
移动并重命名为mysql
mv mysql-8.0.23-linux-glibc2.12-x86_64 /usr/local/mysql
新建data目录
mkdir /usr/local/mysql/data
2.创建用户(如果装虚拟机时有创建可以不建,需要进行授权)
# 创建目录
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/data/ --initialize
成功之后,获得到数据库临时密码
2.编辑文件,添加服务
2.1、修改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
2.2、创建文件夹
mkdir /var/log/mariadb
2.3、创建日志文件
# 创建错误信息日志
touch /var/log/mariadb/mariadb.log
# 创建主线程信息日志
touch /var/log/mariadb/mariadb.pid
2.4、# 授权给mysql用户
chown -R mysql:mysql /var/log/mariadb/
2.5、将/usr/local/mysql授权给myslq用户(这里执行报错的话可以看下下面的解决方案)
chown -R mysql:mysql /var/lib/mysql/
解决方案:(需要先建一个mysql文件夹)chown -R mysql:mysql /var/lib/mysql/命令报错解决方案
生成的存放的位置(推荐)
ln -s /var/lib/mysql/mysql.sock /var/lib/mysql/mysql.sock
2.6、添加mysqld服务到系统
cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
3、开启服务把msql的脚本文件拷到系统的启动目录下
3.1、# 把msql的脚本文件拷到系统的启动目录下
cp /usr/local/mysql/support-files/mysql.server c
3.2、#将mysql加到启动服务列表里
chkconfig --add mysql
3.3、# 开机自启
chkconfig mysql on
3.4、# 启动mysql
service mysql start
4、启动mysql服务
4.1、启动mysql服务 service mysql start
4.2、查看启动状态 service mysql status
4.3、# 添加path(路径)到profile文件(vi /etc/profile)----放的位置如下图
PATH=/usr/local/mysql/bin:$PATH
export PATH
时配置文件立即生效:source /etc/profile
4.4、启动mysql成功后,用临时密码登录mysql ,临时密码在初始化时生成
mysql -uroot -p
如果没有在profile中添加需要在bin目录下执行 ./mysql -uroot -p'pwd'
4.5、修改root密码
4.5.1、#执行命令
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'pwd';
—修改root用户密码
flush privileges;
—刷新权限
4.6、修改远程连接
4.6.1、# 选择数据库
use mysql;
4.7#更新远程登录
update user set host='%' where user='root';
----修改远程登录权限
flush privileges;
—更新权限
exit;
--退出
5、开放防火墙端口
firewall-cmd --add-port=3306/tcp --permanent
-----开放3306的端口
firewall-cmd –reload
------重启防火墙
查看全部开发端口
firewall-cmd --zone=public --list-ports
启动mysql报错:ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid)
根据mysql错误日志去网上找到答案(错误日志存放路径可以去my.cof里面去找)
MySQL8.0新增data dictionary的概念,数据初始化的时候在Linux下默认使用lower-case-table-names=0参数,数据库启动的时候读取my.cnf文件中的值。若二者值不一致则在MySQL的错误日志中记录报错信息。
解决方案:
在MySQL的my.cnf配置文件中[mysqld]项下添加以下内容。
lower_case_table_names = 1