虚拟机安装mysql(学习)
一、配置网络
关闭防火墙
关闭防火墙(重启虚拟机后失效)
systemctl stop firewalld
禁用防火墙(永久禁用防火箱)
systemctl disable firewalld
配置网卡(网卡配置文件路径)
cd /etc/sysconfig/network-scripts/ifcfg-ens3
ip地址网关等可以在vm里 编辑—>虚拟网络编辑器---->找到对应虚拟机的DHCP设置查看
重启网卡
systemctl restart network.service
ip addr 查看当前ip地址
一、卸载mariadb
在CentOS中默认安装有MariaDB
CentOS 7及以上版本已经不再使用MySQL数据库,而是使用MariaDB数据库。
如果直接安装MySQL,会和MariaDB的文件冲突。
因此,需要先卸载自带的MariaDB,再安装MySQL。
1.1查找mariadb
1.2卸载mariadb
如果有就删除
rpm -e --nodeps 加上上一条命令找到的内容
删除完成
二、获取安装包并解压
2.1官网下载mysql资源包
下载地址:https://dev.mysql.com/downloads/mysql/
2.2Xftp
使用xftp创建在opt目录下创建install和soft目录
将安装包复制到install目录下
2.3解压并重命名
查看是否存在
解压资源包到soft目录
tar -zxvf mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz -C ../soft/
重命名
mv mysql-8.0.30-linux-glibc2.12-x86_64/ mysql8
2.4添加PATH变量
vim /etc/profile
export PATH=$PATH:/opt/soft/mysql8/bin
刷新配置文件
source /etc/profile
在根目录能用my加tab补全即配置成功
三、数据目录、用户、用户组
3.1创建数据目录
mkdir -p /opt/soft/mysql8/datas
3.2创建用户组和用户
groupadd mysql
useradd -r -p mysql mysql
3.3更改属主属组,更改权限
chown -R mysql:mysql /opt/soft/mysql8/datas
chmod -R 770 /opt/soft/mysql8/datas
四、初始化mysql
4.1配置参数
用vim在mysql8下创建my.cnf并修改
vim my.cnf
[mysql]
# 默认字符集
default-character-set=utf8mb4
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
port = 3306
server-id = 3306
user = mysql
socket = /tmp/mysql.sock
# 安装目录
basedir = /opt/soft/mysql8
# 数据存放目录
datadir = /opt/soft/mysql8/datas/mysql
log-bin = /opt/soft/mysql8/datas/mysql/mysql-bin
innodb_data_home_dir =/opt/soft/mysql8/datas/mysql
innodb_log_group_home_dir =/opt/soft/mysql8/datas/mysql
#日志及进程数据的存放目录
log-error =/opt/soft/mysql8/datas/mysql/mysql.log
pid-file =/opt/soft/mysql8/datas/mysql/mysql.pid
# 服务端使用的字符集默认为8比特编码
character-set-server=utf8mb4
lower_case_table_names=1
autocommit =1
##################以上要修改的########################
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 1024
sort_buffer_size = 4M
net_buffer_length = 8K
read_buffer_size = 4M
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 64M
thread_cache_size = 128
#query_cache_size = 128M
tmp_table_size = 128M
explicit_defaults_for_timestamp = true
max_connections = 500
max_connect_errors = 100
open_files_limit = 65535
binlog_format=mixed
binlog_expire_logs_seconds =864000
# 创建新表时将使用的默认存储引擎
default_storage_engine = InnoDB
innodb_data_file_path = ibdata1:10M:autoextend
innodb_buffer_pool_size = 1024M
innodb_log_file_size = 256M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
transaction-isolation=READ-COMMITTED
[mysqldump]
quick
max_allowed_packet = 16M
[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 4M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
4.2初始化mysql
mysqld --defaults-file=/opt/soft/mysql8/my.cnf --basedir=/opt/soft/mysql8/ --datadir=/opt/soft/mysql8/datas/mysql --user=mysql --initialize-insecure
五、启动mysql
5.1安全启动
mysqld_safe --defaults-file=/opt/soft/mysql8/my.cnf &
5.2查看是否启动
ps -ef|grep mysql
5.3登陆mysql
跳过密码验证登陆mysql
mysql -uroot --skip-password;
查看所有的数据库
show databases;
修改密码
alter user 'root'@'localhost' identified with mysql_native_password by 'root';
刷新
flush privileges;
退出mysql环境
quit;
登陆本地mysql服务
mysql -uroot -p
远程登陆mysql服务(mysql默认拒绝除本机的所有ip访问,需要开启远程访问权限)
mysql -uroot -h192.168.153.143 -p
开启远程访问(允许所有的ip访问mysql)
update user set user.Host='%' where user.User='root';
开启后刷新
flush privileges;
5.4测试连接
用SQLyog测试连接