CentOS_8 安装MySQL5.7
1、在安装之前,如果你的系统曾经安装过Mariadb,请先卸载:
yum remove mariadb*
2、安装依赖 yum install -y epel-release yum update -y yum install -y cmake gcc-c++ ncurses-devel perl-Data-Dumper boost-doc boost-devel libaio-devel
3、下载解压MySQL源码包 cd /opt/ wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz tar -zxf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz mv mysql-5.7.20-linux-glibc2.12-x86_64 mysql
4、配置环境变量[root@cs opt]# vim /etc/profile
#添加如下内容
export PATH=/opt/mysql/bin:$PATH
#然后source生效
[root@cs opt]# source /etc/profile
5、添加用户并授权相关
useradd mysql
id mysql mkdir /data/mysql -p chown -R mysql:mysql /opt/mysql/* chown -R mysql:mysql /data/*
其中:
-
/opt/mysql/
是MySQL软件所在目录。 -
/data/mysql
是将来存放MySQL数据的目录。
6、初始化数据库
mysqld --initialize-insecure --user=mysql --basedir=/opt/mysql --datadir=/data/mysql
上述参数,并不难理解:
-
--initialize-insecure
,表示不安全的初始化。这个参数来自于--initialize
参数,在MySQL5.7版本中,在初始化成功后,会生成一个临时密码,相对比较麻烦,所以这里改为--initialize-insecure
,初始化成功后,密码为空。 -
--user=mysql
,管理MySQL的用户是mysql
。 -
--basedir=/opt/mysql
,是你MySQL的安装目录。 -
--datadir=/data/mysql
,是管理数据的目录。
7、在初始化完成后,你的MySQL的数据目录,应该有这些文件:
[root@localhost mysql]# ll /data/mysql/
总用量 122948
-rw-r-----. 1 mysql mysql 56 8月 24 16:30 auto.cnf
-rw-r-----. 1 mysql mysql 305 8月 24 17:00 ib_buffer_pool
-rw-r-----. 1 mysql mysql 12582912 8月 24 17:00 ibdata1
-rw-r-----. 1 mysql mysql 50331648 8月 24 17:00 ib_logfile0
-rw-r-----. 1 mysql mysql 50331648 8月 24 16:30 ib_logfile1
-rw-r-----. 1 mysql mysql 12582912 8月 24 17:00 ibtmp1
-rw-r-----. 1 mysql mysql 27486 8月 24 17:00 localhost.localdomain.err
-rw-r-----. 1 mysql mysql 6 8月 24 17:00 localhost.localdomain.pid
drwxr-x---. 2 mysql mysql 4096 8月 24 16:30 mysql
drwxr-x---. 2 mysql mysql 8192 8月 24 16:30 performance_schema
drwxr-x---. 2 mysql mysql 8192 8月 24 16:30 sys
[root@localhost mysql]#
7、配置文件
vim /etc/my.cnf
[mysqld]
user=mysql
basedir=/opt/mysql
datadir=/data/mysql
server_id=6
port=3306
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock
prompt=3306 [\\d]>
8、管理MySQL_etc/init.d cp /opt/mysql/support-files/mysql.server /etc/init.d/mysqld
9、启动、重启命令 service mysqld start service mysqld restart
10、如果设置密码不成功,可绕过密码登录,重新设置 /etc/init.d/mysqld stop mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
update mysql.user set authentication_string=PASSWORD("123456") where user=‘root‘and host=‘localhost‘;
flush privileges;
/etc/init.d/mysqld restart mysql -uroot -p
成功!!
centos8 安装mysql5.7 后,mysql命令登录不成功,
报错:mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory。
按照百度的方法都不成功,应该和系统版本有关,后来自己想到一个方法:yum install libncurses*,完美解决问题。