目录
在CentOS中默认安装有MariaDB,是MySQL的一个分支,主要由开源社区维护。
CentOS 7及以上版本已经不再使用MySQL数据库,而是使用MariaDB数据库。
如果直接安装MySQL,会和MariaDB的文件冲突。
因此,需要先卸载自带的MariaDB,再安装MySQL。
1.1 查看是否存在MariaDB文件
[root@localhost ~]# rpm -qa|grep mariadb
1.2 卸载
[root@localhost ~]# rpm -e --nodeps 文件名
1.3 检查是否卸载干净
[root@localhost ~]# rpm -qa|grep mariadb
下载资源包:下载地址:MySQL :: Download MySQL Installer (Archived Versions)
选择自己需要的版本下载
用Xftp 7工具直接拖拽
在Xftp 7里面创建install,直接把MySQL拖到install里面
然后就可以到Xshell里面查看
[root@localhost install]# tar -Jxvf 文件名 -C ../soft/ ---- 解压
[root@localhost soft]# mv mysql-8.0.30-linux-glibc2.12-x86_64/ mysql8 --- 重命名
5.1创建数据目录
[root@localhost mysql8]# mkdir -p /opt/soft/mysql8/datas
5.2创建用户组
[root@localhost mysql8]# groupadd mysql
5.3创建用户
[root@localhost mysql8]# useradd -r -g mysql mysql --- 创建用户指定用户组
5.4更改属主和数组
[root@localhost mysql8]# chown -R mysql:mysql /opt/soft/mysql8/datas
5.5更改权限
[root@localhost mysql8]# chmod -R 770 /opt/soft/mysql8/datas
添加PATH变量后,可在全局使用MySQL。
[root@localhost mysql8]# vim /etc/profile
vim可能需要安装(yum -y install vim)
在最后面加上变量的命令
#Mysql export PATH=$PATH:/opt/soft/mysql8/bin
执行命令使其生效
[root@localhost mysql8]# source /etc/profile
在/data/software/mysql8/
下,创建my.cnf
配置文件,用于初始化MySQL数据库
[root@localhost mysql8]# vim my.cnf
[mysql]# 默认字符集default-character-set=utf8mb4[client]port = 3306socket = /tmp/mysql.sock[mysqld]port = 3306server-id = 3306user = mysqlsocket = /tmp/mysql.sock# 安装目录basedir = /opt/soft/mysql8# 数据存放目录datadir = /opt/soft/mysql8/datas/mysqllog-bin = /opt/soft/mysql8/datas/mysql/mysql-bininnodb_data_home_dir =/opt/soft/mysql8/datas/mysqlinnodb_log_group_home_dir =/opt/soft/mysql8/datas/mysql#日志及进程数据的存放目录log-error =/opt/soft/mysql8/datas/mysql/mysql.logpid-file =/opt/soft/mysql8/datas/mysql/mysql.pid# 服务端使用的字符集默认为8比特编码character-set-server=utf8mb4lower_case_table_names=1autocommit =1 ##################以上要修改的########################skip-external-lockingkey_buffer_size = 256Mmax_allowed_packet = 1Mtable_open_cache = 1024sort_buffer_size = 4Mnet_buffer_length = 8Kread_buffer_size = 4Mread_rnd_buffer_size = 512Kmyisam_sort_buffer_size = 64Mthread_cache_size = 128 #query_cache_size = 128Mtmp_table_size = 128Mexplicit_defaults_for_timestamp = truemax_connections = 500max_connect_errors = 100open_files_limit = 65535 binlog_format=mixed binlog_expire_logs_seconds =864000 # 创建新表时将使用的默认存储引擎default_storage_engine = InnoDBinnodb_data_file_path = ibdata1:10M:autoextendinnodb_buffer_pool_size = 1024Minnodb_log_file_size = 256Minnodb_log_buffer_size = 8Minnodb_flush_log_at_trx_commit = 1innodb_lock_wait_timeout = 50transaction-isolation=READ-COMMITTED [mysqldump]quickmax_allowed_packet = 16M [myisamchk]key_buffer_size = 256Msort_buffer_size = 4Mread_buffer = 2Mwrite_buffer = 2M [mysqlhotcopy]interactive-timeout
7.1初始化
[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
[root@localhost mysql8]# mysqld_safe --defaults-file=/opt/soft/mysql8/my.cnf &
[root@localhost tmp]# mysqladmin -uroot -proot shutdown
[root@localhost tmp]# ps -ef | grep mysql
如果是这样则为启动成功
[root@localhost mysql8]# mysql -uroot --skip-password
看见下面有mysql>则为登录成功
[root@localhost mysql8]# mysql -uroot -p
mysql> alter user 'root'@'localhost' identified with mysql_native_password by '123456';
mysql> update user set user.Host='%' where user.User='root';
在SQLyog上面测试远程登录情况,出现下面界面则为设置成功
来源地址:https://blog.csdn.net/qq_57151931/article/details/128103095