yum安装MySQL以及其他操作
yum 安装MySQL
1、使用wget下载MySQLyum源
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
2、添加MySQLyum源
[root@bogon ~]# sudo yum localinstall mysql80-community-release-el7-3.noarch.rpm -y
4、安装yum工具yum-utils:
sudo yum install -y yum-utils
5、关闭MySQL8.0源
sudo yum-config-manager --disable mysql80-community
6、开启MySQL5.7
sudo yum-config-manager --enable mysql57-community
7、查看当前启用的MySQL版本
yum repolist enabled | grep mysql
- 安装MySQL
# yum -y install mysql-community-server
错误信息:
解决方法:
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
启动MySQL服务
# 启动 systemctl start mysqld
# 查看状态 systemctl status mysqld
- 改密码
# 获取原始默认密码: grep ‘temporary password’ /var/log/mysqld.log
用查找到密码登录MySQL数据库
- 登录:
mysql -uroot -p
改密码
ALTER USER ‘root’@’localhost’IDENTIFIED BY ‘MyNewPass4!’;
- 创建远程访问用户
建用户
create user 'root'@'%' identified with mysql_native_password by '你的密码';
赋权限
grant all privileges on *.* to 'root'@'%' with grant option;
刷新用户权限
flush privileges;
- 开启防火墙3306端口
开启3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
重新载入
firewall-cmd --reload
- 配置MySQL默认编码utf-8
使用vim修改my.cnf文件
vim /etc/my.cnf
添加如下配置
character_set_server=utf8
init_connect='SET NAMES utf8'
#
改完之后。保存退出,重启服务
systemctl restart mysqld
重启完之后检查一下,字符集是否都变成utf-8
先登陆MySQL,在执行
show variables lile ‘%character%’;
开启远程连接
root 用户名
% 所有人都可以访问
password 密码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1' IDENTIFIED BY 'MyPass4!' WITH GRANT OPTION;
Query OK, 0 rows affected, 1 warning (0.00 sec)
FLUSH PRIVILEGES;
重启服务:
Systemctl restart mysqld
mysql> show variables like 'log_error'; ss
忘记密码跳过密码验证
在配置文件[root@localhost ~]# vim /etc/my.cnf
[mysqld]
skip-grant-tables
skip-networking
重启MySQL服务
Systemctl restart mysqld
然后在命令行界面输入MySQL 回车即可
更改密码
mysql> update mysql.user set authentication_string=PASSWORD('Admin!') where user='root' and host='localhost';
Query OK, 1 row affected, 1 warning (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 1
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql>
重启服务:systemctl restart mysqld
MySQL查看连接数(连接总数,活跃数,最大并发数)
show variables like ‘%max_connection%’; #查看最大连接数
set global max_connection=1000; #重新设置最大连接数
Mysql> show status like ‘Threads%’;
show status like ‘Threads%’;
Threads_connected :这个数值指的是打开的连接数.
Threads_running :这个数值指的是激活的连接数,这个数值一般远低于connected数值.
Threads_connected 跟show processlist结果相同,表示当前连接数。准确的来说,Threads_running是代表当前并发数
查询数据库当前设置的最大连接数
show status like ‘Threads%’;
查询数据库当前设置的最大连接数
mysql> show variables like '%max_connection%';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 1000 |
+-----------------+-------+
1 row in set (0.00 sec)
在/etc/my.cnf里边设置数据库最大连接数
[mysqld]
max_connections = 1000
通过查看Threads_created就可以查看MySQl服务器的进程状态
mysql> show global status like 'Thread%';
+-------------------+-------+
| Variable_name | Value |
+-------------------+-------+
| Threads_cached | 2 |
| Threads_connected | 22 |
| Threads_created | 24 |
| Threads_running | 1 |
+-------------------+-------+
4 rows in set (0.00 sec)
查询服务器thread_cache_size的值
mysql> show variables like 'thread_cache_size';
+-------------------+-------+
| Variable_name | Value |
+-------------------+-------+
| thread_cache_size | 9 |
+-------------------+-------+
1 row in set (0.00 sec)
mysql>
命令:show processlist;
如果是root帐号,你能看到所有用户的当前连接。如果是其它普通帐号,只能看到自己占用的连接。
show processlist命令只列出前100条,如果想全列出请使用show full processlist;
mysql> show processlist;
命令:show status;
mysql>show status like '%变量名%';
变量名如下:
Aborted_clients 由于客户没有正确关闭连接已经死掉,已经放弃的连接数量。
Aborted_connects 尝试已经失败的MySQL服务器的连接的次数。
Connections 试图连接MySQL服务器的次数。
Created_tmp_tables 当执行语句时,已经被创造了的隐含临时表的数量。
Delayed_insert_threads 正在使用的延迟插入处理器线程的数量。
Delayed_writes 用INSERT DELAYED写入的行数。
Delayed_errors 用INSERT DELAYED写入的发生某些错误(可能重复键值)的行数。
Flush_commands 执行FLUSH命令的次数。
Handler_delete 请求从一张表中删除行的次数。
Handler_read_first 请求读入表中第一行的次数。
Handler_read_key 请求数字基于键读行。
Handler_read_next 请求读入基于一个键的一行的次数。
Handler_read_rnd 请求读入基于一个固定位置的一行的次数。
Handler_update 请求更新表中一行的次数。
Handler_write 请求向表中插入一行的次数。
Key_blocks_used 用于关键字缓存的块的数量。
Key_read_requests 请求从缓存读入一个键值的次数。
Key_reads 从磁盘物理读入一个键值的次数。
Key_write_requests 请求将一个关键字块写入缓存次数。
Key_writes 将一个键值块物理写入磁盘的次数。
Max_used_connections 同时使用的连接的最大数目。
Not_flushed_key_blocks 在键缓存中已经改变但是还没被清空到磁盘上的键块。
Not_flushed_delayed_rows 在INSERT DELAY队列中等待写入的行的数量。
Open_tables 打开表的数量。
Open_files 打开文件的数量。
Open_streams 打开流的数量(主要用于日志记载)
Opened_tables 已经打开的表的数量。
Questions 发往服务器的查询的数量。
Slow_queries 要花超过long_query_time时间的查询数量。
Threads_connected 当前打开的连接的数量。
Threads_running 不在睡眠的线程数量。
Uptime 服务器工作了多长时间,单位秒。
参考链接:https://blog.csdn.net/qq_38907313/article/details/123574181