注意设置系统防火墙或阿里云的安全组,否则外部无法访问。
安装MySQL
# 下载安装源
sudo rpm -ivh https://repo.mysql.com//mysql80-community-release-el8-1.noarch.rpm
# 查看可用MySQL版本
yum repolist enabled | grep "mysql.*-community.*"
# 禁用RHEL8 和 Oracle Linux 8 默认包含的MySQL 模块
sudo yum module disable mysql
# 安装
sudo yum install mysql-community-server
启动MySQL
# 1. 启动MySQL
systemctl start mysqld
# 2. 查看Mysql默认密码
grep "temporary password" /var/log/mysql/mysqld.log
或者
grep "temporary password" /var/log/mysqld.log
# 3. 使用临时密码登录,密码一定要加单引号,否则有些临时密码会直接报错
mysql -uroot -p'password' -P3306 -hlocalhost
# 4. 设置自己的密码
alter user root@localhost IDENTIFIED BY '新密码';
帐号配置
创建用户
CREATE USER 'jianghao'@'%' IDENTIFIED BY 'password';
# %:可以在任意IP访问。你也可以指定某个IP地址
登录
mysql -uusername -p'password'
配置权限
# 查看用户权限
select User, host from mysql.user;
GRANT ALL ON *.* TO 'jianghao'@'%';
# ALL :数据库所有的权限,也可以是select,insert,update,delete
# ON *.* TO:第一个*是代表所有数据库,第二个*代表数据库所有的表
# %:任意IP可以登录,也可以指定IP
# 刷新权限
FLUSH PRIVILEGES;
# 撤销权限
revoke all privileges on *.* from 'test1'@'localhost';
# 删除用户
drop user 'test1'@'localhost';
参数配置
注意要在进行设置的时候,如果权限被拒绝,在mysqld后面再加-uroot。
innodb_buffer_pool_size
查看
SELECT @@innodb_buffer_pool_size/1024/1024/1024;
设置
该命令支持离线和在线设置
shell > mysqld --innodb-buffer-pool-size=4G(推荐)文件配置 /etc/my.cnf
my.conf > innodb_buffer_pool_size=268435456一次性的,重启就失效
mysql > SET GLOBAL innodb_buffer_pool_size=135266304;
以字节单位来设置,这个内存区为InnoDB 缓存 table和索引使用,默认128MB。较大的缓存区可以在访问相同表时减少磁盘I/O。
在专属MySQL服务器上,可以设置为物理内存的80%,设置缓存区大小时,必须等于innodb_buffer_pool_chunk_size 或者乘以innodb_buffer_pool_instances 的倍数,则会自动调整。
innodb_buffer_pool_instances
查看
SELECT @@innodb_buffer_pool_instances;设置
mysqld --innodb-buffer-pool-size=4G --innodb-buffer-pool-instances=8
划分缓冲池的区域数,减少不同线程争用缓存池,提升并发。只有innodb_buffer_pool_size为1GB或更大时才生效 。
设置连接的最大数量
# 查询当前的连接最大数
show variables like '%max_connections%';
# 增加连接的数量
set persist max_connections=200;
卸载MySQL
# 1. 删除MySQL安装文件
yum remove mysql -y
# 2. 删除所有Mysql相关文件
find / -name mysql* |xargs rm -rf
# 3. 删除安装源的信息
rpm -qa|grep mysql
yum remove mysql_xxx