1 上传文件,创建文件夹
usr 是非系统程序目录,/usr/local是常见的系统级软件安装目录, 所以在usr目录中创建一个文件夹 mysql
上传gz文件到 /usr/mysql
mkdir /usr/mysql cd /usr/mysql #创建文件夹
tar -zxvf mysql-8.0.24-el7-x86_64.tar.gz #解压
mv /usr/mysql/mysql-8.0.24-el7-x86_64 /usr/mysql/mysql8 #文件夹改名
解压成功
2 安装mysql环境
mysql依赖
yum search libaio # search for info yum
install libaio # install library
新建mysql的data目录和logs目录:
cd /usr/mysql/mysql8 mkdir data #新建存储数据的目录
mkdir logs #新建存放日志的目录
touch ./logs/mysqld.log #新建存放日志的文件
chown -R mysql:mysql /usr/mysql/mysql8/data #修改文件夹权限
chmod -R 755 /usr/mysql/mysql8/data
chown -R mysql:mysql /usr/mysql/mysql8/logs
chmod -R 755 /usr/mysql/mysql8/logs
初始化数据库(注意目录)
./bin/mysqld --user=root --basedir=/usr/mysql/mysql8 --datadir=/usr/mysql/mysql8/data --initialize
修改my.cnf配置文件, 通过mysql官网可以知道,从版本5.7.18开始,mysql免安装版二进制包中就不包含该文件了,即不需要my.cnf文件也可以正常运行;my.cnf文件中配置的选项会在命令行启动mysql的时候作为参数进行启动,为了后面搭建mysql主从环境方便,下面可以添加了一个简单的my.cnf文件作为实例(如果只是单纯的搭建一个mysql实例,可以直接忽略此步骤),使用vim /etc/my.cnf命令,如果在该目录上不存在则会新建,注意,创建的mysql配置文件一定要命名为my.cnf,不要命名为my.conf之类的,要不然在上面的配置,mysql识别不了。(mysql默认会去/etc/目录下查找my.cnf文件)。
vim /etc/my.cnf
[mysqld]
character_set_server=utf8mb4
init_connect='SET NAMES utf8mb4'
basedir=/usr/mysql/mysql8 #解压路径
datadir=/usr/mysql/mysql8/data #data目录
socket=/usr/mysql/mysql8/mysql.sock
lower_case_table_names = 1 #设置忽略大小写(简单来说就是sql语句是否严格),默认库名表名保存为小写, 不区分大小写
bind-address = 0.0.0.0 # 开启ip绑定
[mysqld_safe]
#日志目录和日志文件用上面提前建好的,方便查看mysql运行日志,千万不要搞个不存在的
log-error=/usr/mysql/mysql8/logs/mysqld.log
pid-file=/usr/mysql/mysql8/data/mysqld.pid #指定客户端连接mysql时的socket通信文件路径
[client]
socket=/usr/mysql/mysql8/mysql.sock #跟上面定义的一致就好
default-character-set=utf8mb4
将mysql添加至开机启动
//创建配置以及修改
cp ./support-files/mysql.server
/etc/init.d/mysqld
//修改mysqld,使用vim /etc/init.d/mysqld 命令 修改以下代码部分,basedir和datadir文件已经有,只需在=号后面赋值即可
vim /etc/init.d/mysqld
//vim搜索 /内容 N下一个 回车
basedir=/usr/mysql/mysql8
datadir=/usr/mysql/mysql8/data
//设置开机启动:
chkconfig --add mysqld
配置环境变量
vim /etc/profile
export PATH=$PATH:/usr/mysql/mysql8/bin
source /etc/profile
启动
systemctl start mysqld
//重启
systemctl restart mysqld
3 mysql修改密码
初始化密码
查看初始密码
grep "password" /var/log/mysqld.log
3.1 密码约束
set global validate_password.policy=0;//最低约束等级
set global validate_password.length=1;//长度大于1即可
validate_password.check_user_name ON
validate_password.dictionary_file
validate_password.length
validate_password.mixed_case_count
validate_password.number_count
validate_password.policy
validate_password.special_char_count
3.2 密码策略
3.2.1 默认caching_sha2_password 改成mysql_native_password (8.0以前)
//先把密码改成mysql_native_password方式
alter user root@'localhost' identified with mysql_native_password by 'bai123.com'; //修改文件 默认加密方式
vim /etc/my.cnf
[mysqld]
default_authentication_plugin=mysql_native_password //配置完在修改密码
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘root’; //可以省去了with mysql_native_password,
4 修改远程
use mysql;
select user,
host from user;
update user set host = '%' where user = 'root';
flush privileges;
5 跳过密码
[mysqld] skip-grant-tables