一、下载mysql
1.下载地址:https://dev.mysql.com/downloads/mysql/
2.下载步骤:选择commumity–>MySql Commumity server
3.选择版本:选择commumity–>MySql Commumity server
4.下载tar压缩文件:mysql-8.0.13-1.el6.x86_64.rpm-bundle.tar
二、上传至服务器并解压
1.通过scp命令上传至服务器:此次测试就上传至/home/user/soft/mysql文件夹
2.解压下载的文件 :tar -xvf mysql-8.0.13-1.el6.x86_64.rpm-bundle.tar
3.解压后文件列表如下
三、删除原有安装信息
1.查看是否安装有mysql:rpm -qa|grep mysql
2.删除安装有的mysql:rpm -e mysql-community-devel-* --nodeps
四、按以下步骤安装mysql
rpm -ivh mysql-community-libs-8.0.13-1.el6.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-devel-8.0.13-1.el6.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-client-8.0.13-1.el6.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-server-8.0.13-1.el6.x86_64.rpm --noeps --force
注意:上述安装完后,启动服务器:service mysqld start
启动时一般会报错,因为此时操作账户非mysql账户,需创建mysql账户,同时增加mysql组,并将启动,使用中需要的mysql文件夹均修改为mysql权限
五、增加mysql用户及组
1.增加用户:useradd mysql
2.创建密码:passwd mysql
3.默认创建用户时会创建一个同名用户组
4.给user用户增加sudoers权限,vim /etc/sudoers
六、增加mysql相关权限
1.进入/var/lib,为文件夹mysql-files,mysql-keyring,mysql文件夹增加权限
2.sudo chown mysql:mysql mysql-files,其它文件夹类似
3.进入/var/run修改mysqld权限
4.进入/var/log 修改mysqld.log权限
由于安装过程中根据错误去查看那些文件需要增加日志的,暂时只记住以上文件需要增加mysql权限,实际情况各位按报错信息进行修改.
七、解决安装过程中出现的问题
问题一
/usr/sbin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
解决:需安装numactl:yum -y install numactl
问题二:初始化 MySQL 数据库: [失败]
解决办法:只有上述提示,可查看日志文件判别:cat /var/log/mysqld.log
当上述问题全部解决完成,则可进行mysql数据库启动:service mysqld start
八、数据库相关设置
1.修改root用户密码
1)查看初始默认密码:grep “password” /var/log/mysqld.log
2)使有初始默认密码登录mysql
3)使用命令:alter user ‘root’@’localhost’ identified by ‘Mysql_123mysql’
2.修改密码策略(想将密码修改简单点,需将密码策略进行修改)
注意:想修改密码策略,必须先修改一次密码后才能进行密码策略修改
1)show variables like ‘validate_password%’;
2) 如果不能显示如上界面,则需安装插件:INSTALL PLUGIN validate_password SONAME 'validate_password.so';<
/font>
3)各参数含义解释
1.validate_password.check_user_name:检查用户名
validate_password.dictionary_file:字典文件
validate_password.length:修改密码最小长度
validate_password.mixed_case_count:密码中包含大小写最小个数
validate_password.number_count:密码中包含数字最小个数
validate_password.policy:验证策略(0:low;1:medium;2:strong)
validate_password.special_char_count:特殊字符最小个数
通过上述修改后,就可以将密码设置为简单点的密码了,如果需要特殊密码处理,则可根据上述参数进行密码规则设置
4)也可通过设置my.cnf禁卡密码策略:validate-password=OFF
九、终端数据库基本操作
1.显示数据库:show databases;
2.创建数据库:create database test;
3.使用test数据库:use test;
4.创建数据表:create table t_user_test(name varchar(20), age int);
5.显示数据表:show tables;
6.创建用户:create user 'tom'@'localhost' identified by 'tom';
7.修改用户密码:alter user ‘tom’@’localhost’ identify by ‘tom123’
8.修改用户密码:alter user ‘tom’@’%’ identify by ‘tom123’
9.授权某用户权限:grant 权限on 数据库名.表名 to ‘用户名’@’host’
注意:如果授权所有权限则用all,如果授权单个,则写单个即可
8.1)grant insert,delete,update,select on test.user to ‘tom’@’localhost’;
8.2)grant all on test.user to 'tom'@'localhost';
8.3)grant all on test.* to 'tom'@'localhost';
8.4)flush privileges
9.撤销用户权限:revoke all on test.* from ‘tom’@’localhost’
10.查询所有用户:select user,host from mysql.user;
注意:后边host表示允许那些ip访问,%表示所有主机可访问,localhost只允许当前主机访问
11.删除指定用户:drop user ‘tom’@’localhost’;
给所有用户以权限
ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘qq_123456_admin’;