centos7.7安装mysql8.0.18

1 卸载MySQL的步骤

# 1.查看是否安装Mysql
rpm -qa | grep -i mysql
rpm -qa | grep -i MariaDB
# 2.查看MySQL服务是否启动,关闭
service mysql status
service mysql stop
# 3.卸载MySQL安装的组件
rpm -e xxxx --nodeps
或者如下查询和删除一气呵成,也行哦!
rpm -qa | grep -i MariaDB |xargs rpm -e --nodeps
rpm -qa | grep -i mysql |xargs rpm -e --nodeps
# 4.查找并删除MySQL相关的文件
whereis mysql
find / -name mysql
rm -rf xxxx

2 安装MySQL的步

存在依赖顺序

yum -y install numactl
rpm -ivh mysql-community-common-8.0.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.18-1.el7.x86_64.rpm

安装完成后别启动 !别启动 !别启动 !
先配置/etc/my.cnf设置表名大小写不敏感

# 在[mysqld]组下添加如下配置
lower_case_table_names=1

mysql服务相关操作

# 启动mysql服务
systemctl start mysqld.service
# 停止mysql服务
systemctl stop mysqld.service
# 重启mysql服务
systemctl restart mysqld.service
# 查看mysql服务当前状态
systemctl status mysqld.service
# 设置mysql服务开机自启动
systemctl enable mysqld.service
# 停止mysql服务开机自启动
systemctl disable mysqld.service

#查看默认生成的密码
cat /var/log/mysqld.log | grep password

使用默认密码登录

mysql -hlocalhost -p'aHTf>Vvk4zeo'
mysql> ALTER USER root@localhost IDENTIFIED  BY 'root';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

mysql> SHOW VARIABLES LIKE 'validate_password%'; 
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

mysql> ALTER USER root@localhost IDENTIFIED  BY 'Csdn@123456';

mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password.check_user_name    | ON     |
| validate_password.dictionary_file    |        |
| validate_password.length             | 8      |
| validate_password.mixed_case_count   | 1      |
| validate_password.number_count       | 1      |
| validate_password.policy             | MEDIUM |
| validate_password.special_char_count | 1      |
+--------------------------------------+--------+
7 rows in set (0.02 sec)
mysql> set global validate_password.policy=LOW; 

mysql> set global validate_password.length=4;

mysql> ALTER USER root@localhost IDENTIFIED  BY 'root';

关于 mysql 密码策略相关参数;
1)validate_password.length 固定密码的总长度;
2)validate_password.dictionary_file 指定密码验证的文件路径;
3)validate_password_mixed_case_count 整个密码中至少要包含大/小写字母的总个数;
4)validate_password_number_count 整个密码中至少要包含阿拉伯数字的个数;
5)validate_password_policy 指定密码的强度验证等级,默认为 MEDIUM;
关于 validate_password_policy 的取值:
0/LOW:只验证长度;
1/MEDIUM:验证长度、数字、大小写、特殊字符;
2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;
6)validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;

设置远程登录数据库

-- 切换数据库
use mysql;
-- 查看user表中的用户
select host,user,authentication_string from user;
-- 授权root远程登录
update user set host='%' where user ='root';



-- 授权root远程登录
GRANT ALL PRIVILEGES 
ON *.* 
TO 'root'@'%' 
IDENTIFIED BY 'Csdn@123456' 
WITH GRANT OPTION;
-- 刷新权限
flush privileges;  

已启动的mysql表名大小写敏感的问题:

1、停止MySQL
2、删除数据目录,即删除 /var/lib/mysql 目录
rm -rf /var/lib/mysql
3、在MySQL配置文件( /etc/my.cnf )中添加
lower_case_table_names=1
4、启动 MySQL

3 重新初始化mysql的两种方式

1.重新安装mysql,简单粗暴。
2.通过命令清空数据库,重新初始化mysql服务。

-- 停止mysql服务
net stop mysql;

-- 删除mysql服务
mysqld remove;

-- 删除mysql安装目录下的data文件夹,可以通过命令查找mysql的数据库目录
select @@datadir;

-- 初始化mysql,重新初始化mysql之后,将重新生成data目录
mysqld --initialize;

-- 初始化时,也可以通过增加insecure参数来生成空密码。
mysqld --initialize-insecure;

3.输入安装命令mysqld install
sc query mysql,查看一下名为mysql的服务:
5.命令sc delete mysql,删除该mysql

