1.先删除soft下所有的目录
2.再查找mysql有没有残留
这边是还有残留的,再用rm继续删除
3.删除完跳转至下载目录,查看其目录下的安装包
4.再跳转至soft目录 ,查看MariaDB是否存在,存在将其删除。
在CentOS中默认安装有MariaDB,是MySQL的一个分支,主要由开源社区维护。
CentOS 7及以上版本已经不再使用MySQL数据库,而是使用MariaDB数据库。
如果直接安装MySQL,会和MariaDB的文件冲突。
因此,需要先卸载自带的MariaDB,再安装MySQL。
[root@localhost ~]# rpm -qa | grep mariadb
[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64
5.跳转至insatll目录,开始解压安装mysql安装包到soft目录下
[root@localhost install]# tar -Jxvf mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz -C ../soft/
随后出现加载信息:
6.将这个软件名改成mysql8
[root@localhost install] # cd ../soft
[root@localhost soft]# mv mysql-8.0.30-linux-glibc2.12-x86_64/ mysql8
7.网络联通的环境下可以安装一个vim
[root@localhost mysql8]# yum install -y vim
8.创建mysql组,再将mysql加入组
[root@localhost mysql8]# groupadd mysql
[root@localhost mysql8]# useradd -r -g mysql mysql
9.创建数据目录
[root@localhost mysql8]# mkdir -p /opt/soft/mysql8/datas
[root@localhost mysql8]# mkdir -p /opt/soft/mysql8/datas
[root@localhost mysql8]# chown -R mysql:mysql /opt/soft/mysql8/datas
[root@localhost mysql8]# chmod -R 770 /opt/soft/mysql8/datas
10.创建一个my.conf文件在MySQL8目录下,并且将下方文段复制到该文件中。
[root@localhost mysql8]# 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
11.更改配置
[root@localhost mysql8]# vim /etc/profile
在第75行及以下插入下面字段
75 #Mysql
76 export PATH=$PATH:/opt/soft/mysql8/bin
再重新运行配置
[root@localhost mysql8]# source /etc/profile
12.初始化
[root@localhost mysql8]# mysqld --defaults-file=/opt/soft/mysql8/my.cnf --basedir=/opt/soft/mysql8/ --datadir=/opt/soft/mysql8/datas/mysql --user=mysql --initialize-insecure
参数(重要)
defaults-file
:指定配置文件(要放在–initialize 前面)user
: 指定用户basedir
:指定安装目录datadir
:指定初始化数据目录intialize-insecure
:初始化无密码
13.启动mysql服务
[root@localhost mysql8]# mysqld_safe --defaults-file=/opt/soft/mysql8/my.cnf &
查看是否启动
跳过密码证
[root@localhost mysql8]# mysql -uroot --skip-password
mysql> show databases;
mysql> alter user 'root'@'localhost' identified with mysql_native_password by 'root';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
14.修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
# 刷新权限 FLUSH PRIVILEGES;
15.远程登录
登录本地mysql服务
[root@localhost mysql8]# mysql -uroot -p
远程登录mysql服务
[root@localhost mysql8]# mysql -uroot -h192.168.78.141 -p
开启远程访问
选择mysql中的mysql数据库
mysql> use mysql
mysql> show tables;
mysql> update user set user.Host='%' where user.User='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)