4 selinux开启的情况下改mysql的数据目录

# 1> 关闭msyqld服务
service mysqld stop

# 2> 准备新的存放地点(/opt/mysql/data)
# 2.1> 新建文件夹
mkdir -p  /opt/mysql/data
# 2.2> 修改权限
chmod  755 /opt/mysql/data
# 2.3> 复制以前的mysql库数据
cp -r /var/lib/mysql/* /opt/mysql/data
# 2.4> 更改文件夹的所有者
chown -R mysql:mysql /opt/mysql/data

# 3> 修改mysql对应的selinux相关配置
semanage fcontext -a -t mysqld_db_t "/opt/mysql/data(/.*)?"
restorecon -R -v /opt/mysql/data

# 4> 修改mysql数据存储位置
vi /etc/my.cnf
datadir=/opt/mysql/data
# 5> 启动msyqld服务
service mysqld start

5 libaio依赖处理

[michael@hadoop104 software]$ sudo rpm -ivh mysql-community-server-8.0.21-1.el7.x86_64.rpm 
warning: mysql-community-server-8.0.21-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
	libaio.so.1()(64bit) is needed by mysql-community-server-8.0.21-1.el7.x86_64
	libaio.so.1(LIBAIO_0.1)(64bit) is needed by mysql-community-server-8.0.21-1.el7.x86_64
	libaio.so.1(LIBAIO_0.4)(64bit) is needed by mysql-community-server-8.0.21-1.el7.x86_64

[michael@hadoop104 software]$ sudo yum install libaio -y

关于“no space left on device”(磁盘空间不足)问题

1.首先介绍两个命令
df -h查看磁盘使用情况
df -i 查看inode使用情况
2.block满了
通常解决方法是删除大文件,不要直接删除,先确认数据是否重要,否则就掉坑里了。

[root@linuxidc ~]# cd /app/logs/
[root@linuxidc logs]# ls -lh /bin/ls
-rwxr-xr-x. 1 root root 107K Mar 23 02:52 /bin/ls
[root@linuxidc logs]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sdc 73K 14K 55K 21% /app/logs
[root@linuxidc logs]# cp /bin/ls .
cp: writing `./ls’: No space left on device
[root@linuxidc logs]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sdc 73K 70K 0 100% /app/logs
[root@linuxidc logs]#

3.inode用光了
出现这种情况,是小文件占用较多的inode,创建文件或目录占用一个inode,通常这些小文件是定时任务引起的,删除需慎重。

[root@linuxidclogs]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sdc 73K 14K 55K 21% /app/logs
[root@linuxidc logs]# df -i
Filesystem Inodes IUsed IFree IUse% Mountedon
/dev/sdc 16 11 5 69% /app/logs
[root@linuxidc logs]# touch a{1…6}txt
touch: cannot touch `a6txt’: No space left ondevice
[root@linuxidc logs]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sdc 73K 14K 55K 21% /app/logs
[root@linuxidc logs]# df -i
Filesystem Inodes IUsed IFree IUse% Mountedon
/dev/sdc 16 16 0 100% /app/logs
[root@linuxidc logs]#


1.问题描述
no space left on device(磁盘空间不足)
2.文件删除原理
(1)硬链接数为0(所有硬链接均被删除)
(2)进程调用数为0(没有进程在调度文件)
3.原因分析
硬链接数为0,进程调度数不为0
4.过程演示
(1)创建大文件

[root@linuxidc ~]# seq 500000000 > /var/log/messages
(2)查看磁盘使用情况

[root@linuxidc ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 6.1G 12G 35% /

(3)删除日志文件/var/log/messages
[root@linuxidc ~]# rm -rf /var/log/messages
(4)查看空间是否被释放

[root@linuxidc ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 6.1G 12G 35% /

(5)查看文件还被哪些进程调用

[root@linuxidc ~]# lsof | grep delete
rsyslogd 2839 root 1w REG 8,3 4888888898 393106 /var/log/messages (deleted)

(6)重启对应的服务

[root@linuxidc ~]# /etc/init.d/rsyslog restart
Shutting down system logger: [ OK ]
Starting system logger: [ OK ]

(7)检查磁盘使用情况

[root@linuxidc ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 1.5G 17G 9% /

猜你喜欢

转载自blog.csdn.net/Michael_lcf/article/details/103414197#comments_25412725